Non-volatile memory and method with post-write read and adaptive re-write to manage errors
First Claim
1. A method of operating a non-volatile memory, comprising:
- providing an error management for correcting errors liable to arise when the non-volatile memory ages through use;
providing a measure of the age of the non-volatile memory by the number of program/erase cycling undergone by the non-volatile memory;
commencing the error management only when the non-volatile memory has reached a predetermined age; and
said method further comprising;
configuring the memory into first and second portions, the first portion having memory cells operating with less error rate but lower density storage compared to the second portion;
programming input data into the first portion;
subsequently, copying the data to create a copy in the second portion; and
wherein the error correction management further comprises;
(a) checking the copy for error;
(b) identifying the copy as valid or invalid data depending on whether the error is less than a predetermined number of error bits or not;
(c) when the copy is identified as invalid, repeating the copying to another location in the second portion and steps (a) to (c) up to a predetermined number of times.
3 Assignments
0 Petitions
Accused Products
Abstract
Data errors in non-volatile memory inevitably increase with usage and with higher density of bits stored per cell. The memory is configured to have a first portion operating with less error but of lower density storage, and a second portion operating with a higher density but less robust storage. Input data is written and staged in the first portion before being copied to the second portion. An error management provides checking the quality of the copied data for excessive error bits. The copying and checking are repeated on a different location in the second portion until either a predetermined quality is satisfied or the number or repeats exceeds a predetermined limit. The error management is not started when a memory is new with little or no errors, but started after the memory has aged to a predetermined amount as determined by the number of erase/program cycling its has experienced.
72 Citations
18 Claims
-
1. A method of operating a non-volatile memory, comprising:
-
providing an error management for correcting errors liable to arise when the non-volatile memory ages through use; providing a measure of the age of the non-volatile memory by the number of program/erase cycling undergone by the non-volatile memory; commencing the error management only when the non-volatile memory has reached a predetermined age; and
said method further comprising;configuring the memory into first and second portions, the first portion having memory cells operating with less error rate but lower density storage compared to the second portion; programming input data into the first portion; subsequently, copying the data to create a copy in the second portion; and wherein the error correction management further comprises; (a) checking the copy for error; (b) identifying the copy as valid or invalid data depending on whether the error is less than a predetermined number of error bits or not; (c) when the copy is identified as invalid, repeating the copying to another location in the second portion and steps (a) to (c) up to a predetermined number of times. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-volatile memory, comprising:
-
an error management for correcting errors liable to arise when the non-volatile memory ages through use; a measure of the age of the non-volatile memory by the number of program/erase cycling undergone by the non-volatile memory; and
whereinsaid error management only commences after the non-volatile memory has reached a predetermined age; and
said non-volatile memory further comprising;a memory controller; and
wherein;the memory is configured into first and second portions, the first portion having memory cells operating with less error rate but lower density storage compared to the second portion; the memory controller cooperating with the error correction management having operations including; (a) programming input data into the first portion; (b) subsequently, copying the data to create a copy in the second portion; (c) checking the copy for error; (d) identifying the copy as valid or invalid data depending on whether the error is less than a predetermined number of error bits or not; and (e) when the copy is identified as invalid, repeating the copying to another location in the second portion and steps (c) to (e) up to a predetermined number of times. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification