Error Correction Circuit Using Cross-Codeword Flip Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current error correction circuits in data storage devices face challenges in quickly and efficiently performing error correction operations, which affects data reliability and operational performance.
Innovation Solution
An error correction circuit and method that includes a control unit and decoder, capable of performing flip operations within predetermined ranges on data blocks within codewords, switching between codewords of different directions to correct errors, utilizing algorithms like BCH and TPC for decoding and encoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional error correction decoding is performed on all codewords sequentially, then error correction completeness is improved, but error correction time increases
Solution Approach 1:
The patent segments the error correction process into two distinct phases: a fast decoding phase that processes only selected codewords quickly, and a subsequent phase that handles remaining codewords. This segmentation allows the system to achieve rapid error correction for the majority of cases while maintaining the ability to complete correction for all codewords if needed, thus resolving the contradiction between speed and completeness.
Solution Approach 2:
The patent applies partial action by performing error correction on only a subset of codewords during the fast decoding phase rather than processing all codewords. The control unit identifies and corrects errors in selected codewords that are most likely to contain errors or are critical for data integrity, achieving sufficient error correction completeness while significantly reducing the time required compared to processing all codewords.
2Reliability
If flip operations are performed on all data blocks to ensure error correction, then error correction reliability is improved, but operational efficiency decreases
Solution Approach 1:
The patent applies local quality by performing flip operations selectively on specific data blocks within codewords rather than uniformly on all data blocks. The control unit identifies data blocks that are more likely to contain errors based on codeword selection criteria, and applies flip operations only to those localized areas, thereby maintaining high error correction reliability while improving operational efficiency by avoiding unnecessary operations on error-free blocks.
3Measurement precision
If comprehensive decoding is performed on selected codewords, then error detection capability is improved, but processing speed decreases
Solution Approach 1:
The patent applies preliminary action by performing a preliminary selection of codewords that are most likely to contain errors before executing comprehensive decoding. The control unit uses initial assessment criteria to identify high-priority codewords, then performs thorough decoding only on these selected codewords. This preliminary filtering enables the system to achieve strong error detection capability for critical data while maintaining high processing speed by avoiding comprehensive decoding of all codewords.
Data Source
AI summary
An error correction circuit includes a control unit configured to receive a data chunk including data blocks, each of the data blocks being included in corresponding codewords of first and second directions; and a decoder configured to perform a decoding operation for a codeword selected by the control unit. The control unit selects a first codeword among codewords selected in the data chunk, and provides the first codeword to the decoder by performing a flip operation in a first data block included in the first codeword. The control unit selects a second codeword among the selected codewords, and provides the second codeword to the decoder by performing a flip operation in a second data block included in the second codeword. When a decoding operation for the first codeword fails, the control unit selects the second data block to be included in different codewords from the first data block.


