LDPC Flash Memory Decoding With Segment Skipping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing length of LDPC codes leads to longer decoding times, resulting in delayed data response and increased waiting times during data access in flash memory systems, as existing technologies do not efficiently manage the decoding process.
Innovation Solution
A flash memory controller with an LDPC decoder that includes a variable-node circuit, check-node circuit, segment detection circuit, syndrome check circuit, and control circuit, which skips already decoded codeword segments and updates messages iteratively, reducing decoding time by focusing on segments with failed decoding status and reassembling the codeword with successful segments for re-decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the length of LDPC code is increased to improve error correction capability, then the correction ability is improved, but the decoding time increases
Solution Approach 1:
The patent divides the codeword into multiple segments and performs segment detection to identify which segments have been successfully decoded. This segmentation allows the system to process and identify successful segments independently, enabling the skipping mechanism to work effectively on a per-segment basis rather than requiring complete codeword processing.
Solution Approach 2:
The patent implements a skipping mechanism where successfully decoded segments are identified through segment detection and then skipped in subsequent decoding iterations. The control circuit tracks which segments have passed decoding status and excludes them from further variable-node and check-node calculations, allowing the decoding process to rush through already-successful portions and focus only on problematic segments.
2Reliability
If the decoding process processes all codeword segments to ensure complete error correction, then the reliability is improved, but the productivity decreases
Solution Approach 1:
The patent implements feedback through segment detection that provides information about which codeword segments have been successfully decoded. This feedback mechanism allows the control circuit to adjust the decoding process by identifying successful segments and excluding them from further processing, creating a feedback loop that optimizes resource allocation and improves decoding efficiency while maintaining reliability.
Solution Approach 2:
The patent applies partial action by performing complete decoding operations only on segments that have failed decoding status, while successfully decoded segments receive minimal or no further processing. This partial action approach avoids the excessive processing of already-correct segments while ensuring that only the necessary portions undergo full decoding scrutiny, thereby improving productivity without sacrificing reliability.
3Reliability
If the decoding process iterates multiple times to ensure complete decoding, then the reliability is improved, but the loss of time increases
Solution Approach 1:
The patent segments the codeword into multiple independent detectable units and applies segment detection to each segment individually during decoding iterations. This segmentation allows the system to track decoding status per segment across iterations, enabling the skipping mechanism to eliminate successfully decoded segments from subsequent iterations and reduce overall processing time while maintaining decoding completeness.
Solution Approach 2:
The patent performs segment detection as a preliminary action before subsequent decoding iterations to identify successfully decoded segments in advance. By detecting successful segments early and marking them for skipping, the system prepares the decoding process to avoid redundant work in later iterations, reducing waiting time while ensuring that all necessary decoding operations are performed on segments that actually need them.
Data Source
AI summary
A flash memory controller is configured to decode a codeword. During the decoding process, the flash memory can check the decoding status of each codeword segment in the codeword and skip the decoding of a codeword segment whose decoding status is passed, thereby saving time decoding and also improving decoding efficiency. Even though only a part of the codeword segments in the codeword have been successfully decoded in the decoding process at the previous time, the flash memory controller can replace the part of the codeword segments in the codeword with the correct results obtained previously, and then decoding the re-formed codeword again. Accordingly, the decoding accuracy can be increased and the burden on the subsequent decoding process or data recovery can be reduced.


