Read threshold determination using reference read threshold
First Claim
1. A non-transitory computer readable medium that stores instructions for:
- calculating a reference read threshold in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;
reading a first group of flash memory cells using the reference read threshold to obtain multiple read results;
processing the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value;
estimating at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and
reading a second group of flash memory cells using the at least one actual read threshold to provide actual read results.
9 Assignments
0 Petitions
Accused Products
Abstract
A non-transitory computer readable medium that stores instructions for: reading a first group of flash memory cells using a reference read threshold to obtain multiple read results; processing the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value; estimating at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and reading a second group of flash memory cells using the at least one actual read threshold to provide actual read results.
343 Citations
27 Claims
-
1. A non-transitory computer readable medium that stores instructions for:
-
calculating a reference read threshold in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; reading a first group of flash memory cells using the reference read threshold to obtain multiple read results; processing the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value; estimating at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and reading a second group of flash memory cells using the at least one actual read threshold to provide actual read results. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium that stores instructions for:
-
calculating a reference read threshold by;
obtaining information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; and
finding, in response to the information, the reference read threshold that when used during read attempts, minimizes a number of read errors;reading a first group of flash memory cells using the reference read threshold to obtain multiple read results; processing the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value; estimating at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and reading a second group of flash memory cells using the at least one actual read threshold to provide actual read results.
-
-
18. A non-transitory computer readable medium that stores instructions for:
-
calculating each reference read threshold out of a plurality of reference read thresholds in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; reading a first group of flash memory cells using the plurality of reference read thresholds to obtain a plurality of sets of read results, one set of read results per each flash memory cell of the first group of flash memory cells; processing the plurality of sets of read results by performing at least one out of;
calculating a distribution of values of the plurality of sets of read results and counting a number of sets of read results of a given value;estimating at least one actual read threshold to be used during future read attempts in response to at least one of the distribution of values of the plurality of sets of read results and the number of sets of read results of the given value.
-
-
19. A non-transitory computer readable medium that stores instructions for:
- acquiring information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;
selecting, calculating or finding a reference read threshold per one or more groups of flash memory cells;
calculating, based upon the information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells, and for each group of flash memory cells out of the plurality of flash memory cells, one or more suggested read thresholds;
reading the flash memory cells of different groups, using the reference read threshold associated with each group, to provide read results;
counting, for each group of flash memory cells of the plurality of flash memory cells, a number of read results of a certain value; and
finding, per each suggested read threshold, an estimating function that will map the numbers of read result of the certain value per each group to the suggested read threshold.
- acquiring information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;
-
20. A system, comprising:
-
a flash memory controller that is arranged to read a first group of flash memory cells using a reference read threshold to obtain multiple read results; a host computer that is arranged to; calculate the reference read threshold in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; process the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value; and estimate at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and wherein the flash memory controller is also arranged to read a second group of flash memory cells using the at least one actual read threshold to provide actual read results.
-
-
21. A system, comprising:
-
a flash memory controller that is arranged to; calculate a reference read threshold in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; read a first group of flash memory cells using the reference read threshold to obtain multiple read results; process the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value; estimate at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and read a second group of flash memory cells using the at least one actual read threshold to provide actual read results.
-
-
22. A system comprising:
-
a flash memory controller that is arranged to read a first group of flash memory cells using a plurality of reference read thresholds to obtain a plurality of sets of read results, one set of read results per each flash memory cell of the first group of flash memory cells; and a host computer that is arranged to; calculate each reference read threshold of the plurality of reference read thresholds in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; process the plurality of sets of read results by performing at least one out of; calculating a distribution of values of the plurality of sets of read results and counting a number of sets of read results of a given value; and estimate at least one actual read threshold to be used during future read attempts in response to at least one of the distribution of values of the plurality of sets of read results and the number of sets of read results of the given value.
-
-
23. A system comprising:
a flash memory controller that is arranged to calculate each reference read threshold of a plurality of reference read thresholds in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;
read a first group of flash memory cells using the plurality of reference read thresholds to obtain a plurality of sets of read results, one set of read results per each flash memory cell of the first group of flash memory cells;
to process the plurality of sets of read results by performing at least one out of;
calculating a distribution of values of the plurality of sets of read results and counting a number of sets of read results of a given value; and
estimate at least one actual read threshold to be used during future read attempts in response to at least one of the distribution of values of the plurality of sets of read results and the number of sets of read results of the given value.
-
24. A system comprising:
- a flash memory controller that is arranged to acquire information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;
select, calculate or find a reference read threshold per one or more groups of flash memory cells;
calculate, based upon the information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells, and for each group of flash memory cells out of the plurality of flash memory cells, one or more suggested read thresholds;
read the flash memory cells of different groups, using the reference read threshold associated with each group, to provide read results;
count, for each group of flash memory cells of the plurality of flash memory cells, a number of read results of a certain value; and
find, per each suggested read threshold, an estimating function that will map the numbers of read result of the certain value per each group to the suggested read threshold.
- a flash memory controller that is arranged to acquire information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;
-
25. A method comprising:
-
calculating each reference read threshold of a plurality of reference read thresholds in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; reading a first group of flash memory cells using the plurality of reference read thresholds to obtain a plurality of sets of read results, one set of read results per each flash memory cell of the first group of flash memory cells; processing the plurality of sets of read results by performing at least one out of;
calculating a distribution of values of the plurality of sets of read results and counting a number of sets of read results of a given value;estimating at least one actual read threshold to be used during future read attempts in response to at least one of the distribution of values of the plurality of sets of read results and the number of sets of read results of the given value.
-
-
26. A method comprising:
- acquiring information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;
selecting, calculating or finding a reference read threshold per one or more groups of flash memory cells;
calculating, based upon the information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells, and for each group of flash memory cells out of the plurality of flash memory cells, one or more suggested read thresholds;
reading the flash memory cells of different groups, using the reference read threshold associated with each group, to provide read results;
counting, for each group of flash memory cells of the plurality of flash memory cells, a number of read results of a certain value; and
finding, per each suggested read threshold, an estimating function that will map the numbers of read result of the certain value per each group to the suggested read threshold.
- acquiring information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells;
-
27. A method comprising:
-
calculating a reference read threshold in response to information about read threshold voltages of a plurality of flash memory cells and about logical values stored by the plurality of flash memory cells; reading a first group of flash memory cells using the reference read threshold to obtain multiple read results; processing the multiple read results by performing at least one out of calculating a distribution of values of the multiple read results and counting a number of read results of a certain value; estimating at least one actual read threshold to be used during future read attempts in response to at least one out of (i) the number of read results of the certain value and (ii) distribution information about a distribution of values of the read results; and reading a second group of flash memory cells using the at least one actual read threshold to provide actual read results.
-
Specification