Binary Subgroup LDPC Decoding for Faster Flash Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory arrays in data storage systems face limited endurance, leading to potential data corruption, and existing decoding methods for error correction, such as LDPC codes, are resource-intensive and time-consuming.
Innovation Solution
A non-binary LDPC decoder module decomposes non-binary decoding processes into binary decoding processes, allowing for simplifications and approximations that reduce computational complexity and memory usage, enabling faster decoding without evaluating numerous combinations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If non-binary LDPC decoding is performed directly, then decoding accuracy is maintained, but computational complexity and time consumption increase significantly
Solution Approach 1:
The non-binary LDPC decoding process is segmented into multiple binary decoding stages. Each binary stage processes a subset of the original non-binary check constraints, breaking down the complex non-binary decoding into simpler binary decoding operations that can be performed more efficiently while collectively achieving the same error correction goal
Solution Approach 2:
Binary check nodes are introduced as intermediary processing elements between the input data and final decoding output. These binary check nodes perform simplified binary parity checks that mediate the complex non-binary decoding process, reducing computational burden while maintaining decoding performance through iterative refinement
2Measurement precision
If non-binary LDPC decoding is performed directly, then decoding accuracy is maintained, but time consumption increases
Solution Approach 1:
The decoding time is reduced by segmenting the non-binary decoding into parallel binary decoding stages. Each binary stage processes check constraints independently and can be executed more quickly, with the overall decoding time being the sum of multiple shorter binary decoding iterations rather than one long non-binary decoding process
Solution Approach 2:
Simplified binary check node operations are used as disposable processing steps that can be quickly executed and discarded after each iteration. These binary check operations require fewer computational resources and can be performed rapidly, allowing multiple iterations to be completed in the time it would take for fewer non-binary iterations
3Reliability
If non-binary LDPC decoding is performed directly, then error correction capability is maintained, but resource usage increases
Solution Approach 1:
The resource-intensive non-binary decoding operations are segmented into multiple lighter-weight binary decoding stages. Each binary stage consumes fewer computational resources (less energy, fewer operations) while the cumulative effect of multiple binary stages achieves the same error correction capability as the original non-binary approach
Solution Approach 2:
The decoding approach changes parameters from non-binary operations to binary operations. This parameter change reduces the computational complexity and resource usage of each decoding iteration, as binary operations require fewer arithmetic operations and less memory access compared to non-binary operations, while maintaining overall decoding performance through iterative processing
Data Source
AI summary
In one embodiment, an electronic system includes a decoder configured to decode an encoded data unit using multiple variable nodes and multiple check nodes to perform a low-density parity check (LDPC) decoding process. The encoded data unit can be received from a solid-state memory array. As part of performing the LDPC decoding process, the decoder can (i) convert reliability information representing first non-binary values to reliability information representing first binary values, (ii) determine reliability information representing second binary values using the reliability information representing first binary values, and (iii) convert the reliability information representing the second binary values to reliability information representing second non-binary values.


