| US 7,580,292 B2 | ||
| Method for programming a multilevel memory | ||
| Hsin-Yi Ho, Hsinchu (Taiwan); Nian-Kai Zous, Taoyuan (Taiwan); I-Jen Huang, Kaohsiung (Taiwan); and Yung-Feng Lin, Taoyuan (Taiwan) | ||
| Assigned to Macronix International Co., Ltd., Hsinchu (Taiwan) | ||
| Filed on Jun. 14, 2007, as Appl. No. 11/812,033. | ||
| Prior Publication US 2008/0310223 A1, Dec. 18, 2008 | ||
| Int. Cl. G11C 16/04 (2006.01) | ||
| U.S. Cl. 365—185.24 [365/185.03; 365/185.28] | 18 Claims |

| 1. A method for programming a multi-level cell (MLC) memory, the MLC memory comprising a plurality of bits, each bit having
a plurality of programmed states, each programmed state having a program verify (PV) level, the method comprising:
(a) programming the bits of the memory having a threshold voltage (Vt) level lower than the PV level of a targeted programmed
state into programmed bits by using a bit-line voltage BL, wherein BL is larger than 0;
(b) ending this method if each bit of the memory has a Vt level not lower than the PV level of the targeted programmed state,
otherwise, continuing the step (c); and
(c) setting BL=BL+K1, K1 being a fixed positive amount, and repeating the step (a) if each of the programmed bits has a Vt level lower than the PV
level, while setting BL=BL−K2, K2 being a fixed positive amount, and repeating the step (a) if at least one of the programmed bits has a Vt level not lower
than the PV level.
|