READING A FLASH MEMORY BY JOINT DECODING AND CELL VOLTAGE DISTRIBUTION TRACKING
First Claim
1. A method of reading a plurality of memory cells, comprising:
- (a) assigning each cell to a respective one of a plurality of cell populations;
(b) measuring a respective value of an operational parameter of each cell;
(c) providing a value of at least one first respective cell distribution model parameter of each population;
(d) assigning each cell a respective a priori metric, based at least in part on the respective at least one cell distribution model parameter value of the cell'"'"'s respective population;
(e) decoding the a priori metrics, thereby providing, for each cell, a respective a posteriori metric; and
(f) based at least in part on the a posteriori metrics, and without repeating the measuring of the respective values of the operational parameters;
estimating a value of at least one second respective cell distribution model parameter of each population.
1 Assignment
0 Petitions
Accused Products
Abstract
To read a plurality of memory cells, each cell is assigned to a respective cell population. A respective value of an operational parameter of each cell is measured. Each cell is assigned an a-priori metric based at least in part on one or more CVD parameter values of the cell'"'"'s population. The a-priori metrics are decoded. Based at least in part on the resulting a-posteriori metrics, the CVD parameter values are corrected, without repeating the measurements of the cell operational parameter values. The operational parameter values are indicative of bit patterns stored in the cells, and the correction of the CVD parameter values is constrained by requiring the bit patterns collectively to be a valid codeword.
57 Citations
52 Claims
-
1. A method of reading a plurality of memory cells, comprising:
-
(a) assigning each cell to a respective one of a plurality of cell populations; (b) measuring a respective value of an operational parameter of each cell; (c) providing a value of at least one first respective cell distribution model parameter of each population; (d) assigning each cell a respective a priori metric, based at least in part on the respective at least one cell distribution model parameter value of the cell'"'"'s respective population; (e) decoding the a priori metrics, thereby providing, for each cell, a respective a posteriori metric; and (f) based at least in part on the a posteriori metrics, and without repeating the measuring of the respective values of the operational parameters;
estimating a value of at least one second respective cell distribution model parameter of each population. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A memory device comprising,
(a) a plurality of cells; -
(b) circuitry for measuring a respective value of an operational parameter of each cell; and (c) a controller operative; (i) to instruct the circuitry to measure the values of the operational parameters, (ii) to assign each cell to a respective one of a plurality of cell populations, (iii) to provide a value of at least one first respective cell distribution model parameter of each population, (iv) to assign each cell a respective a priori metric, based at least in part on the respective at least one cell distribution model parameter value of the cell'"'"'s respective population; (v) to decode the a priori metrics, thereby providing, for each cell, a respective a posteriori metric, and (vi) to estimate a value of at least one second respective cell distribution model parameter of each population, based at least in part on the a posteriori metrics and without repeating the instructing of the circuitry to measure the operational parameter values.
-
-
17. A memory controller, for a memory that includes a plurality of cells, the memory controller comprising:
-
(a) a measurement functional block for obtaining from the memory, for each cell, a measurement of a respective value of an operational parameter of the cell; (b) an assignment functional block for assigning each cell to a respective one of a plurality of cell populations; (c) an a priori metric functional block for assigning each cell a respective a priori metric; (d) a decoder for decoding the a priori metrics, thereby providing, for each cell, a respective a posteriori metric; and (e) a cell distribution model functional block for; (i) providing a value of at least one first respective cell distribution model parameter of each population, the a priori metric of each cell then being based at least in part on the respective at least one cell distribution model parameter value of the cell'"'"'s respective population, and (ii) estimating a value of at least one second respective cell distribution model parameter of each population, based at least in part on the a posteriori metrics and without repeating the obtaining of the operational parameter value measurements from the memory.
-
-
18. A system for managing a first memory that includes a plurality of cells, the system comprising:
-
(a) a second memory for storing code for; (i) obtaining, from the first memory, for each cell, a measurement of a respective value of an operational parameter of the cell; (ii) assigning each cell to a respective one of a plurality of cell populations, (iii) providing a value of at least one first respective cell distribution model parameter of each population, (iv) assigning each cell a respective a priori metric, based at least in part on the respective at least one cell distribution model parameter value of the cell'"'"'s respective population, (v) decoding the a priori metrics, thereby providing, for each cell, a respective a posteriori metric, and (vi) estimating a value of at least one second respective cell distribution model parameter of each population, based at least in part on the a posteriori metrics, and without repeating the obtaining of the operational parameter value measurements from the first memory; and (b) a processor for executing the code.
-
-
19. A computer readable storage medium having computer readable code embodied on the computer readable storage medium, the computer readable code for managing a memory that includes a plurality of cells, the computer readable code comprising:
-
(a) program code for obtaining from the memory, for each cell, a measurement of a respective value of an operational parameter of the cell; (b) program code for assigning each cell to a respective one of a plurality of cell populations; (c) program code for assigning each cell a respective a priori metric; (d) program code for decoding the a priori metrics, thereby providing, for each cell, a respective a posteriori metric; and (e) program code for; (i) providing a value of at least one first respective cell distribution model parameter of each population, the a priori metric of each cell then being based at least in part on the respective at least one cell distribution model parameter value of the cell'"'"'s respective population, and (ii) estimating a value of at least one second respective cell distribution model parameter of each population, based at least in part on the a posteriori metrics and without repeating the obtaining of the operational parameter value measurements from the memory. - View Dependent Claims (31, 32)
-
-
20. A method of reading a plurality of memory cells, comprising:
-
(a) measuring a respective value of an operational parameter of each cell; (b) providing a value of at least one first cell distribution model parameter of the plurality of memory cells; (c) assigning each cell a respective a priori metric, based at least in part on the at least one first cell distribution model parameter value; (d) decoding the a priori metrics, thereby providing, for each cell, a respective a posteriori metric; and (e) based at least in part on the a posteriori metrics, and without repeating the measuring of the respective values of the operational parameters;
estimating a value of at least one second cell distribution model parameter of the plurality of memory cells. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34)
-
-
35. A memory device comprising:
-
(a) a plurality of cells; (b) circuitry for measuring a respective value of an operational parameter of each cell; and (c) a controller operative; (i) to instruct the circuitry to measure the values of the operational parameters, (ii) to provide a value of at least one first cell distribution model parameter of the plurality of cells, (iii) to assign each cell a respective a priori metric, based at least in part on the at least one cell distribution model parameter value; (iv) to decode the a priori metrics, thereby providing, for each cell, a respective a posteriori metric, and (v) to estimate a value of at least one second respective cell distribution model parameter of the plurality of cells, based at least in part on the a posteriori metrics and without repeating the instructing of the circuitry to measure the operational parameter values.
-
-
36. A memory controller, for a memory that includes a plurality of cells, the memory controller comprising:
-
(a) a measurement functional block for obtaining from the memory, for each cell, a measurement of a respective value of an operational parameter of the cell; (b) an a priori metric functional block for assigning each cell a respective a priori metric; (c) a decoder for decoding the a priori metrics, thereby providing, for each cell, a respective a posteriori metric; and (d) a cell distribution model functional block for; (i) providing a value of at least one first cell distribution model parameter of the plurality of cells, the a priori metric of each cell then being based at least in part on the at least one cell distribution model parameter value, and (ii) estimating a value of at least one second respective cell distribution model parameter of the plurality of cells, based at least in part on the a posteriori metrics and without repeating the obtaining of the operational parameter value measurements from the memory.
-
-
37. A system for managing a first memory that includes a plurality of cells, the system comprising:
-
(a) a second memory for storing code for; (i) obtaining, from the first memory, for each cell, a measurement of a respective value of an operational parameter of the cell; (ii) providing a value of at least one first cell distribution model parameter of the plurality of cells, (iii) assigning each cell a respective a priori metric, based at least in part on the at least one cell distribution model parameter value, (iv) decoding the a priori metrics, thereby providing, for each cell, a respective a posteriori metric, and (v) estimating a value of at least one second respective cell distribution model parameter of the plurality of cells, based at least in part on the a posteriori metrics, and without repeating the obtaining of the operational parameter value measurements from the first memory; and (b) a processor for executing the code.
-
-
38. A computer readable storage medium having computer readable code embodied on the computer readable storage medium, the computer readable code for managing a memory that includes a plurality of cells, the computer readable code comprising:
-
(a) program code for obtaining from the memory, for each cell, a measurement of a respective value of an operational parameter of the cell; (b) program code for assigning each cell a respective a priori metric; (c) program code for decoding the a priori metrics, thereby providing, for each cell, a respective a posteriori metric; and (d) program code for; (i) providing a value of at least one first cell distribution model parameter of the plurality of cells, the a priori metric of each cell then being based at least in part on the at least one cell distribution model parameter value, and (ii) estimating a value of at least one second cell distribution model parameter, based at least in part on the a posteriori metrics and without repeating the obtaining of the operational parameter value measurements from the memory.
-
-
39. A method of reading a plurality of memory cells comprising:
-
(a) for each cell; (i) measuring a respective value, of an operational parameter of the cell, that is indicative of a bit pattern stored in the cell, and (ii) assigning the cell to a respective one of a plurality of cell populations; (b) estimating a value of at least one respective cell distribution model parameter of each cell population; and (c) constraining the estimating by requiring the bit patterns collectively to be a valid error correction codeword without repeating the measuring of the respective values of the operational parameters of any of the cells. - View Dependent Claims (40, 41)
-
-
42. A memory device comprising:
-
(a) a plurality of cells; (b) circuitry for measuring a respective value, of an operational parameter of each cell, that is indicative of a bit pattern stored in the cell; and (c) a controller operative; (i) to instruct the circuitry to measure the values of the operational parameters, (ii) to assign each cell to a respective one of a plurality of cell populations, and (iii) to estimate a value of at least one respective cell distribution model parameter of each cell population, the estimating being constrained by requiring the bit patterns collectively to be a valid error correction codeword without repeating the instructing of the circuitry to measure the operational parameter values.
-
-
43. A memory controller, for a memory that includes a plurality of cells, the memory controller comprising:
-
(a) a measurement functional block for obtaining from the memory, for each cell, a measurement of a respective value, of an operational parameter of the cell, that is indicative of a bit pattern stored in the cell; (b) an assignment functional block for assigning each cell to a respective one of a plurality of cell populations; and (c) an estimation functional block for estimating a value of at least one respective cell distribution model parameter of each cell population, the estimating being constrained by requiring the bit patterns collectively to be a valid error correction codeword without repeating the measurement of the operational parameter values.
-
-
44. A system for managing a first memory that includes a plurality of cells, the system comprising:
-
(a) a second memory for storing code for; (i) obtaining, from the first memory, for each cell, a measurement of a respective value, of an operational parameter of the cell, that is indicative of a bit pattern stored in the cell; (ii) assigning each cell to a respective one of a plurality of cell populations, and (iii) estimating a value of at least one respective cell distribution model parameter of each cell population, the estimating being constrained by requiring the bit patterns collectively to be a valid error correction codeword without repeating the instructing of the circuitry to measure the operational parameter values; and (b) a processor for executing the code.
-
-
45. A computer readable storage medium having computer readable code embodied on the computer readable storage medium, the computer readable code for managing a memory that includes a plurality of cells, the computer readable code comprising:
-
(a) program code for obtaining from the memory, for each cell, a measurement of a respective value, of an operational parameter of the cell, that is indicative of a bit pattern stored in the cell; (b) program code for assigning each cell to a respective one of a plurality of cell populations; and (c) program code for estimating a value of at least one respective cell distribution model parameter of each cell population, the estimating being constrained by requiring the bit patterns collectively to be a valid error correction codeword without repeating the measurement of the operational parameter values.
-
-
46. A method of reading a plurality of memory cells, comprising:
-
(a) for each cell, measuring a respective value, of an operational parameter of the cell, that is indicative of a bit pattern stored in the cell; (b) estimating a value of at least one cell voltage distribution parameter of the plurality of memory cells; and (c) constraining the estimating by requiring the bit patterns collectively to be a valid error correction codeword without repeating the measuring of the respective values of the operational parameters of any of the cells. - View Dependent Claims (47, 48)
-
-
49. A memory device comprising:
-
(a) a plurality of cells; (b) circuitry for measuring a respective value, of an operational parameter of each cell, that is indicative of a bit pattern stored in the cell; and (c) a controller operative; (i) to instruct the circuitry to measure the values of the operational parameters, and (ii) to estimate a value of at least one cell distribution model parameter of the plurality of cells, the estimating being constrained by requiring the bit patterns collectively to be a valid error correction codeword without repeating the instructing of the circuitry to measure the operational parameter values.
-
-
50. A memory controller, for a memory that includes a plurality of cells, the memory controller comprising:
-
(a) a measurement functional block for obtaining from the memory, for each cell, a measurement of a respective value, of an operational parameter of the cell, that is indicative of a bit pattern stored in the cell; and (b) an estimation functional block for estimating a value of at least one cell distribution model parameter of the plurality of cells, the estimating being constrained by requiring the bit patterns collectively to be a valid error correction codeword without repeating the measurement of the operational parameter values.
-
-
51. A system for managing a first memory that includes a plurality of cells, the system comprising:
-
(a) a second memory for storing code for; (i) obtaining, from the first memory, for each cell, a measurement of a respective value, of an operational parameter of the cell, that is indicative of a bit pattern stored in the cell; and (ii) estimating a value of at least one cell distribution model parameter of the plurality of cells, the estimating being constrained by requiring the bit patterns collectively to be a valid error correction codeword without repeating the measurement of the operational parameter values; and (b) a processor for executing the code.
-
-
52. A computer readable storage medium having computer readable code embodied on the computer readable storage medium, the computer readable code for managing a memory that includes a plurality of cells, the computer readable code comprising:
-
(a) program code for obtaining from the memory, for each cell, a measurement of a respective value, of an operational parameter of the cell, that is indicative of a bit pattern stored in the cell; and (b) program code for estimating a value of at least one cell distribution model parameter of the plurality of cells, the estimating being constrained by requiring the bit patterns collectively to be a valid error correction codeword without repeating the measurement of the operational parameter values.
-
Specification