NAND Flash String Error Recovery Using Cross-Dimensional ECC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory systems face challenges in data recovery when traditional block error correction codes fail, particularly due to catastrophic failures like word line failures, as they are limited in correcting errors beyond their capability, leading to uncorrectable data errors with potentially catastrophic consequences.
Innovation Solution
Implementing supplemental error correction codes, such as convolutional codes, which are incrementally updateable and stored across columns, allowing for error correction in a different dimension of the memory array, enabling recovery even when block error correction codes are unable to correct data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional block error correction codes are used, then data storage is simple and efficient, but data recovery fails when catastrophic errors exceed correction capability
Solution Approach 1:
The patent transitions from traditional block-based error correction (operating on 2D arrays of data bits) to convolutional code-based error correction (operating on 1D sequences along NAND flash strings). This dimensional change allows the system to exploit temporal correlations along the string direction, enabling recovery from catastrophic failures that destroy entire blocks while maintaining manageable system complexity through incremental updating mechanisms.
Solution Approach 2:
The patent divides the error correction function into two independent segments: block error correction codes operating on data blocks and convolutional codes operating along NAND flash strings. This segmentation allows each code type to address specific failure modes independently, with block codes handling random errors and convolutional codes handling catastrophic errors, thereby improving overall reliability without requiring a single complex correction system.
2Reliability
If block error correction codes are used, then implementation is straightforward, but correction capability is limited beyond certain error thresholds
Solution Approach 1:
The patent merges two error correction approaches: block error correction codes (such as BCH or Reed-Solomon) and convolutional codes (such as Viterbi decoding). The block codes provide robust correction for random errors within blocks, while convolutional codes provide additional correction capability for catastrophic errors affecting entire strings. This combination achieves superior error correction capability without requiring a single overly complex coding scheme.
Solution Approach 2:
The patent applies convolutional encoding during the write operation along NAND flash strings, preparing redundancy information in advance. When read operations occur, the pre-computed convolutional codes enable rapid error correction without requiring complex real-time computation. This preliminary action reduces the complexity of the decoding system while maintaining high correction capability.
Data Source
AI summary
Apparatus and methods store error recovery data in different dimensions of a memory array. For example, in one dimension, block error correction codes (ECC) are used, and in another dimension, supplemental error correction codes, such as convolutional codes, are used. By using separate dimensions, the likelihood that a defect affects both error recovery techniques is lessened, thereby increasing the probability that error recovery can be performed successfully. In one example, block error correction codes are used for data stored along rows, and this data is stored in one level of multiple-level cells of the array. Supplemental error correction codes are used for data stored along columns, such as along the cells of a string, and the supplemental error correction codes are stored in a different level than the error correction codes.


