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.
- 2. The method of claim 1, wherein the refreshing further comprises: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.
- 9. The method of claim 8, wherein: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.
- 14. The non-volatile semiconductor memory of claim 13, wherein the first voltage ranges indicate bounds of ranges of threshold voltages allowed for the memory cells storing data and the second voltage ranges are threshold voltages forbidden for the memory cells storing data.
- 15. The non-volatile semiconductor memory of claim 14, wherein the ranges of threshold voltages allowed for memory cells storing data are separated from each other by at least one range of threshold voltages forbidden for memory cells storing data.
- 16. The non-volatile semiconductor memory of claim 13, wherein the non-volatile semiconductor memory is part of a monolithic integrated circuit.
CROSS REFERENCE TO RELATED APPLICATION
This is a continuation of U.S. patent application Ser. No. 09/200,220, filed Nov. 25, 1998, now Pat. No. 6,151,246, which is a continuation-in-part of U.S. patent application Ser. No. 08/924,909, filed Sep. 8, 1997, now Pat. No. 5,909,449.
US Referenced Citations (18)
Foreign Referenced Citations (1)
| Number |
Date |
Country |
| WO9012400 |
Oct 1990 |
WO |
Non-Patent Literature Citations (1)
| Entry |
| Lee, E.K.F., et al., (Jul. 18, 1991) “Error Correction Technique for Multivalued MOS Memory,” Electronic Letters, 27(15):1321-1323. |
Continuations (1)
|
Number |
Date |
Country |
| Parent |
09/200220 |
Nov 1998 |
US |
| Child |
09/680797 |
|
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
08/924909 |
Sep 1997 |
US |
| Child |
09/200220 |
|
US |