NV Memory Product Codes for Multi-Dimensional Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current error correction methods in non-volatile memory systems, such as those using ECCs, face challenges in reliably detecting and correcting errors, especially as the number of errors increases, leading to a decrease in data recovery probability.
Innovation Solution
Implementing a product code encoder and decoder system that encodes data in multiple dimensions using codes like Hamming, Reed-Solomon, or BCH codes, allowing for iterative error correction across rows and columns, and utilizing a burst code decoder to handle errors effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional ECC methods are used for error correction in non-volatile memory, then the system structure remains simple, but the reliability of data recovery decreases rapidly with increasing number of errors
Solution Approach 1:
The patent transforms traditional one-dimensional error correction into two-dimensional product code structure. Data is arranged in a matrix with rows and columns, where rows are encoded with first ECC codes and columns with second ECC codes. This dimensional transformation allows errors to be corrected by leveraging redundancy in both dimensions, significantly improving reliability without proportionally increasing system complexity.
Solution Approach 2:
The error correction process is segmented into independent row decoding and column decoding stages. The decoder first attempts to decode rows using first ECC codes, then columns using second ECC codes. This segmentation allows the system to handle different error patterns in different dimensions independently, improving overall reliability while maintaining manageable complexity through modular processing.
2Reliability
If more ECC overhead is added to detect and correct more errors, then error correction capability improves, but the coding overhead increases
Solution Approach 1:
The patent merges row redundancy and column redundancy into a unified product code structure. Instead of adding separate ECC codes for row and column protection (which would double the overhead), the system uses the same codewords for both dimensions. The product of row codewords and column codewords creates a compact representation that provides error correction capability in both dimensions without duplicating the full overhead of two independent ECC systems.
3Object-affected harmful factors
If the minimum Hamming distance is increased to tolerate more noise, then noise tolerance improves, but the coding rate decreases
Solution Approach 1:
The patent achieves higher effective Hamming distance through two-dimensional encoding. A (N1, K1) code in rows and (N2, K2) code in columns creates a product code with effective distance properties that exceed what single-dimensional codes can achieve. This allows the system to tolerate more noise and errors while maintaining a higher coding rate compared to using a single high-distance code, because the redundancy is distributed efficiently across both dimensions rather than concentrated in one.
Data Source
AI summary
A product code encoder for non-volatile (NV) memory includes a first encoder that encodes data in codewords in a first dimension that is stored in the NV memory. The product code encoder also includes a second encoder that encodes data in codewords in a second dimension that is stored in the NV memory. A product code codeword is based on the codewords in the first dimension and the codewords in the second dimension.


