NV Memory Product Codes for Multi-Dimensional Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata recovery reliabilityVSAvoiderror correction system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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.

Inventive Principle:
Principle #1Segmentation

2Reliability

If more ECC overhead is added to detect and correct more errors, then error correction capability improves, but the coding overhead increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidcoding overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #5Merging (Combining)

3Object-affected harmful factors

If the minimum Hamming distance is increased to tolerate more noise, then noise tolerance improves, but the coding rate decreases

Engineering Contradiction:
Improvenoise toleranceVSAvoidcoding rate
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8046660B2System and method for correcting errors in non-volatile memory using product codes
Publication Date: 2011.10.25 MARVELL ASIA PTE LTD
  • US8046660B2 patent drawing
  • US8046660B2 patent drawing
  • US8046660B2 patent drawing

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.