Memory Controller Early Hard-Decode Exit for High-RBER Flash Reads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As flash memory devices age, the increasing Raw Bit Error Rate (RBER) leads to hard-decode failures, causing bottlenecks in memory systems and reducing throughput, as hard-decoding algorithms become inefficient and time-consuming, especially when a high number of errors are encountered.
Innovation Solution
Implementing a method that allows for early termination of the hard-decode process when check node failures exceed a threshold, shifting the workload to soft-decode circuits by requesting additional reads to convert hard-input values into soft-input values for further processing, thereby balancing the workload and maintaining system efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If hard-decoding algorithm is used to decode data, then decoding speed is maintained for low error rates, but throughput decreases when RBER increases and hard-decode failures occur
Solution Approach 1:
The system dynamically switches between hard-decoding and soft-decoding algorithms based on the observed error rate. When RBER is low, hard-decoding is used for high speed. When RBER increases and hard-decode failures occur, the system transitions to soft-decoding to maintain throughput, thus adapting the decoding strategy to current channel conditions
Solution Approach 2:
The invention changes the decoding parameter by switching from hard-input values (binary 0/1) to soft-input values (multi-level confidence values). This parameter change allows the soft-decoding algorithm to handle high RBER scenarios more effectively, preventing throughput degradation when error rates increase
2Reliability
If hard-decoding process continues to maximum iterations, then decoding accuracy is maximized, but time and operations required increase significantly
Solution Approach 1:
The invention extracts and addresses the root cause of excessive decoding time by identifying that continuing hard-decoding to maximum iterations is unnecessary when RBER is high. Instead of persisting with an ineffective algorithm, the system transitions to soft-decoding which achieves comparable accuracy with fewer operations, thus removing the time-wasting element from the decoding process
Solution Approach 2:
The system performs partial hard-decoding iterations before switching to soft-decoding when failures are detected. This partial action approach avoids the excessive time consumption of completing full hard-decoding cycles while still benefiting from initial error correction attempts, achieving a balance between accuracy and time efficiency
3Reliability
If additional reads are performed to obtain soft-input values, then decoding success rate improves for high RBER, but system complexity increases
Solution Approach 1:
The memory controller is designed with multi-functionality to perform both hard-decoding and soft-decoding operations. This universal decoder can handle both low RBER scenarios (using fast hard-decoding) and high RBER scenarios (using soft-decoding with additional reads), eliminating the need for separate decoding systems and reducing overall system complexity despite the added capability
Data Source
AI summary
A method and apparatus for decoding are disclosed. The method includes receiving a first Forward Error Correction (FEC) block of read values, starting a hard-decode process in which a number of check node failures is identified and, during the hard-decode process comparing the identified number of check node failures to a decode threshold. When the identified number of check node failures is not greater than the decode threshold the hard-decode process is continued. When the identified number of check node failures is greater than the decode threshold, the method includes: stopping the hard-decode process prior to completion of the hard-decode process; generating output indicating that additional reads are required; receiving one or more additional FEC blocks of read values, mapping the first FEC block of read values and the additional FEC blocks of read values into soft-input values; and performing a soft-decode process on the soft-input values.


