Codeword Decoding with Historical Soft Information Reuse
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current error-correcting codes, such as LDPC codes, are computationally complex and require improvements in decoding efficiency, especially in non-volatile storage systems where data corruption is common and decoding operations can be challenging without sufficient soft information.
Innovation Solution
A method involving a storage system controller with multiple ECC decoders of varying power levels, where a first decoder attempts to decode a codeword without soft information, and if it fails, a more powerful second decoder is used to successfully decode the codeword, generating soft information that can be used to aid in decoding subsequent codewords from the same storage location.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a more powerful second decoder is used to decode the first codeword without soft information, then decoding success rate is improved, but decoding time and computational complexity increase
Solution Approach 1:
The decoding process is segmented into multiple stages: first decoder attempts without soft information, second decoder attempts without soft information if first fails, and subsequent decoders use soft information from successful decodings. This segmentation allows the system to use powerful decoders only when necessary, improving success rate while controlling time loss.
Solution Approach 2:
Soft information is generated and stored in advance from successful decoding operations on the same storage location. This preliminary action prepares decoding assistance data that can be quickly applied to subsequent codewords, reducing the need to repeatedly use powerful decoders and thus decreasing overall decoding time.
2Productivity
If soft information is generated and stored for subsequent decoding operations, then decoding efficiency for subsequent codewords is improved, but memory usage and system complexity increase
Solution Approach 1:
A soft information generator and soft information memory act as intermediaries between the decoders and storage location. These components capture decoding results and transform them into reusable soft information, mediating the complexity by centralizing the information generation and storage function rather than embedding it in each decoder.
Solution Approach 2:
Instead of having each decoder independently process all decoding challenges, the system creates copies of soft information from successful decoding operations and reuses these copies for subsequent codewords. This copying approach improves efficiency by avoiding redundant complex processing while keeping the system relatively simple through information replication.
3Reliability
If multiple ECC decoders of varying power levels are used, then error correction capability is improved, but device complexity and resource requirements increase
Solution Approach 1:
Different decoders are assigned different power levels and capabilities tailored to specific decoding scenarios. The first decoder handles simple cases, the second decoder handles more difficult cases without soft information, and subsequent decoders leverage soft information. This local quality assignment optimizes error correction capability for each scenario while managing overall system complexity.
Solution Approach 2:
The system changes the operational parameters of decoders based on the decoding context - whether soft information is available or not, and the error severity. By dynamically adjusting which decoder is used and with what parameters (with or without soft information), the system achieves high error correction capability without permanently maintaining maximum complexity for all operations.
Data Source
AI summary
Systems and methods are provided for decoding data read from non-volatile storage devices. A method that may include decoding a first codeword read from a storage location of a non-volatile storage device using a first decoder without soft information, determining that the first decoder has failed to decode the first codeword, decoding the first codeword using a second decoder without soft information, determining that the second decoder has succeeded in decoding the first codeword, generating soft information associated with the storage location using decoding information generated by the second decoder and decoding a subsequent codeword from the storage location using the soft information associated with the storage location. The second decoder may be more powerful than the first decoder.


