Memory Error Correction Using Parallel Hamming and Reed-Solomon Codes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error correction schemes in memory devices, such as Hamming and Reed-Solomon codes, are either too fast but not robust or very robust but slow, failing to provide a balance between speed and reliability for error detection and correction in noisy environments like automobile antiskid braking systems.

Innovation Solution

Implementing a dual error detection and correction scheme that uses Hamming codes and Reed-Solomon codes in parallel or series with the read operation, allowing for immediate detection and correction of errors, with the Hamming code correcting one bit error and detecting up to four, and the Reed-Solomon code correcting up to four byte errors and detecting eight.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If Hamming code is used for error correction, then speed is improved, but robustness deteriorates

Engineering Contradiction:
Improveerror correction speedVSAvoiderror correction robustness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The error correction process is segmented into two independent stages: first Hamming code correction for single-bit errors, then Reed-Solomon code correction for multi-byte errors. This segmentation allows each code to operate in its optimal performance range, achieving both speed and robustness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects and applies different error correction strategies based on the detected error pattern. Hamming code is applied first for fast single-bit correction, and Reed-Solomon code is conditionally applied for more robust multi-byte error handling, creating a dynamic adaptive correction system.

Inventive Principle:
Principle #15Dynamics

2Reliability

If Reed-Solomon code is used for error correction, then robustness is improved, but speed deteriorates

Engineering Contradiction:
Improveerror correction robustnessVSAvoiderror correction speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

Instead of always applying the full Reed-Solomon correction process, the system applies Hamming code first to handle the more common single-bit errors quickly. Reed-Solomon code is then applied only when necessary, reducing overall processing time while maintaining robustness for severe error cases.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The correction capability is segmented into two layers: Hamming code handles the majority of common single-bit errors efficiently, while Reed-Solomon code provides enhanced robustness for multi-byte errors. This segmentation optimizes the balance between speed and robustness.

Inventive Principle:
Principle #1Segmentation

3Reliability

If dual error detection and correction scheme is implemented, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata reliabilityVSAvoiderror correction scheme complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The dual error correction scheme is segmented into distinct sequential stages with clear decision points. Hamming code correction is applied first, followed by error detection, and then conditional Reed-Solomon code application. This segmentation manages complexity by breaking down the complex dual-code system into manageable, organized steps.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7930612B2Error detection and correction scheme for a memory device
Publication Date: 2011.04.19 MICRON TECHNOLOGY INC
  • US7930612B2 patent drawing
  • US7930612B2 patent drawing
  • US7930612B2 patent drawing

AI summary

Data is read from a memory array. Before being stored in a data buffer, a Hamming code detection operation and a Reed-Solomon code detection operation are operated in parallel to determine if the data word has any errors. The results of the parallel detection operations are communicated to a controller circuit. If an error is present that can be corrected by the Hamming code correction operation, this is performed and the Reed-Solomon code detection operation is performed on the corrected word. If the error is uncorrectable by the Hamming code, the Reed-Solomon code correction operation is performed on the word.