Product Code ECC for Non-Volatile Memory Error Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current error correction methods in non-volatile memory systems, such as those using Hamming codes, are inadequate in reliably correcting errors 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 between row and column decoders to enhance error detection and correction capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional ECC methods are used for error correction in non-volatile memory, then the system is simpler to implement, 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 divides the error correction process into two independent dimensions: row encoding/decoding and column encoding/decoding. Each dimension uses separate encoders and decoders that operate independently, allowing the system to handle errors in either dimension without requiring a completely different correction mechanism. This segmentation enables the system to maintain reliability even when error rates increase, as the multi-dimensional approach provides multiple pathways for error detection and correction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from traditional one-dimensional error correction to two-dimensional product code structure. Data is encoded in both row and column dimensions, creating a grid-like structure where errors can be detected and corrected by analyzing patterns across both dimensions. This dimensional expansion significantly improves error correction capability, as errors that might be undetectable in one dimension can often be corrected by the orthogonal dimension.

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

2Reliability

If the number of errors in read data increases, then more errors need to be corrected, but the probability of reliable data recovery decreases rapidly

Engineering Contradiction:
Improvedata recovery probabilityVSAvoiderror rate
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies forward error correction by pre-encoding data with redundant information in both row and column dimensions before storage. This beforehand cushioning allows the decoder to detect and correct errors without needing retransmission or additional read operations. The multi-dimensional redundancy acts as a buffer against errors, maintaining data recovery probability even when error rates increase during read operations.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Measurement precision

If minimum Hamming distance is increased to detect more errors, then error detection capability improves, but the overhead data area increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidoverhead data area
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent creates a multi-functional error correction system where the same row and column encoded data serves multiple purposes: it enables error detection, error correction, and provides redundancy for both dimensions simultaneously. The overhead data in each dimension contributes to multiple correction capabilities, making the system more efficient than single-purpose error correction codes that would require separate redundancy for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8566664B2System and method for correcting errors in non-volatile memory using products codes
Publication Date: 2013.10.22 MARVELL ASIA PTE LTD
  • US8566664B2 patent drawing
  • US8566664B2 patent drawing
  • US8566664B2 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.