System, method and computer program product for joint search of a read threshold and soft decoding
First Claim
Patent Images
1. A method comprising:
- performing, by a flash memory controller, multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results;
determining, by the flash memory controller and based upon the multiple read results, a reliability metric of each of the multiple read results;
error correction decoding the multiple read results based upon reliability metrics associated with the multiple read results; and
evaluating a characteristic of the multiple read results under different assumptions about mapping between the read thresholds and reliability metrics;
wherein an evaluating of the characteristic of the multiple read thresholds under each assumption comprises comparing between (a) a relationship between numbers of first and second read results of the multiple read results and of different values, and (b) an expected relationship between numbers of first and second read results of different numbers.
9 Assignments
0 Petitions
Accused Products
Abstract
A flash memory controller, a computer readable medium and a method. The method may include performing, by a flash memory controller, multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results; determining, by the flash memory controller and based upon the multiple read results, a reliability metric of each of the multiple read results; and error correction decoding the multiple read results based upon reliability metrics associated with the multiple read results.
-
Citations
48 Claims
-
1. A method comprising:
-
performing, by a flash memory controller, multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results; determining, by the flash memory controller and based upon the multiple read results, a reliability metric of each of the multiple read results; error correction decoding the multiple read results based upon reliability metrics associated with the multiple read results; and evaluating a characteristic of the multiple read results under different assumptions about mapping between the read thresholds and reliability metrics;
wherein an evaluating of the characteristic of the multiple read thresholds under each assumption comprises comparing between (a) a relationship between numbers of first and second read results of the multiple read results and of different values, and (b) an expected relationship between numbers of first and second read results of different numbers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
- performing, by a flash memory controller, multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results;
determining, by the flash memory controller and based upon the multiple read results, a reliability metric of each of the multiple read results;
error correction decoding the multiple read results based upon reliability metrics associated with the multiple read results;
finding, based upon the multiple read results, a desired read threshold to be applied during future read attempts; and
performing additional read results using additional read thresholds, after finding the desired read threshold, wherein the additional read thresholds are proximate to the desired read threshold;wherein the additional read thresholds are selected such that there are at least a predefined number of read thresholds that are proximate to the desired read threshold and are positioned at each side of the desired read threshold, as to provide a decoder that performs the error correction decoding of the multiple read results with high resolution sampling for soft information.
- performing, by a flash memory controller, multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results;
-
17. A flash memory controller, comprising:
- a read circuit arranged to perform multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results;
a reliability circuit arranged to determine, based upon the multiple read results, a reliability metric of each of the multiple read results; and
an error correction decoding circuit arranged to perform error correction decoding of the multiple read results based upon reliability metrics associated with the multiple read results;
wherein the flash memory controller is further arranged to evaluate a characteristic of the multiple read results under different assumptions about mapping between the read thresholds and reliability metrics;
wherein an evaluating of the characteristic of the multiple read thresholds under each assumption comprises comparing between (a) a relationship between numbers of first and second read results of different values, and (b) an expected relationship between numbers of first and second read results of different numbers. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
- a read circuit arranged to perform multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results;
-
32. A non-transitory computer readable medium that stores instructions for performing, by a flash memory controller, multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results;
-
determining, by the flash memory controller and based upon the multiple read results, a reliability metric of each of the multiple read results; error correction decoding the multiple read results based upon reliability metrics associated with the multiple read results; evaluating a characteristic of the multiple read results under different assumptions about mapping between the read thresholds and reliability metrics;
wherein an evaluating of the characteristic of the multiple read thresholds under each assumption comprises comparing between (a) a relationship between numbers of first and second read results of different values, and (b) an expected relationship between numbers of first and second read results of different numbers. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A non-transitory computer readable medium that stores instructions for performing, by a flash memory controller, multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results;
- determining, by the flash memory controller and based upon the multiple read results, a reliability metric of each of the multiple read results;
error correction decoding the multiple read results based upon reliability metrics associated with the multiple read results;finding, based upon the multiple read results, a desired read threshold to be applied during future read attempts; and
performing additional read results using additional read thresholds, after finding the desired read threshold, wherein the additional read thresholds are proximate to the desired read threshold;wherein the additional read thresholds are selected such that there are at least a predefined number of read thresholds that are proximate to the desired read threshold and are positioned at each side of the desired read threshold, as to provide a decoder that performs the error correction decoding of the multiple read results with high resolution sampling for soft information.
- determining, by the flash memory controller and based upon the multiple read results, a reliability metric of each of the multiple read results;
-
48. A flash memory controller, comprising:
- a read circuit arranged to perform multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results;
a reliability circuit arranged to determine, based upon the multiple read results, a reliability metric of each of the multiple read results; and
an error correction decoding circuit arranged to perform error correction decoding of the multiple read results based upon reliability metrics associated with the multiple read results;wherein the flash memory controller is further arranged to find, based upon the multiple read results, a desired read threshold to be applied during future read attempts; and perform additional read results using additional read thresholds, after finding the desired read threshold, wherein the additional read thresholds are proximate to the desired read threshold; wherein the additional read thresholds are selected such that there are at least a predefined number of read thresholds that are proximate to the desired read threshold and are positioned at each side of the desired read threshold, as to provide a decoder that performs the error correction decoding of the multiple read results with high resolution sampling for soft information.
- a read circuit arranged to perform multiple read attempts of a group of flash memory cells, using multiple read thresholds, to provide multiple read results;
Specification