Mulitple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same
First Claim
1. A multiple-bit per cell (MBC) non-volatile memory apparatus comprising:
- a memory array including an electrically erasable block;
the block including a reprogrammable page;
the reprogrammable page comprising an upper and a lower page sharing a common word-line;
the upper and lower pages including respective upper and lower data fields;
the upper and lower data fields including respective virtual upper and lower cells of MBC memory cells;
the MBC memory cells having respective threshold voltages programmable to a selected one of first level, second level, third level, or fourth level in order from the lowest voltage level,wherein programming the lower cells comprises programming the respective threshold voltages from the first threshold voltage level to the second threshold voltage level, andprogramming upper cells comprises programming the respective threshold voltages from the first threshold voltage level to the fourth threshold voltage level or from the second threshold voltage level to the third threshold voltage level; and
a controller for writing data to the memory array, wherein the controller controls polarity by selectively inverting a data word to maximize a number of bits within a lower page to be programmed and selectively inverting a data to minimize a number of bits to be programmed in the respective upper page.
11 Assignments
0 Petitions
Accused Products
Abstract
A Multiple-bit per Cell (MBC) non-volatile memory apparatus, method, and system wherein a controller for writing/reading data to/from a memory array controls polarity of data by selectively inverting data words to maximize a number of bits to be programmed within (M−1) virtual pages and selectively inverts data words to minimize a number of bits to be programmed in an Mth virtual page where M is the number of bits per cell. A corresponding polarity control flag is set when a data word is inverted. Data is selectively inverted according the corresponding polarity flag when being read from the M virtual pages. A number of the highest threshold voltage programming states in reduced. This provides tighter distribution of programmed cell threshold voltage, reduced power consumption, reduced programming time, and enhanced device reliability.
-
Citations
42 Claims
-
1. A multiple-bit per cell (MBC) non-volatile memory apparatus comprising:
-
a memory array including an electrically erasable block; the block including a reprogrammable page; the reprogrammable page comprising an upper and a lower page sharing a common word-line; the upper and lower pages including respective upper and lower data fields; the upper and lower data fields including respective virtual upper and lower cells of MBC memory cells; the MBC memory cells having respective threshold voltages programmable to a selected one of first level, second level, third level, or fourth level in order from the lowest voltage level, wherein programming the lower cells comprises programming the respective threshold voltages from the first threshold voltage level to the second threshold voltage level, and programming upper cells comprises programming the respective threshold voltages from the first threshold voltage level to the fourth threshold voltage level or from the second threshold voltage level to the third threshold voltage level; and a controller for writing data to the memory array, wherein the controller controls polarity by selectively inverting a data word to maximize a number of bits within a lower page to be programmed and selectively inverting a data to minimize a number of bits to be programmed in the respective upper page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-volatile memory (NVM) system comprising:
-
a multiple-bit per cell (MBC) non-volatile memory apparatus including; a memory array including an electrically erasable block; the blocks including a reprogrammable page; the reprogrammable page comprising upper and lower pages sharing common word-lines; the upper and lower pages including respective upper and lower data fields; the upper and lower data fields including respective virtual upper and lower cells of MBC memory cells; the MBC memory cells having respective threshold voltages programmable to a selected one of first level, second level, third level, or fourth level in order from the lowest voltage level, wherein programming the lower cells comprises programming the respective threshold voltages from the first threshold voltage level to the second threshold voltage level, and programming upper cells comprises programming the respective threshold voltages from the first threshold voltage level to the fourth threshold voltage level or from the second threshold voltage level to the third threshold voltage level; and a controller for writing data to the memory array, wherein the controller controls polarity by selectively inverting data to maximize a number of the bits within a lower page to be programmed and selectively inverting data to minimize a number of bits to be programmed in the respective upper page. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method of programming a lower page and an upper page in a multi-bit per cell (MBC) non-volatile memory, the method comprising steps of:
-
counting a number of bits having a ‘
0’
in a lower data word;inverting all of the bits in the lower data word if the number of ‘
0’
bits is less than half of a total number of bits in the lower data word;programming the lower page with the lower data word; counting a number of bits having a ‘
0’
in an upper data word;inverting all of the bits in the upper data word if the number of ‘
0’
bits is greater than half of a total number of bits in the upper data word; andprogramming the upper page with the upper data word. - View Dependent Claims (27, 28, 29, 30)
-
-
31. A method of reading data in a multi-bit per cell (MBC) non-volatile memory, the method comprising steps of:
-
sensing threshold voltages of MBC cells within a page; providing an upper data word by comparing the threshold voltages to a predetermined voltage reference; and inverting the upper data word if an upper page polarity flag is set. - View Dependent Claims (32)
-
-
33. A method of reading data in a multi-bit per cell (MBC) non-volatile memory, the method comprising steps of:
-
sensing threshold voltages of MBC cells within a page; providing a lower data word by comparing the threshold voltages to two predetermined voltage references; and inverting the lower data word if a lower page polarity flag is set. - View Dependent Claims (34)
-
-
35. A multiple-bit per cell (MBC) non-volatile memory apparatus comprising:
-
a memory array including an electrically erasable block; the block including a reprogrammable page; the reprogrammable page comprising M virtual pages sharing a common word-line; the M virtual pages including respective data fields; each of the data fields including a respective virtual cell of an M bit per cell MBC memory cell; the MBC memory cell having a threshold voltage programmable to a selected one of N levels, wherein N=2M, and wherein programming an mth bit of the M bits of the MBC memory cell includes programming the MBC memory cell from one of states 1 . . . 2m−
1 to one of states 2m . . . 2m−
1+1 respectively; anda controller for writing data to the memory array, wherein the controller controls polarity by selectively inverting a polarity of respective data words to be programmed into the 1st to (M−
1)th virtual pages to maximize a number of bits to be programmed within each of the respective (M−
1)th virtual pages and selectively inverting a polarity of respective data words to be programmed into the Mth virtual page to minimize a number of bits to be programmed within Mth virtual page.
-
-
36. A method of reading data in an M-bit multi-bit per cell (MBC) non-volatile memory, the method comprising steps of:
-
sensing threshold voltages of MBC cells within a page; comparing the threshold voltages to 2M−
1 predetermined reference voltages;providing a data word based on the comparisons; and inverting the data word if a polarity flag is set.
-
-
37. A system including a multi-bit per cell (MBC) non-volatile memory including means for reading data comprising:
-
means for sensing threshold voltages of MBC cells within a page; means for providing an upper data word by comparing the threshold voltages to a predetermined voltage reference; and means for inverting the upper data word if an upper page polarity flag is set. - View Dependent Claims (38)
-
-
39. A memory controller for reading data in a multi-bit per cell (MBC) non-volatile memory comprising:
-
means for sensing threshold voltages of MBC cells within a page; means for providing an upper data word by comparing the threshold voltages to a predetermined voltage reference; and means for inverting the upper data word if an upper page polarity flag is set. - View Dependent Claims (40)
-
-
41. A memory controller for reading data in a multi-bit per cell (MBC) non-volatile memory comprising:
-
means for sensing threshold voltages of MBC cells within a page; means for providing a lower data word by comparing the threshold voltages to two predetermined voltage references; and means for inverting the lower data word if a lower page polarity flag is set. - View Dependent Claims (42)
-
Specification