Multi-level ONO flash program algorithm for threshold width control
First Claim
1. A method of programming one or more memory bits on a wordline of a multi-level flash memory array, the memory bits having two or more program levels and a blank level, the levels comprising three or more data levels corresponding to three or more threshold voltages, the method comprising:
- providing one or more unprogrammed multi-level flash memory bits to be programmed;
performing a rough programming operation on the memory bits of the array until the threshold voltage of each of the memory bits generally corresponds to a rough threshold voltage that is an offset value less than a target threshold voltage; and
performing a fine programming operation on the memory bits of the array until the threshold voltage of each memory bit generally corresponds to the target threshold voltage.
9 Assignments
0 Petitions
Accused Products
Abstract
Methods of programming a wordline of multi-level flash memory cells (MLB) having three or more data levels per bit corresponding to three or more threshold voltages are provided. The present invention employs an interactive program algorithm that programs the bits of the wordline of memory cells in two programming phases, comprising a rough programming phase and a fine programming phase to achieve highly compact Vt distributions. In one example, cell bit-pairs that are to be programmed to the same program pattern are selected along a wordline. Groups of sample bits are chosen for each wordline to represent each possible program level. The sample bits are then programmed to determine a corresponding drain voltage at which each sample group is first programmed. This fast-bit drain voltage (Fvd) for each program level essentially provides a wordline specific program characterization of the Vt required for the remaining bits of that wordline. In the rough programming phase, the bits of core cells are then programmed from a starting point that is relative to (e.g., slightly less than or equal to) the fast-bit Vd and according to a predetermined Vd and Vg profile of programming pulses. The bits of the complementary bit-pairs are alternately programmed in this way until the Vt of the bits attains a rough. Vt level, which is offset lower than the final target threshold voltage level. Then in the second fine programming phase, the bits of the MLB cells of the wordline are further programmed with another predetermined Vd and Vg profile of programming pulses until the final target threshold voltage is achieved. The Vd and Vg profiles of programming pulses may further be tailored to accommodate the various bit-pair program pattern combinations possible. In this way, the bits of each wordline are fine-tune programmed to a data state to achieve a more precise Vt distribution, while compensating for the effects of complementary bit disturb.
-
Citations
55 Claims
-
1. A method of programming one or more memory bits on a wordline of a multi-level flash memory array, the memory bits having two or more program levels and a blank level, the levels comprising three or more data levels corresponding to three or more threshold voltages, the method comprising:
-
providing one or more unprogrammed multi-level flash memory bits to be programmed;
performing a rough programming operation on the memory bits of the array until the threshold voltage of each of the memory bits generally corresponds to a rough threshold voltage that is an offset value less than a target threshold voltage; and
performing a fine programming operation on the memory bits of the array until the threshold voltage of each memory bit generally corresponds to the target threshold voltage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method of programming one or more bits of memory cell bit-pairs on a wordline of a multi-level flash memory array, the bits of the memory cells having two or more program levels and a blank level, the levels comprising three or more data levels corresponding to three or more threshold voltages, the method comprising:
-
providing one or more unprogrammed multi-level flash memory bits selected to be programmed to the same program pattern;
generating a dynamic fast-bit drain voltage for each of the program levels on the wordline;
performing a rough programming operation on the bits of the array based on one of the fast-bit drain voltages and the cell program pattern until the threshold voltage of each bit of the memory cells generally corresponds to a rough threshold voltage that is an offset value less than a target threshold voltage; and
performing a fine programming operation on the memory bits of the array until the threshold voltage of each bit generally corresponds to the target threshold voltage. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
Specification