Extended ECC Matrix for Balanced NAND Flash Codewords
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory systems face challenges in effectively balancing and performing error correction on codewords stored in memory devices, particularly in non-volatile memory like NAND flash, which affects the reliability and longevity of these devices.
Innovation Solution
The implementation of an extended error correction (ECC) matrix using a quantized Knuth (QK) procedure, which involves extending a standard ECC matrix to include additional rows and columns for checking a QK index and parity, allowing for iterative updating of the QK index to correct errors in both the payload and parity bits, thereby improving error detection and correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If standard ECC matrix is used for error correction, then error correction capability is maintained, but error correction efficiency and reliability are insufficient for modern memory devices
Solution Approach 1:
The patent segments the error correction process into two distinct phases: (1) QK index correction phase that handles errors in the quantized Knuth index portion, and (2) payload correction phase that handles errors in the data payload. This segmentation allows each phase to be optimized independently, improving overall correction efficiency while maintaining high reliability through specialized handling of each segment's error patterns.
Solution Approach 2:
The patent performs preliminary balancing of the payload using the quantized Knuth procedure before error correction. This preliminary action optimizes the payload distribution to minimize expected error patterns, which then enables the subsequent error correction phase to operate more efficiently on a pre-optimized data structure, thereby improving both reliability and efficiency.
2Productivity
If payload is balanced using quantized Knuth procedure, then error patterns are minimized and correction efficiency improves, but additional processing steps are required
Solution Approach 1:
The patent changes the parameter representation by quantizing the continuous Knuth transformation into discrete index values. This parameter change transforms the complex continuous optimization problem into a discrete indexing problem, which is computationally more efficient and easier to implement, thereby improving correction efficiency without proportionally increasing processing complexity.
Solution Approach 2:
The patent introduces the quantized Knuth index as an intermediary between the original payload and the error correction process. This intermediary structure captures the essential balancing information in a compact form, simplifying the subsequent error correction operations while maintaining the benefits of payload optimization, thus improving efficiency with controlled complexity increase.
3Measurement precision
If extended ECC matrix is implemented to correct QK index errors, then error detection capability is improved, but matrix size and computational overhead increase
Solution Approach 1:
The extended ECC matrix is segmented into distinct portions: one dedicated to QK index checking and another for payload checking. This segmentation allows the matrix to target specific error locations with appropriate precision, improving detection capability for index errors without requiring a uniformly complex matrix structure across all data, thus balancing precision and complexity.
Solution Approach 2:
The patent applies partial action by implementing error correction specifically tailored for the QK index portion rather than uniformly applying full-strength correction to all data. This partial approach provides sufficient detection precision for the index portion where errors are most critical, while avoiding the excessive computational overhead that would result from applying maximum correction strength to all data portions.
Data Source
AI summary
In some aspects, the techniques described herein relate to a method including: receiving a standard error code correction (ECC) matrix, the standard ECC matrix including a portion for checking a payload and a portion for checking a parity of the payload; and extending the ECC matrix to form an extended matrix by adding a plurality of rows and a plurality of columns to form an upper matrix and a lower matrix, wherein the plurality of rows and columns include at least one all zero portion, at least one portion for checking a quantized Knuth (QK) index, and a portion for checking a parity of the QK index.


