Multi-bit-per-cell flash EEPROM memory with refresh
First Claim
1. A method for operating a non-volatile memory comprising a plurality of sectors, comprising:
- programming threshold voltages of memory cells in the non-volatile memory to have a threshold voltage in an allowed state associated with a data value stored in the memory cell, wherein threshold voltages of the memory cells have a plurality of allowed states that are separated from each other by forbidden zones;
identifying a first sector of the non-volatile memory that contains a memory cell with a threshold voltage in one of the forbidden zones; and
refreshing the data values stored in memory cells in the identified first sector, the refreshing comprising;
reading data values from the first sector; and
writing the data values in a second sector.
0 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.
-
Citations
16 Claims
-
1. A method for operating a non-volatile memory comprising a plurality of sectors, comprising:
-
programming threshold voltages of memory cells in the non-volatile memory to have a threshold voltage in an allowed state associated with a data value stored in the memory cell, wherein threshold voltages of the memory cells have a plurality of allowed states that are separated from each other by forbidden zones;
identifying a first sector of the non-volatile memory that contains a memory cell with a threshold voltage in one of the forbidden zones; and
refreshing the data values stored in memory cells in the identified first sector, the refreshing comprising;
reading data values from the first sector; and
writing the data values in a second sector. - View Dependent Claims (2, 3, 4, 5, 6, 7)
storing the data values read from the first sector in a buffer prior to said writing the data values in a second sector.
-
-
3. The method of claim 1, wherein said refreshing is performed in response to a signal from a timer.
-
4. The method of claim 3, wherein said refreshing is performed periodically with a period greater than one day.
-
5. The method of claim 3, further comprising determining a time during which use of the memory is unlikely, wherein the timer schedules refreshing for that time.
-
6. The method of claim 1, wherein said refreshing is performed as part of a power up procedure for the memory.
-
7. The method of claim 1, wherein reading the data values comprises measuring the threshold voltage of the memory cell with the threshold voltage in one of the forbidden zones, wherein a data value read from that memory cell corresponds to an allowed state near the forbidden zone containing the threshold voltage of the memory cell.
-
8. A method for operating a non-volatile memory, comprising:
-
comparing the threshold voltage of a memory cell in analog form with a plurality of reference voltages simultaneously;
identifying whether the threshold voltage is in one of a first plurality of ranges of threshold voltages or in a second plurality of threshold voltages, wherein said pluralities of ranges are determined from said reference voltages; and
in response to the threshold voltage being in the first plurality of threshold voltages, changing the threshold voltage so that the threshold voltage is in one of the second plurality of ranges of threshold voltages. - View Dependent Claims (9, 10, 11)
the second plurality of ranges of threshold voltages form a sequence of ranges ordered according to increasing maximum voltages of the ranges;
each range corresponds to a different multibit digital value; and
the multibit digital value for each range differs by only one bit, from the multibit value for the range immediately preceding in the series.
-
-
10. The method of claim 8, wherein said method is performed as part of a standard read operation for the memory.
-
11. The method of claim 8, wherein changing the threshold voltage increases the threshold voltage so that the threshold voltage is in a nearest one of the second ranges.
-
12. The method of claim 12, wherein changing the threshold voltage decreases the threshold voltage so that the threshold voltage is in a nearest one of the second ranges.
-
13. A non-volatile semiconductor memory comprising:
-
an array of memory cells;
a reference generator generating a plurality of reference voltages, whereby a plurality of first voltage ranges and one or more second voltage ranges are determined;
a comparator circuit coupled to said array and to said reference generator, whereby the analog threshold value of a memory cell is compared to a plurality of said reference voltages simultaneously during a read process;
a write circuit coupled to said array; and
a control circuit coupled to the write circuit and the comparator circuit, whereby in response to the comparator determining during a read process that the threshold voltage of a memory cell is in one of the second voltage ranges, said write circuit initiates a process to write said memory cell to one of the first voltage ranges. - View Dependent Claims (14, 15, 16)
-
Specification