CXL Memory Error Correction With Iterative Hamming Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory devices, particularly those using the Compute Express Link (CXL) standard, face errors during reading and writing operations, which existing error correction techniques struggle to address effectively, leading to inefficiencies and potential data corruption.

Innovation Solution

The implementation of a low power chip kill (LPCK) system that utilizes a combination of cyclic redundancy check (CRC), error correction code (ECC), and non-binary Hamming codes to encode and decode memory transfer blocks, enabling detection and correction of errors through a feedforward and iterative decoding process, with simultaneous binary and non-binary Hamming code logic operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing error correction techniques are used in memory devices, then errors may be corrected to some extent, but the correction effectiveness is insufficient and data corruption may still occur

Engineering Contradiction:
Improveerror correction effectivenessVSAvoiddata corruption
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent segments the error correction process into multiple independent stages: initial error detection using first check bits, first error correction pass, secondary error detection using second check bits, and second error correction pass. This multi-stage segmentation allows the system to handle different types and severities of errors systematically, improving overall correction effectiveness while preventing data corruption that would occur with single-pass methods.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary error detection and correction actions before final data retrieval. By generating and applying check bits in advance, performing initial correction passes, and validating results before output, the system proactively prevents data corruption rather than reacting to it after occurrence. This preliminary action ensures data integrity is maintained throughout the memory operation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple error correction methods are combined, then error detection and correction capability improves, but system complexity increases

Engineering Contradiction:
Improveerror detection and correction capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the complex error correction system into modular segments: separate generation units for first and second check bits, distinct correction units for each error type, and organized validation stages. This segmentation allows each component to be independently designed, tested, and optimized, reducing overall system complexity while maintaining high error correction capability through the coordinated operation of these specialized modules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to error correction by implementing multi-pass processing. Instead of attempting to correct all errors in a single complex operation, the system performs correction in sequential passes (initial correction, then secondary correction), adding a time dimension to the process. This approach simplifies each individual correction operation while achieving comprehensive error handling through repeated application.

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

Data Source

PatentUS11949428B2Iterative error correction in memory systems
Publication Date: 2024.04.02 MICRON TECHNOLOGY INC
  • US11949428B2 patent drawing
  • US11949428B2 patent drawing
  • US11949428B2 patent drawing

AI summary

A system and method for detecting and correcting memory errors in CXL components is presented. The method includes receiving, into a decoder, a memory transfer block (MTB), wherein the MTB comprises data and parity information, wherein the MTB is arranged in a first dimension and a second dimension. An error checking and a correction function on the MTB is performed using a binary hamming code logic within the decoder in the first dimension. An error checking and a correction function on the MTB is performed using a non-binary hamming code logic within the decoder in the second dimension. Further, the binary hamming code logic and the non-binary hamming code logic perform the error checking on the MTB simultaneously.