Reducing the effects of noise in non-volatile memories through multiple reads
First Claim
1. A method of writing a data value in a non-volatile memory, comprising:
- altering the state of a storage element in the non-volatile memory;
subsequent to said altering the state of the storage element and prior to further altering the state of the storage element, comparing a plurality of times a parameter indicative of the resultant state of the storage element to a reference value indicative of the data value; and
determining whether to further alter the state of the storage element in response to said comparing a plurality of times.
2 Assignments
0 Petitions
Accused Products
Abstract
Storage elements are read multiple times and the results are accumulated and averaged for each storage element to reduce the effects of noise or other transients in the storage elements and associated circuits that may adversely affect the quality of the read. Several techniques may be employed, including: A full read and transfer of the data from the storage device to the controller device for each iteration, with averaging performed by the controller; a full read of the data for each iteration, with the averaging performed by the storage device, and no transfer to the controller until the final results are obtained; one full read followed by a number of faster re-reads exploiting the already established state information to avoid a full read, followed by an intelligent algorithm to guide the state at which the storage element is sensed. These techniques may be used as the normal mode of operation, or invoked upon exception condition, depending on the system characteristics. A similar form of signal averaging may be employed during the verify phase of programming. An embodiment of this technique would use a peak-detection scheme. In this scenario, several verify checks are performed at the state prior to deciding if the storage element has reached the target state. If some predetermined portion of the verifies fail, the storage element receives additional programming. These techniques allow the system to store more states per storage element in the presence of various sources of noise.
-
Citations
29 Claims
-
1. A method of writing a data value in a non-volatile memory, comprising:
-
altering the state of a storage element in the non-volatile memory;
subsequent to said altering the state of the storage element and prior to further altering the state of the storage element, comparing a plurality of times a parameter indicative of the resultant state of the storage element to a reference value indicative of the data value; and
determining whether to further alter the state of the storage element in response to said comparing a plurality of times. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-volatile memory comprising:
-
an array of storage elements;
read circuitry coupled to the array to provide a parameter associated with the state of a cell contained therein;
a sense amplifier coupled to the read circuitry to determine the value of the parameter; and
averaging circuitry coupled to the sense amplifier for forming a composite value for the single cell formed from multiple independently determined values of the parameter supplied from the sense amplifier. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
programming circuitry coupled to the array for changing the state of the storage elements contained therein and coupled to the averaging circuitry for receiving the composite value, wherein the composite value is used during the verify phase of a programming process.
-
Specification