Determining read thresholds based upon read error direction statistics
First Claim
1. A method for setting read thresholds to be used for reading multiple bits per cell flash memory cells, the method comprises:
- reading, by a read circuit, the flash memory cells using a set of current read thresholds to provide current read results;
finding, by an error evaluation circuit, current read errors direction statistics associated with the current read results;
determining multiple read threshold changes based upon the current read error direction statistics, without determining a contribution of each current read threshold to the current read error direction statistics; and
altering multiple current read thresholds, by the multiple read threshold updates, to provide a set of next read thresholds;
wherein at least one of the following is true;
(i) the method further comprises receiving or calculating old read errors direction statistics associated with multiple previously obtained read results, and wherein the determining is further responsive to the old read error direction statistics;
(ii) each of the multiple read threshold changes does not exceed a smallest change amount allowable by the read circuit;
(iii) the determining of the multiple read threshold changes comprises determining, for each current read threshold, a read threshold change;
(iv) the determining of the multiple read threshold changes is further responsive to at least one physical characteristic of the flash memory cells;
(v) the determining of the multiple read threshold changes comprises finding a maximal margin estimator to the set of next read thresholds;
(vi) the determining of the multiple read threshold changes comprises applying a Kalman filter on the current read error direction statistics and on old read errors direction statistics associated with multiple previously obtained read results;
(vii) the method further comprises finding a set of optimal read thresholds; and
(viii) the determining the multiple read threshold changes is responsive to optimal and sub-optimal read thresholds.
10 Assignments
0 Petitions
Accused Products
Abstract
There is provided a method for setting read thresholds to be used for reading multiple bits per cell flash memory cells, the method may include reading, by a read circuit, the flash memory cells using a set of current read thresholds to provide current read results; finding, by an error evaluation circuit, current read errors direction statistics associated with the current read results; determining multiple read threshold changes based upon the current read error direction statistics, without determining a contribution of each current read threshold to the current read error direction statistics; and altering multiple current read thresholds, by the multiple read threshold updates, to provide a set of next read thresholds.
339 Citations
35 Claims
-
1. A method for setting read thresholds to be used for reading multiple bits per cell flash memory cells, the method comprises:
-
reading, by a read circuit, the flash memory cells using a set of current read thresholds to provide current read results; finding, by an error evaluation circuit, current read errors direction statistics associated with the current read results; determining multiple read threshold changes based upon the current read error direction statistics, without determining a contribution of each current read threshold to the current read error direction statistics; and altering multiple current read thresholds, by the multiple read threshold updates, to provide a set of next read thresholds; wherein at least one of the following is true; (i) the method further comprises receiving or calculating old read errors direction statistics associated with multiple previously obtained read results, and wherein the determining is further responsive to the old read error direction statistics; (ii) each of the multiple read threshold changes does not exceed a smallest change amount allowable by the read circuit; (iii) the determining of the multiple read threshold changes comprises determining, for each current read threshold, a read threshold change; (iv) the determining of the multiple read threshold changes is further responsive to at least one physical characteristic of the flash memory cells; (v) the determining of the multiple read threshold changes comprises finding a maximal margin estimator to the set of next read thresholds; (vi) the determining of the multiple read threshold changes comprises applying a Kalman filter on the current read error direction statistics and on old read errors direction statistics associated with multiple previously obtained read results; (vii) the method further comprises finding a set of optimal read thresholds; and (viii) the determining the multiple read threshold changes is responsive to optimal and sub-optimal read thresholds. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable medium that stores instructions to be executed by a computer for:
-
reading, by a read circuit, flash memory cells using a set of current read thresholds to provide current read results; finding, by an error evaluation circuit, current read errors direction statistics associated with the current read results; determining multiple read threshold changes, by a read threshold circuit, based upon the current read error direction statistics, without determining a contribution of each current read threshold to the current read error direction statistics; and altering multiple current read thresholds by the multiple read threshold updates, to provide a set of next read thresholds; wherein at least one of the following is true; (i) the non-transitory computer readable medium further stores instructions for receiving or calculating old read errors direction statistics associated with multiple previously obtained read results, and wherein the determining is further responsive to the old read error direction statistics; (ii) each of the multiple read threshold changes does not exceed a smallest change amount allowable by the read circuit; (iii) the determining of the multiple read threshold changes comprises determining, for each current read threshold a read threshold change; (iv) the determining of the multiple read threshold changes is further responsive to at least one physical characteristic of the flash memory cells; (v) the determining of the multiple read threshold changes comprises finding a maximal margin estimator to the set of next read thresholds; (vi) the determining of the multiple read threshold changes comprises applying a Kalman filter on the current read error direction statistics and on old read errors direction statistics associated with multiple previously obtained read results; (vii) the non-transitory computer readable medium further stores instructions for finding a set of optimal read thresholds; and (viii) the non-transitory computer readable medium further stores instructions for determining the multiple read threshold changes in response to optimal and sub-optimal read thresholds. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A flash memory controller, comprising:
-
a read circuit that is arranged to read flash memory cells using a set of current read thresholds to provide current read results; an error evaluation circuit that is arranged to find current read errors direction statistics associated with the current read results; a read threshold calculator that is arranged to determine multiple read threshold changes based upon the current read error direction statistics, without determining a contribution of each current read threshold to the current read error direction statistics; and wherein the flash memory controller is arranged to alter multiple current read thresholds, by the multiple read threshold updates, to provide a set of next read thresholds; wherein at least one of the following is true; (i) the flash memory controller is further configured to receive or calculate old read errors direction statistics associated with multiple previously obtained read results, and wherein the read threshold calculator is configured to determine the multiple read threshold changes further in response to the old read error direction statistics; (ii) each of the multiple read threshold changes does not exceed a smallest change amount allowable by the read circuit; (iii) the read threshold calculator is configured to determine the multiple read threshold changes by determining, for each current read threshold, a read threshold change; (iv) the read threshold calculator is configured to determine the multiple read threshold changes by in further response to at least one physical characteristic of the flash memory cells; (v) the read threshold calculator is configured to determine the multiple read threshold changes by finding a maximal margin estimator to the set of next read thresholds; (vi) the read threshold calculator is configured to determine the multiple read threshold changes by applying a Kalman filter on the current read error direction statistics and on old read errors direction statistics associated with multiple previously obtained read results; (vii) the flash memory controller is further configured to find a set of optimal read thresholds; and (viii) the read threshold calculator is configured to determine the multiple read threshold changes in response to optimal and sub-optimal read thresholds.
-
Specification