Elastic ECC Mapping for Multi-Bit Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern servers face challenges in maintaining high Reliability, Availability, and Serviceability (RAS) due to increasing memory capacity and decreasing operating voltages in DRAM devices, leading to multi-bit soft errors that standard SECDED ECC is unable to effectively correct, and existing error correction techniques either fail to provide sufficient protection or incur significant memory capacity overhead.

Innovation Solution

A system utilizing an ECC mapping table with multiple error correction modes, including cyclic error correcting codes capable of 4-bit to 6-bit error correction and 5-bit to 7-bit error detection, dynamically selects the appropriate ECC mode based on memory address ranges and soft error intensities, allowing for flexible error correction without reducing memory capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard SECDED ECC is used to protect DRAM devices, then single-bit errors can be corrected, but multi-bit errors caused by dense packing and low voltage cannot be effectively corrected

Engineering Contradiction:
Improveerror correction capabilityVSAvoidcapability to handle multi-bit errors
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic ECC mode switching that adapts the error correction strength based on the error intensity detected in different memory address ranges. The system transitions from standard SECDED to stronger cyclic ECC modes (capable of correcting 4-6 bit errors) when multi-bit errors are detected, providing adaptability to varying error conditions without always using the strongest (and most resource-intensive) correction mode.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the ECC parameter (error correction strength) based on the detected error pattern. When multi-bit errors are detected in a memory region, the system switches to a stronger ECC mode with higher correction capability. This parameter change allows the system to effectively handle multi-bit errors while avoiding the overhead of always using strong ECC modes.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If memory capacity is increased by densely packing DRAM devices, then server memory capacity requirements are met, but the percentage of multi-bit errors increases

Engineering Contradiction:
Improvememory capacityVSAvoiderror rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies different ECC protection levels to different local regions of memory based on their error characteristics. The memory space is divided into address ranges, and each range can be assigned a different ECC mode strength according to the error intensity observed in that region. This local differentiation allows strong protection where needed while maintaining efficiency in regions with lower error rates.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts the ECC protection level for different memory regions based on observed error patterns. When multi-bit errors are detected in a particular address range, the system activates stronger cyclic ECC modes for that region, while other regions continue to use standard SECDED. This dynamic adaptation allows the system to handle increased error rates from dense packing without sacrificing overall memory capacity.

Inventive Principle:
Principle #15Dynamics

3Use of energy by moving object

If operating voltage is decreased to enable DDR evolution, then power consumption is reduced, but noise margin is lowered causing increased susceptibility to multi-bit soft errors

Engineering Contradiction:
Improvepower consumptionVSAvoidsusceptibility to soft errors
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The system compensates for the reduced noise margin at lower voltages by dynamically changing the ECC parameter (correction strength) based on the actual error conditions observed. When multi-bit errors occur despite low-voltage operation, the system switches to stronger cyclic ECC modes that can correct 4-6 bit errors, effectively compensating for the increased susceptibility caused by voltage reduction.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system uses feedback from error detection to adjust the ECC protection level. When soft errors are detected in low-voltage operation, the system responds by activating stronger error correction modes for affected memory regions. This feedback mechanism allows the system to maintain reliability despite operating at lower voltages with reduced noise margins.

Inventive Principle:
Principle #23Feedback

4Reliability

If remapping or re-organization of bits is used to correct errors, then clustered soft errors can be corrected, but the technique is not effective when soft errors are uniformly distributed

Engineering Contradiction:
Improvecorrection of clustered errorsVSAvoideffectiveness against uniformly distributed errors
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically selects the appropriate error correction approach based on the error pattern detected. When errors are clustered in specific address ranges, the system can apply remapping techniques to those regions. When errors are uniformly distributed, the system switches to stronger cyclic ECC modes that provide comprehensive protection across all memory regions regardless of error distribution pattern.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different correction strategies to different memory regions based on local error characteristics. For regions with clustered errors, remapping or re-organization can be applied locally. For regions with uniformly distributed errors, stronger ECC modes are applied. This local differentiation based on error patterns allows the system to effectively handle both types of error distributions.

Inventive Principle:
Principle #3Local quality

5Reliability

If full or partial memory mirroring is used to correct multi-bit errors, then robust error correction is achieved, but effective memory capacity is reduced by half

Engineering Contradiction:
Improverobust error correctionVSAvoideffective memory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of mirror-entire memory, the patent applies strong cyclic ECC protection only to specific address ranges where multi-bit errors are detected. This localized application of strong error correction maintains robust protection for affected regions while preserving the capacity of the entire memory system, avoiding the 50% capacity loss associated with full mirroring.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system applies partial mirroring in the sense that strong ECC protection is applied only to the extent necessary - specifically to address ranges where multi-bit errors are observed. Rather than implementing full memory mirroring, the system uses partial strong protection where needed, achieving robust error correction for critical regions without sacrificing half the memory capacity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11200114B2System and method for facilitating elastic error correction code in memory
Publication Date: 2021.12.14 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11200114B2 patent drawing
  • US11200114B2 patent drawing
  • US11200114B2 patent drawing

AI summary

A system is provided for performing error correction in memory. During operation, the system can receive a memory access request from a host processor. The system can then compare a memory address specified in the memory access request with a set of entries in an error correction code (ECC) mapping table. In response to the system determining that the memory address corresponds to at least one entry in the ECC mapping table, the system may determine, based on value in the counter field, whether the memory address belongs to a first portion or a second portion of the address range specified in the ECC mapping table entry. The system can then select a current ECC mode when the memory address belongs to the first portion; and select a previous ECC mode when the memory address belongs to the second portion. The system may then process the memory access request based on the selected ECC mode.