NAND Memory String Error Recovery Using Cross-Dimensional ECC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
NAND flash memory systems face challenges in error correction beyond the limits of traditional block error correction codes, particularly when catastrophic failures such as word line failures occur, leading to uncorrectable errors and data loss.
Innovation Solution
Implementing supplemental error correction codes like convolutional codes, which are incrementally updateable and stored along columns, allowing for error recovery even when traditional block error correction codes fail, by using two-level cells where block error correction data is stored in rows and supplemental codes are stored in columns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional block error correction codes are used for data storage, then data can be corrected within certain error limits, but data becomes uncorrectable when catastrophic failures such as word line failures occur
Solution Approach 1:
The patent introduces a second dimension for error correction by implementing supplemental error correction codes along columns (vertical dimension) in addition to the traditional block error correction codes along rows (horizontal dimension). This dual-dimensional approach allows the system to correct errors that exceed the capabilities of single-dimension block codes, particularly catastrophic failures affecting entire rows or columns, thereby preventing data loss while maintaining reliability.
2Reliability
If block error correction codes are stored in rows, then row-based errors can be corrected, but column-based or catastrophic errors cannot be recovered
Solution Approach 1:
The patent makes the error correction system universal by implementing both row-based block error correction codes and column-based supplemental error correction codes. This multi-functional approach enables the system to handle various types of errors including row-based errors, column-based errors, and catastrophic failures, significantly enhancing adaptability and error recovery capability across different failure modes.
Solution Approach 2:
The patent adds a vertical dimension for error correction by storing supplemental error correction codes along columns, complementing the traditional horizontal row-based block error correction. This dual-dimensional structure allows the system to recover from errors that would be uncorrectable with single-dimension approaches, including catastrophic failures affecting entire rows or columns.
3Ease of operation
If only traditional block error correction is implemented, then the system is simple to operate, but error recovery beyond block code limits is impossible
Solution Approach 1:
The patent segments the error correction function into two distinct parts: traditional block error correction codes for standard error correction and supplemental error correction codes for catastrophic failure recovery. This segmentation allows each component to be optimized for its specific purpose while working together to provide comprehensive error protection, maintaining ease of operation through modular design while significantly enhancing reliability.
Solution Approach 2:
The patent enhances reliability by introducing a supplemental error correction dimension that operates alongside traditional block error correction. The supplemental codes provide an additional layer of protection for catastrophic failures without complicating the basic error correction operation, as the system can attempt correction in sequence or parallel using both code types.
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.


