ECC Hard-Bit Decoding for Memory Disturb Error Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory devices, such as USB flash memory and removable storage cards, face data loss due to 'disturb' errors where read or write operations on one memory cell affect adjacent cells, exceeding error correction capabilities.
Innovation Solution
A system and method to decode data by identifying bits prone to disturb conditions through a test pattern based on neighbor memory cell states, using a controller with a disturb detector and error correction code decoder to modify data and perform subsequent decode operations until successful correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If process advances enable smaller physical dimensions of memory cells, then memory density and portability are improved, but coupling effects between neighboring cells increase causing disturb errors
Solution Approach 1:
The system performs preliminary actions by reading and storing the states of neighboring memory cells before attempting to decode data from the target cell. This advance preparation allows the decoder to have information about potential disturb conditions before the actual decoding attempt, enabling proactive error correction rather than reactive handling.
Solution Approach 2:
The patent introduces an intermediary mechanism - the disturb condition test pattern and neighbor state information - that mediates between the physical coupling effects (harmful) and the data decoding process (useful). This intermediary layer allows the system to account for and compensate for the coupling effects without being directly controlled by them, transforming the harmful physical phenomenon into manageable information.
2Reliability
If error correction capacity is exceeded due to disturb errors, then data reliability deteriorates, but implementing more robust error correction increases device complexity
Solution Approach 1:
The decoding process is segmented into multiple distinct stages: first decoding the target cell data, then separately reading and analyzing neighbor cell states, comparing against test patterns, and conditionally correcting errors. This segmentation allows each component to be optimized independently and makes the overall complex process more manageable and implementable in hardware.
Solution Approach 2:
The system applies partial action by not attempting to correct all possible errors, but only those that match specific disturb condition test patterns. Rather than implementing a full-error-correction scheme for all potential errors, the decoder focuses on correcting the specific subset of errors that are most likely to occur due to the known physical coupling effects, reducing complexity while maintaining effectiveness.
3Measurement precision
If neighbor cell states are read and compared to test patterns, then disturb error detection is improved, but read operations increase time and energy consumption
Solution Approach 1:
The system implements periodic action by performing neighbor cell reads and comparisons only when the first decode operation fails, rather than continuously for every data read. This conditional periodic execution reduces the overall time and energy consumption while still providing high detection precision when errors are actually present, balancing the trade-off between accuracy and efficiency.
Data Source
AI summary
A method includes initiating a first decode operation of data at an error correction code (ECC) hard bit decoder in a data storage device that includes a controller and a memory. The method further includes, in response to the first decode operation indicating that the data is uncorrectable by the first decode operation, identifying one or more bits of the data that correspond to a disturb condition test pattern, changing a value of the one or more identified bits of the data to generate modified data, and initiating a second decode operation at the ECC hard bit decoder using the modified data.


