Nonvolatile Memory Read Threshold Tuning From ECC Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In nonvolatile memory systems, accurately positioning read thresholds between programming levels is crucial to minimize bit error rates, as overlapping voltage distributions can lead to erroneous readings, and existing methods are insufficient for achieving the required accuracy.
Innovation Solution
A memory controller that reads ECC code words using multiple read thresholds positioned between adjacent programming levels, calculates distances between reference and actual readouts, and sets a preferred read threshold based on these distances to minimize bit errors, employing iterative decoding and soft metrics to enhance decoding probability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If multiple read thresholds are used to accurately distinguish programming levels, then measurement precision is improved, but device complexity increases
Solution Approach 1:
The patent employs iterative decoding where the decoded output from one iteration feeds back into the next iteration to refine soft metrics and improve decoding accuracy. The system calculates distances between reference decoded readouts and actual readouts, using this feedback to adjust and optimize read threshold positions across multiple iterations until convergence or maximum iterations are reached.
Solution Approach 2:
The system performs preliminary decoding attempts using initial read thresholds before final threshold determination. Reference decoded readouts are generated in advance to serve as comparison baselines for calculating distances and determining optimal threshold positions, allowing the system to prepare decision criteria before final read operations.
2Reliability
If iterative decoding with multiple decoding iterations is performed to enhance soft metrics, then reliability is improved, but loss of time increases
Solution Approach 1:
The system performs a limited number of decoding iterations (up to a predefined maximum) rather than infinite iterations. The decoding process can terminate early if successful decoding is achieved or if the maximum number of iterations is reached, balancing the need for high reliability with acceptable time constraints by performing only the necessary number of iterations.
Solution Approach 2:
The system dynamically adjusts soft metrics parameters across decoding iterations, refining likelihood ratios and other decoding parameters based on distance calculations from reference readouts. This parameter refinement improves decoding reliability with each iteration while the predefined maximum iteration limit constrains the time overhead.
3Measurement precision
If Gaussian models are estimated and soft metrics are calculated to improve decoding accuracy, then measurement precision is improved, but device complexity increases
Solution Approach 1:
The patent introduces soft metrics as an intermediary between raw readout data and final decoding decisions. Gaussian models serve as mathematical intermediaries that characterize voltage distributions of programming levels, allowing the system to translate physical voltage measurements into probabilistic information that guides more accurate decoding without requiring direct complex analysis of voltage distributions.
Data Source
AI summary
A memory controller includes an interface and a processor. The interface communicates with a plurality of memory cells, and an individual one of the plurality of memory cells stores data in multiple predefined programming levels. The processor is configured to read an Error Correction Code (ECC) code word from a group of memory cells, via the interface, using multiple read thresholds positioned between adjacent programming levels, for producing multiple readouts that contain respective numbers of errors, to derive from the code word a reference readout that contains no errors, or contains a number of errors smaller than in the code word, to calculate multiple distances between the reference readout and the respective readouts, and set a preferred read threshold based on the calculated distances, and to perform subsequent read operations for retrieving data from the plurality of memory cells, using the preferred read threshold.


