Storage Controller Read-Level Tuning for Faster NAND ECC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The operating speed of storage devices with nonvolatile memory, such as NAND flash, is hindered by the deterioration of cell distribution over time, leading to increased errors in read operations, which complicates the determination of optimal read levels and soft decision offset values for error correction decoding.
Innovation Solution
A method for a storage controller that performs initial error correction decoding on read data, adjusts read levels and determines soft decision offset values based on predetermined methods, and stores successful combinations as a history log to optimize subsequent read operations, thereby improving operating speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple read operations are performed to determine soft decision offset value, then error correction decoding accuracy is improved, but operating speed of storage device decreases
Solution Approach 1:
The patent applies preliminary action by pre-determining soft decision offset values for multiple read levels during manufacturing or initialization and storing them in a lookup table. When a read operation is needed, the controller directly retrieves the pre-calculated offset value corresponding to the determined read level, eliminating the need for time-consuming multiple read operations to find the optimal offset value during actual data retrieval.
Solution Approach 2:
The patent prepares offset value compensation data in advance for various read levels and stores it in memory. This beforehand cushioning ensures that when cell distribution deteriorates and read errors occur, the controller can immediately apply the appropriate pre-prepared offset value without performing additional read operations, thus maintaining both accuracy and speed.
2Reliability
If new read level is determined to compensate for cell distribution deterioration, then read data reliability is improved, but additional read operations increase operating time
Solution Approach 1:
The patent pre-calculates and stores the relationship between read levels and their corresponding soft decision offset values in a lookup table during initialization. When cell distribution deteriorates, the controller can quickly determine the appropriate read level and immediately retrieve the corresponding pre-computed offset value, avoiding time-consuming iterative read operations to find the optimal parameters.
Solution Approach 2:
The patent implements feedback by monitoring read operation results and cell distribution status, then using this information to select appropriate pre-stored read levels and offset values from the lookup table. This feedback mechanism allows the system to adapt to cell distribution changes without performing additional time-consuming read operations to determine new parameters.
3Reliability
If soft decision data is generated through multiple read operations, then ECC decoding success rate is improved, but productivity of storage device decreases
Solution Approach 1:
The patent pre-determines and stores soft decision offset values for multiple read levels in advance, creating a lookup table that maps read levels to their optimal offset values. During actual operation, the controller simply retrieves the pre-computed offset value corresponding to the selected read level, eliminating the need for multiple iterative read operations to generate soft decision data, thus maintaining high ECC decoding success rates while preserving throughput.
Solution Approach 2:
The patent creates a copy of the offset value information in a lookup table that can be quickly referenced during read operations. Instead of performing multiple read operations to determine the offset value, the system copies the pre-determined offset value from the lookup table into the active working register, enabling rapid generation of soft decision data without repeated read cycles.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
A method for operating a storage controller includes receiving a first read command, performing a first read of data stored in a nonvolatile memory using a first read level and receiving a first read data, performing first error correction decoding of the first read data to determine whether the first error correction decoding succeeds, determining a second read level using a predetermined method, and determining a first soft decision offset value of the second read level, reading data stored in the nonvolatile memory using the determined second read level and the first soft decision offset value and receiving a first soft decision data, performing second error correction decoding of the first soft decision data to determine whether the second error correction decoding succeeds, and storing the second read level, a first method used to determine the second read level and the first soft decision offset value .