Multi-bit-per-cell flash EEPROM memory with refresh
First Claim
1. A non-volatile semiconductor memory comprising:
- an array of memory cells;
drivers and decoders coupled to apply voltages to the array to read any memory cell in the array, wherein each memory cell that stores data has a threshold voltage that identifies a multibit data value written in the memory cell;
an error detection circuit that detects errors in threshold voltages of memory cells storing data, wherein in response to detecting an error in the threshold voltage of a memory cell, the error detection circuit signals for a refresh operation; and
a control circuit coupled to control the drivers and decoders, wherein during the refresh operation, the control circuit writes a corrected threshold voltage that corrects the error that the error detection circuit detected.
3 Assignments
0 Petitions
Accused Products
Abstract
A multibit-per-cell non-volatile memory divides the suitable threshold voltages of memory cells into ranges corresponding to allowed states for storage of data and ranges corresponding to forbidden zones indicating a data error. A read process in accordance automatically checks whether a threshold voltage is in a forbidden zone. In an alternative embodiment, a refresh process includes reprogramming the threshold voltage into an allowed state. In the case of a flash memory, a refresh reads a sector of the memory and saves corrected data from the sector in a buffer or another sector. The corrected data from the buffer or other sector can be written back in the original sector, or the corrected data can be left in the other sector with addresses of the original sector being mapped to the other sector. Refresh process for the non-volatile memory can be perform in response to detecting a threshold voltage in a forbidden zone, as part of a power-up procedure for the memory, or periodically with a period on the order of days, weeks, or months. As a further aspect, the allowed states correspond to gray coded digital values so that allowed states that are adjacent in threshold voltage correspond to multibit values that differ in only a single bit. Error detection and correction codes can be used to identify data errors and generate corrected data for refresh operations.
212 Citations
23 Claims
-
1. A non-volatile semiconductor memory comprising:
-
an array of memory cells; drivers and decoders coupled to apply voltages to the array to read any memory cell in the array, wherein each memory cell that stores data has a threshold voltage that identifies a multibit data value written in the memory cell; an error detection circuit that detects errors in threshold voltages of memory cells storing data, wherein in response to detecting an error in the threshold voltage of a memory cell, the error detection circuit signals for a refresh operation; and a control circuit coupled to control the drivers and decoders, wherein during the refresh operation, the control circuit writes a corrected threshold voltage that corrects the error that the error detection circuit detected. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-volatile semiconductor memory comprising:
-
an array of memory cells; drivers and decoders coupled to apply voltages to the array to read any memory cell in the array, wherein each memory cell that stores data has a threshold voltage that identifies a multibit data value written in the memory cell; a reference generator that generates first reference signals and second reference signals, wherein the first reference signals indicate bounds of ranges of threshold voltages allowed for the memory cells storing data, and the second reference signals indicate bounds of one or more ranges of threshold voltages forbidden for the memory cells storing data; and a control circuit coupled to control the drivers and decoders during a refresh operation that reads a threshold voltage of a memory cell, detects whether the threshold voltage of the memory cell is in a range forbidden for memory cells storing data, and moves the threshold voltage of the memory cell into one of the ranges allowed for memory cells storing data. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A non-volatile semiconductor memory comprising:
-
an array of memory cells; drivers and decoders coupled to apply voltages to the array to read any memory cell in the array, wherein each memory cell that stores data has a threshold voltage that identifies a multibit data value written in the memory cell; and a reference generator that generates signals indicate bounds of a plurality of ranges of threshold voltages allowed for the memory cells that store data, wherein each range in the plurality corresponds to a multibit value that differs in only a single bit from a multibit value corresponding to a range that is adjacent in threshold voltage. - View Dependent Claims (17, 18, 19)
-
-
20. A method for operating a non-volatile memory, comprising:
-
writing a multibit digital value to a memory cell by programming a threshold voltage of the memory cell to level within a target range of threshold voltages, wherein the target range of threshold voltages is one of a plurality of first ranges of threshold voltages, each of the first ranges corresponding to a different multibit value; measuring the threshold voltage of the memory cell; identifying whether the threshold voltage is still in a range from the plurality of first ranges or is in a range from a second plurality of ranges of threshold voltages; and in response to the threshold voltage being in the second plurality of threshold voltages, changing the threshold voltage so that the threshold voltage is in one of the first plurality of ranges of threshold voltages. - View Dependent Claims (21, 22, 23)
-
Specification