Method for Recovering From Errors in Flash Memory
Abstract
Methods, devices and computer readable code for reading data from one or more flash memory cells, and for recovering from read errors are disclosed. In some embodiments, in the event of an error correction failure by an error detection and correction module, the flash memory cells are re-read at least once using one or more modified reference voltages, for example, until a successful error correction may be carried out. In some embodiments, after successful error correction a subsequent read request is handled without re-writing data (for example, reliable values of the read data) to the flash memory cells in the interim. In some embodiments, reference voltages associated with a reading where errors are corrected may be stored in memory, and retrieved when responding to a subsequent read request. In some embodiments, the modified reference voltages are predetermined reference voltages. Alternatively or additionally, these modified reference voltages may be determined as needed, for example, using randomly generated values or in accordance with information provided by the error detection and correction module. Methods, devices and computer readable code for reading data for situations where there is no error correction failure are also provided.
Claims
exact text as granted — not AI-modified1 . In a system comprising a plurality of flash memory cells and an error detection and correction module, a method of reading data, the method comprising:
a) reading data bits from the plurality of flash memory cells using a set of reference voltages; b) attempting to correct errors of said read data bits using the error detection and correction module; c) in the event of an error correction failure by the error detection and correction module, repeating steps (a) and (b) using at least one modified reference voltage until the module successfully corrects said errors; and wherein said reading is performed without resulting in re-writing said data bits to the memory cells.
2 . The method of claim 1 , wherein:
an initial said reading has error correction successfully performed by the error detection and correction module; and a modified reference voltage is derived with information provided by the error detection and correction module after correcting read data of the initial reading, said modified reference voltage to be used in a reading of a subsequent read request.
3 . The method of claim 1 , wherein at least one said modified reference voltage is derived in accordance at least in part with information provided by the error detection and correction module.
4 . The method of claim 1 , wherein at least one said modified reference voltage is derived at least in part randomly.
5 . The method of claim 1 , wherein an initial said reading before said correcting is in response to a first read request, and said subsequent reading after said correcting is in response to a subsequent read request.
6 . A flash memory device for data storage, the device comprising:
a) a plurality of flash memory cells for storing data bits; b) an error detection and correction module for detecting and correcting errors in said data bits; and c) a controller for reading said data bits from said memory cells, wherein: said controller is operative to reading said data bits using a set of reference voltages, and if said error detection and correction module fails to correct said data bits, said controller is operative to re-reading the data bits using at least one modified reference voltage until said module successfully corrects said errors and without resulting in re-writing said data bits to the memory cells.
7 . The flash memory device of claim 1 , wherein:
an initial said reading has error correction successfully performed by the error detection and correction module; and a modified reference voltage is derived with information provided by the error detection and correction module after correcting read data of the initial reading, said modified reference voltage to be used in a reading of a subsequent read request.
8 . The flash memory device of claim 1 , wherein said controller is operative to derive at least one said modified reference voltage in accordance at least in part with information provided by the error detection and correction module.
9 . The flash memory device of claim 1 , wherein said controller is operative to derive at least one said modified reference voltage at least in part randomly.
10 . The flash memory device of claim 1 , wherein said controller is operative to perform an initial said reading before said correcting in response to a first read request, and said subsequent reading after said correcting is in response to a subsequent read request.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.