Adaptive estimation of memory cell read thresholds
First Claim
Patent Images
1. A method for operating a memory that includes a plurality of analog memory cells, comprising:
- storing data in the memory by writing first storage values to the cells;
reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values;
processing the estimated CDF so as to compute one or more thresholds; and
performing a memory access operation on the cells using the one or more thresholds,wherein processing the estimated CDF comprises defining a model that produces a target CDF responsively to input parameters, adapting the model by fitting the target CDF to the estimated CDF, and computing the thresholds based on the adapted model.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for operating a memory (28) that includes a plurality of analog memory cells (32) includes storing data in the memory by writing first storage values to the cells. Second storage values are read from the cells, and a Cumulative Distribution Function (CDF) of the second storage values is estimated. The estimated CDF is processed so as to compute one or more thresholds. A memory access operation is performed on the cells using the one or more thresholds.
630 Citations
47 Claims
-
1. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein processing the estimated CDF comprises defining a model that produces a target CDF responsively to input parameters, adapting the model by fitting the target CDF to the estimated CDF, and computing the thresholds based on the adapted model. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein the first storage values are selected from a set of nominal values that program the cells to assume respective programming states, wherein the second storage values corresponding to each of the programming states are distributed in accordance with respective distributions, and wherein estimating the CDF comprises scaling the distributions in accordance with numbers of the second storage values that correspond to the respective programming states, and estimating the CDF responsively to the scaled distributions.
-
-
9. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein processing the estimated CDF comprises identifying a flat region in the estimated CDF and positioning at least one of the thresholds within the flat region.
-
-
10. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein the CDF has a known shape within at least a partial range of the second storage values, wherein the estimated CDF has a shift with respect to the CDF, and wherein processing the estimated CDF comprises calculating the shift and computing the thresholds responsively to the calculated shift. - View Dependent Claims (11, 12)
-
-
13. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein the first storage values are selected from a set of nominal values that program the cells to assume respective programming states, wherein the second storage values fall in a set of storage value ranges that correspond to the programming states, and wherein estimating the CDF comprises measuring at least one value of the CDF within the storage value ranges.
-
-
14. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein reading the second storage values comprises reading the second storage values from a first group of the memory cells, and wherein performing the memory access operation comprises performing the memory access operation on a second group of the memory cells, different from the first group, using the one or more thresholds. - View Dependent Claims (15, 16)
-
-
17. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein the one or more thresholds comprise read thresholds, and wherein performing the memory access operation comprises reading third storage values from the cells using the read thresholds, so as to reconstruct the stored data. - View Dependent Claims (18, 19, 20)
-
-
21. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein the thresholds comprise verification thresholds, and wherein performing the memory access operation comprises verifying the first storage values written to the cells using the verification thresholds.
-
-
22. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein storing the data comprises encoding the data with an Error Correction Code (ECC), wherein the one or more thresholds comprise multiple sets of read thresholds, and wherein performing the memory access operation comprises reading multiple sets of third storage values from the cells using the respective multiple sets of the read thresholds, computing soft decoding metrics responsively to the multiple sets of the third storage values, and decoding the ECC using the soft decoding metrics, so as to reconstruct the data.
-
-
23. A method for operating a memory that includes a plurality of analog memory cells, comprising:
-
storing data in the memory by writing first storage values to the cells; reading second storage values from the cells and estimating a Cumulative Distribution Function (CDF) of the second storage values; processing the estimated CDF so as to compute one or more thresholds; and performing a memory access operation on the cells using the one or more thresholds, wherein each of the memory cells stores multiple data bits, wherein storing the data comprises storing multiple memory pages in the respective multiple data bits of the memory cells, and wherein performing the memory access operation comprises reading each of the memory pages using a subset of the thresholds.
-
-
24. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the processor is coupled to define a model that produces a target CDF responsively to input parameters, to adapt the model by fitting the target CDF to the estimated CDF, and to compute the thresholds based on the adapted model. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
31. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the first storage values are selected from a set of nominal values that program the cells to assume respective programming states, wherein the second storage values corresponding to each of the programming states are distributed in accordance with respective distributions, and wherein the processor is coupled to scale the distributions in accordance with numbers of the second storage values that correspond to the respective programming states, and to estimate the CDF responsively to the scaled distributions.
-
-
32. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the processor is coupled to identify a flat region in the estimated CDF and to position at least one of the thresholds within the flat region.
-
-
33. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the CDF has a known shape within at least a partial range of the second storage values, wherein the estimated CDF has a shift with respect to the CDF, and wherein the processor is coupled to calculate the shift and to compute the thresholds responsively to the calculated shift. - View Dependent Claims (34, 35)
-
-
36. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the first storage values are selected from a set of nominal values that program the cells to assume respective programming states, wherein the second storage values fall in a set of storage value ranges that correspond to the programming states, and wherein the processor is coupled to estimate at least one value of the CDF within the storage value ranges.
-
-
37. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the processor is coupled to read the second storage values from a first group of the memory cells, and to perform the memory access operation on a second group of the memory cells, different from the first group, using the one or more thresholds. - View Dependent Claims (38, 39)
-
-
40. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the one or more thresholds comprise read thresholds, and wherein the processor is coupled to read third storage values from the cells using the read thresholds, so as to reconstruct the stored data. - View Dependent Claims (41, 42, 43)
-
-
44. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the thresholds comprise verification thresholds, and wherein the processor is coupled to verify the first storage values written to the cells using the verification thresholds.
-
-
45. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the stored data is encoded with an Error Correction Code (ECC), wherein the one or more thresholds comprise multiple sets of read thresholds, and wherein the processor is coupled to read multiple sets of third storage values from the cells using the respective multiple sets of the read thresholds, to compute soft decoding metrics responsively to the multiple sets of the third storage values, and to decode the ECC using the soft decoding metrics, so as to reconstruct the data.
-
-
46. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of analog memory cells; and a processor, which is connected to the interface and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein each of the memory cells stores multiple data bits, and wherein the processor is coupled to store multiple memory pages in the respective multiple data bits of the memory cells, and to read each of the memory pages using a subset of the thresholds.
-
-
47. A data storage apparatus, comprising:
-
a memory, which comprises a plurality of analog memory cells; and a processor, which is connected to the memory and is coupled to store data in the memory by writing first storage values to the cells, to read second storage values from the cells, to estimate a Cumulative Distribution Function (CDF) of the second storage values, to process the estimated CDF so as to compute one or more thresholds, and to perform a memory access operation on the cells using the one or more thresholds, wherein the processor is coupled to define a model that produces a target CDF responsively to input parameters, to adapt the model by fitting the target CDF to the estimated CDF, and to compute the thresholds based on the adapted model.
-
Specification