Flash Memory Hard Decoding with Product Codes for High Code Rates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional encoding methods are not well suited for supporting codes with high code rates for both hard decoding and soft decoding, particularly in flash memory devices where errors can occur due to noise and interference.
Innovation Solution
The proposed solution involves a code construction based on simple component codes, such as Bose-Chaudhuri-Hocquenghem (BCH) codes, which implement iterative decoding. This approach includes multi-dimensional encoding using product codes, allowing for efficient implementation and improved error correction capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional encoding methods are used for high code rates, then code rate is improved, but implementation complexity increases and reliability decreases
Solution Approach 1:
The patent segments the encoding process into multiple component codes (e.g., outer code and inner code) that can be independently decoded. This segmentation allows high code rates to be achieved while maintaining manageable complexity through iterative decoding of simpler component codes rather than attempting to decode a single complex high-rate code.
Solution Approach 2:
The patent introduces multi-dimensional encoding using product codes where data is encoded along multiple dimensions (rows and columns). This dimensional approach enables high code rates while distributing the correction burden across multiple simpler component codes, reducing overall implementation complexity compared to single-dimension high-rate codes.
2Quantity of substance
If conventional encoding methods are used for high code rates, then code rate is improved, but error correction reliability worsens
Solution Approach 1:
By dividing the error correction task across multiple component codes with different error correction capabilities, the system achieves more reliable error correction than a single conventional high-rate code could provide. Each component code targets specific error patterns, improving overall reliability.
Solution Approach 2:
The iterative decoding process uses feedback between component decoders, where each decoder's output becomes input for the next decoding stage. This feedback mechanism progressively refines error correction, achieving high reliability even at high code rates where conventional single-stage decoding would fail.
3Device complexity
If simple component codes are used, then device complexity is reduced, but error correction capability worsens
Solution Approach 1:
The patent merges multiple simple component codes into a product code structure where their combined error correction capability exceeds that of any individual component code. The synergistic effect of combining simple codes achieves the error correction power previously requiring complex single codes.
Solution Approach 2:
By organizing simple component codes in multiple dimensions (row codes and column codes in product codes), the system achieves enhanced error correction capability that simple single-dimension codes cannot provide, while maintaining the simplicity of individual component code implementations.
Data Source
AI summary
Embodiments relate to decoding data read from a non-volatile storage device, including determining error candidates for the data based on component codes, determining whether at least one first error candidate from the error candidates is found based on two of the component codes agreeing on a same error candidate, determining whether at least one second error candidate is found based on two of the component codes agreeing on a same error candidate in response to implementing a suggested correction at one of the error candidates, and correcting errors in the data based on at least one of whether the at least one first error candidate is found or whether the at least one second error candidate is found.


