Memory Controller Decoding with Row-Column Extrinsic Exchange
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage apparatuses face challenges in efficiently decoding product codes stored in non-volatile memory, particularly in improving error correction capabilities and handling varying error conditions due to the limitations of hard-input hard-output (HIHO) and soft-input soft-output (SISO) decoding methods.
Innovation Solution
A memory controller is designed with a row decoder and a column decoder that utilize soft input information to calculate extrinsic information, employing multiple decoding methods in each dimension and selecting the most accurate results to enhance error correction capabilities, and incorporating a selection unit to choose between different decoding outcomes based on accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If hard-input hard-output (HIHO) decoding method is used, then device complexity is reduced, but error correction capability deteriorates
Solution Approach 1:
The decoding process is segmented into row decoding and column decoding stages, where each stage uses appropriate decoding methods. The row decoder uses SISO decoding while the column decoder uses HIHO decoding, allowing each segment to be optimized independently for its specific requirements.
Solution Approach 2:
Different decoding methods are applied to different parts of the decoding process based on local requirements. Soft-input soft-output decoding is used in the row direction where error correction capability is prioritized, while hard-input hard-output decoding is used in the column direction where simplicity is sufficient.
2Reliability
If soft-input soft-output (SISO) decoding method is used, then error correction capability is improved, but device complexity increases
Solution Approach 1:
The SISO decoding complexity is segmented and applied only where needed (row decoding), while the column decoding uses simpler HIHO methods. This segmentation allows the system to benefit from SISO's superior error correction where it matters most without applying its complexity throughout the entire decoding process.
Solution Approach 2:
Instead of applying full SISO decoding to both row and column directions, the invention applies SISO decoding partially (only to row decoding), which provides sufficient error correction capability for the most critical error-prone direction while avoiding the excessive complexity of applying it everywhere.
3Reliability
If multiple decoding methods are employed in each dimension, then error correction capability is improved, but device complexity increases
Solution Approach 1:
The invention applies different levels of decoding complexity to different dimensions based on local requirements. The row dimension uses SISO decoding with multiple iterations to handle the most error-prone operations, while the column dimension uses simpler HIHO decoding, creating a non-uniform but optimized complexity distribution.
Solution Approach 2:
The decoding process dynamically adapts by using iterative SISO decoding in the row direction with a configurable number of iterations, allowing the system to adjust the level of complexity applied based on the actual error conditions encountered in the data being decoded.
Data Source
AI summary
According to an embodiment, a row decoder to perform row decoding by using, as row soft input information, a row received word read as soft determination information from a non-volatile memory and to calculate row extrinsic information and a column decoder to perform column decoding by using column soft input information, which is a result of adding of the row extrinsic information to a column received word read as soft determination information from the non-volatile memory, and to calculate column extrinsic information are included. The row decoder includes a first decoder for first decoding, a second decoder for second decoding a decoding method of which is different from that of the first decoding, and a selection unit to select a decoded result based on accuracy of a decoded result of the first decoding and that of a decoded result of the second decoding and to calculate the row extrinsic information.


