Programming nonvolatile memory based on statistical analysis of charge level distributions of memory cells
AssigneeMarvell World Trade Ltd.
InventorsZining Wu, Xueshi Yang
Life of this patent
Estimating the term…
Abstract
A system including a read module, a delay buffer, and a least mean square module. The read module is configured to read charge levels of memory cells of a nonvolatile memory and to generate read signals based on the charge levels of the memory cells of the nonvolatile memory. The delay buffer is configured to delay the read signals and to generate delayed read signals. The least mean square module is configured to generate mean values of the charge levels used to program the memory cells based on (i) differences between the read signals and the delayed read signals and (ii) a scaling factor. The scaling factor is based on variations in the charge levels due to cycling of the memory cells of the nonvolatile memory.
Claims22
A system comprising:
- a read module configured to
- read charge levels of memory cells of a nonvolatile memory, and
- generate read signals based on the charge levels of the memory cells of the nonvolatile memory;
- a delay buffer configured to
- delay the read signals, and
- generate delayed read signals;
- and
- a least mean square module configured to
- generate mean values of the charge levels used to program the memory cells based on (i) differences between the read signals and the delayed read signals and (ii) a scaling factor,
- wherein the scaling factor is based on variations in the charge levels due to cycling of the memory cells of the nonvolatile memory.
A method comprising:
- reading charge levels of memory cells of a nonvolatile memory;
- generating read signals based on the charge levels of the memory cells of the nonvolatile memory;
- generating delayed read signals by delaying the read signals;
- and
- generating mean values of the charge levels used to program the memory cells based on (i) differences between the read signals and the delayed read signals and (ii) a scaling factor,
- wherein the scaling factor is based on variations in the charge levels due to cycling of the memory cells of the nonvolatile memory.
A system comprising:
- a read module configured to read charge levels of memory cells of a nonvolatile memory and generate read signals based on the charge levels of the memory cells of the nonvolatile memory;
- a delay buffer configured to delay the read signals and generate delayed read signals;
- a least mean square module configured to generate mean values of the charge levels used to program the memory cells based on (i) differences between the read signals and the delayed read signals and (ii) a scaling factor, wherein the scaling factor is based on variations in the charge levels due to cycling of the memory cells of the nonvolatile memory;
- and
- a statistical data generating module configured to generate statistical data based on the read signals, wherein the statistical data includes (i) a mean and (ii) a standard deviation of each charge level distribution of the memory cells, and wherein the read module is configured to generate the read signals based on (i) the charge levels of the memory cells and (ii) the statistical data;
- a storing module configured to store the statistical data;
- a statistical data processing module configured to process the statistical data stored in the storing module using one or more of (i) Viterbi detection and (ii) iterative decoding;
- and
- a program module configured to program the memory cells and select an error correcting code to program the memory cells based on the processed statistical data.
A system comprising:
- a read module configured to read charge levels of memory cells of a nonvolatile memory and generate read signals based on the charge levels of the memory cells of the nonvolatile memory;
- a delay buffer configured to delay the read signals and generate delayed read signals;
- a least mean square module configured to generate mean values of the charge levels used to program the memory cells based on (i) differences between the read signals and the delayed read signals and (ii) a scaling factor, wherein the scaling factor is based on variations in the charge levels due to cycling of the memory cells of the nonvolatile memory;
- and
- a statistical data generating module configured to generate statistical data based on the read signals, wherein the statistical data includes (i) a mean and (ii) a standard deviation of each charge level distribution of the memory cells, and wherein the read module is configured to generate the read signals based on (i) the charge levels of the memory cells and (ii) the statistical data,
- wherein the statistical data generating module comprises:
- a detecting module configured to generate data based on the read signals;
- a signal reconstructing module configured to generate reconstructed signals based on the data;
- and
- a difference module configured to generate the differences based on (i) the reconstructed signals and (ii) the delayed read signals,
- wherein the delay buffer is configured to delay the read signals by an amount of delay between (i) the detecting module and (ii) the signal reconstructing module, and
- wherein the amount of delay synchronizes (i) the delayed read signals and (ii) the reconstructed signals.
Dependencies are inferred from the claim text.