PROGRAMMING MULTILEVEL CELL MEMORY ARRAYS
First Claim
1. A method of programming a memory device having an array of one or more multilevel memory cells each configured to store 2N data states each corresponding to a pattern of N bits, each data state assigned a non-overlapping threshold voltage range, where N is an integer value equal to or greater than 2, the method comprising:
- shifting the threshold voltages of the one or more multilevel memory cells to an initial threshold voltage range;
if N is greater than 2, for i=1 to N−
2, shifting a memory cell'"'"'s threshold voltage (Vt) by 2N−
i threshold voltage ranges if it is desired to change the ith bit of the pattern of N bits, wherein i is an integer value;
subsequently shifting the memory cell'"'"'s Vt by one threshold voltage range if it is desired to change a next to last bit of the pattern of N bits; and
subsequently shifting the memory cell'"'"'s Vt by two threshold voltage ranges if it is desired to change a last bit of the pattern of N bits.
7 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, such as those for programming of multilevel cell NAND memory arrays to facilitate a reduction of program disturb, are disclosed. In one such method, memory cells are shifted from a first Vt distribution to a second Vt distribution higher than the first Vt distribution during a first portion of a programming operation if a second or a fourth data state is desired, while memory cells remain in the first Vt distribution if the first or a third data state is desired. During a second portion of the programming operating, if the third data state is desired, those memory cells are shifted from the first Vt distribution to a third Vt distribution higher than the second Vt distribution and, if the fourth data state is desired, those memory cells are shifted from the second Vt distribution to a fourth Vt distribution higher than the third Vt distribution.
-
Citations
25 Claims
-
1. A method of programming a memory device having an array of one or more multilevel memory cells each configured to store 2N data states each corresponding to a pattern of N bits, each data state assigned a non-overlapping threshold voltage range, where N is an integer value equal to or greater than 2, the method comprising:
-
shifting the threshold voltages of the one or more multilevel memory cells to an initial threshold voltage range; if N is greater than 2, for i=1 to N−
2, shifting a memory cell'"'"'s threshold voltage (Vt) by 2N−
i threshold voltage ranges if it is desired to change the ith bit of the pattern of N bits, wherein i is an integer value;subsequently shifting the memory cell'"'"'s Vt by one threshold voltage range if it is desired to change a next to last bit of the pattern of N bits; and subsequently shifting the memory cell'"'"'s Vt by two threshold voltage ranges if it is desired to change a last bit of the pattern of N bits. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for programming a memory cell, comprising:
-
if it is desired to alter a first page of a data value of the memory cell, shifting the memory cell from a first data state to a second data state; and if it is desired to alter a second page of the data value of the memory cell, shifting the memory cell to a third data state if the memory cell is in the first data state and shifting the memory cell to a fourth data state if the memory cell is in the second data state; wherein the first, second, third and fourth data states correspond to increasing and non-overlapping ranges of threshold voltages for the memory cell. - View Dependent Claims (11, 12)
-
-
13. A memory device, comprising:
-
an array of one or more multilevel memory cells each configured to store 2N data states, each data state assigned a non-overlapping threshold voltage range, where N is an integer value equal to or greater than 2; and control circuitry, wherein the control circuitry, during programming of a memory cell, is configured to; shift the threshold voltages of the one or more multilevel memory cells to an initial threshold voltage range; if N is greater than 2, for i=1 to N−
2, shift a memory cell'"'"'s threshold voltage (Vt) by 2N−
i threshold voltage ranges if it is desired to change the ith bit of the pattern of N bits, wherein i is an integer value;subsequently shift the memory cell'"'"'s Vt by one threshold voltage range if it is desired to change a next to last bit of the pattern of N bits; and subsequently shift the memory cell'"'"'s Vt by two threshold voltage ranges if it is desired to change a last bit of the pattern of N bits. - View Dependent Claims (14, 15)
-
-
16. A memory device, comprising:
-
an array of memory cells logically arranged in rows and in columns; and control circuitry, wherein the control circuitry is configured to; shift a memory cell from a first data state to a second data state if it is desired to alter a first digit of a data value of the memory cell; and shift the memory cell to a third data state if the memory cell is in the first data state and shift the memory cell to a fourth data state if the memory cell is in the second data state, if it is desired to alter a second digit of the data value of the memory cell; wherein each data state is represented by a range of threshold voltages for each memory cell of the array of the memory cells; and wherein the first, second, third and fourth data states correspond to increasing and non-overlapping ranges of threshold voltages for each memory cell. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification