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
OG exemplary drawing
 
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.