Erasure Code Correction for Uncorrectable DIMM Errors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for correcting memory errors in DRAM devices are limited in their ability to handle uncorrectable errors, as they often rely on symbol-led error correction schemes that may not have sufficient ECC symbols to correct all detected errors, leading to incomplete error correction and potential hardware failures.

Innovation Solution

The method involves detecting uncorrectable errors in DRAM devices, inverting the initial data to generate reference data, writing it back, and comparing it with subsequent reads to identify faulty data pins, allowing for correction using erasure codes like the Reed-Solomon scheme to correct memory errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If symbol-led error correction schemes (e.g., Reed-Solomon code) are used to detect and correct memory errors, then correctable errors can be identified and corrected, but uncorrectable errors occur when the number of detected errors exceeds the number of available ECC symbols

Engineering Contradiction:
Improveerror correction capabilityVSAvoidnumber of ECC symbols
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the error correction process into two distinct phases: (1) using Reed-Solomon codes to correct correctable errors, and (2) using erasure codes to correct uncorrectable errors. This segmentation allows the system to handle both types of errors with specialized algorithms, improving overall reliability without requiring excessive ECC symbols throughout the entire data structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by first attempting to correct errors using Reed-Solomon codes before falling back to erasure codes. This preliminary error correction step maximizes the use of available ECC symbols for correctable errors, thereby preserving the ability to handle uncorrectable errors with the remaining symbols.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If ECC symbols are stored within the DRAM device to detect and correct memory errors, then memory reliability is improved, but the capacity of the DRAM device is reduced

Engineering Contradiction:
Improvememory reliabilityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies partial action by using erasure codes to correct only the uncorrectable errors that remain after Reed-Solomon correction, rather than attempting to correct all possible errors. This partial correction approach allows the system to maintain adequate reliability for the most critical errors while preserving more storage capacity for actual data.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the number of ECC symbols is increased to correct more memory errors, then error correction capability is improved, but the device complexity and overhead increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidECC symbol storage overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameters of the error correction system by switching from a single Reed-Solomon code configuration to a dual-code system with different parameters: Reed-Solomon codes for correctable errors and erasure codes for uncorrectable errors. This parameter change allows the system to achieve higher error correction capability with more efficient use of ECC symbols, reducing overall overhead.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12158805B1Correcting uncorrectable memory errors in Dual In-line Memory Modules (DIMMs) using erasure code
Publication Date: 2024.12.03 GOOGLE LLC
  • US12158805B1 patent drawing
  • US12158805B1 patent drawing
  • US12158805B1 patent drawing

AI summary

Aspects of the disclosed technology include techniques and mechanisms for correcting uncorrectable memory errors in DIMMs using erasure code. An uncorrectable error may be detected as a result of a read transaction on a memory address within a DRAM device on a DIMM. The data stored in the memory address may be inverted to produce reference data and the reference data may be written back to the memory address. A subsequent read transaction may be executed on the memory address, and the data read from the memory address may be compared to the reference data written to the memory address. Based on determining the data read from the memory address is different from the reference data written to the memory address, the data within the memory address may be corrected using erasure code capability and the corrected data may be written back to the memory address.