Codeword Rebuild and Bit Flipping for Uncorrectable ECC Errors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage devices face issues with incorrect bit flipping due to corrupted indicators in defective memory sections, leading to errors that error correction algorithms cannot correct, especially when the indicators themselves become corrupted during data reading.
Innovation Solution
A data storage controller is implemented with a method to detect and correct flipped bits by comparing rebuilt codewords with selected codewords, flipping bits in sections that differ significantly, and performing a soft error correction decode process using confidence values generated from the comparison, thereby bypassing the need for reliable indicators.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a data storage device uses indicators to track flipped bits in defective memory sections, then it can correct errors from stuck memory cells, but the indicators themselves may become corrupted causing incorrect bit flipping
Solution Approach 1:
The patent introduces an intermediary comparison mechanism that compares the selected codeword with rebuilt codewords from redundant sets. This intermediary comparison process validates whether bit flipping is actually needed before performing the flip operation, thereby preventing incorrect modifications caused by corrupted indicators while maintaining the ability to correct errors from stuck memory cells.
Solution Approach 2:
The system implements feedback by comparing the selected codeword against rebuilt codewords and using the comparison results to determine whether bit flipping should be performed. This feedback loop verifies the actual state of the data before correction, ensuring that flipping operations are only applied when genuinely needed and preventing propagation of errors from corrupted indicator bits.
2Reliability
If error correction algorithms reject data with too many errors, then data integrity is maintained, but valid data with corrupted indicators is incorrectly discarded
Solution Approach 1:
The patent performs preliminary bit flipping operations based on comparison results before the error correction decode process. By proactively correcting the flipped bits induced by stuck memory cells beforehand, the system reduces the error count to within the correction capability of the algorithm, preventing premature rejection of valid data while maintaining data integrity.
Solution Approach 2:
The system applies preliminary anti-action by counteracting the effect of corrupted indicators through comparison-based verification. Before the error correction algorithm processes the data, the system uses the comparison mechanism to identify and correct false error indications, thereby preventing valid data from being incorrectly rejected due to indicator corruption.
3Reliability
If the system performs bit flipping based on corrupted indicators, then it attempts to correct errors, but it creates additional errors that cannot be corrected
Solution Approach 1:
The comparison mechanism provides feedback that verifies whether bit flipping is genuinely needed by checking against rebuilt codewords from redundant sets. This feedback loop prevents the system from performing incorrect bit flipping operations that would be caused by corrupted indicators, thereby avoiding the creation of additional uncorrectable errors while maintaining the ability to correct genuine errors.
Solution Approach 2:
The patent introduces an intermediary validation step that mediates between the corrupted indicators and the bit flipping operation. This intermediary comparison process acts as a gatekeeper, allowing bit flipping only when verified as necessary through comparison with rebuilt codewords, thereby preventing incorrect flipping operations from creating additional errors.
Data Source
AI summary
Technologies for correcting flipped bits prior to performing an error correction decode process include an apparatus that includes a memory to store a redundant set of codewords and a controller to read data from the memory. The controller selects a codeword from the redundant set of codewords to read from the memory, analyzes the selected codewords to determine whether the codeword contains uncorrectable errors, reads remaining codewords in the redundant set that correspond to the selected codeword, combines the remaining codewords together to generate a rebuilt codeword, flips bits in sections of the rebuilt codeword that differ from the selected codeword by a threshold amount, and performs an error correction decode process based on the rebuilt codeword.


