Memory Controller ECC Decoding for Low-Latency Symbol Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in efficiently correcting errors that occur in memory modules, particularly in volatile memory devices like DRAM, which can lead to increased decoding latency.

Innovation Solution

A memory controller with an error correction code (ECC) engine that includes an ECC decoder capable of generating syndromes based on a parity check matrix to correct single symbol errors rapidly and, if necessary, performs additional decoding to correct multiple symbol errors in parallel, reducing overall decoding latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional ECC decoding is used to correct multiple symbol errors, then error correction capability is improved, but decoding latency increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddecoding latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The ECC decoding process is divided into two independent decoding units: a first decoding unit that attempts to correct single symbol errors using a simplified method, and a second decoding unit that handles multiple symbol errors using a more comprehensive method. This segmentation allows the system to process most errors quickly while only applying the more time-consuming method when necessary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first decoding unit performs a partial decoding action by attempting to correct only single symbol errors using a simplified syndrome-based method. This partial action is sufficient for the majority of error cases, avoiding the need to always perform the more complex multi-error correction decoding, thus reducing average decoding latency.

Inventive Principle:
Principle #16Partial or excessive action

2Speed

If simplified ECC decoding is used for single symbol errors, then decoding speed is improved, but error correction capability is reduced

Engineering Contradiction:
Improvedecoding speedVSAvoiderror correction capability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements a feedback mechanism where the first decoding unit attempts correction and reports success or failure. Based on this feedback, the system determines whether to accept the corrected result or switch to the second decoding unit for more comprehensive error correction. This feedback loop ensures that decoding speed is optimized for common cases while maintaining the capability to handle more complex error scenarios.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The error correction system dynamically adapts its decoding strategy based on the error characteristics detected. For single symbol errors, the system uses the fast first decoding unit. When multiple symbol errors are detected or the first decoding fails, the system transitions to the more capable second decoding unit, making the system's behavior dynamic rather than static.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12572413B2Memory controllers and memory systems
Publication Date: 2026.03.10 SAMSUNG ELECTRONICS CO LTD
  • US12572413B2 patent drawing
  • US12572413B2 patent drawing
  • US12572413B2 patent drawing

AI summary

A memory controller including a processor and configured to control a memory module including a plurality of data chips and at least one parity chip includes an error correction code (ECC) engine, the ECC engine including an ECC decoder to correct Q symbols errors in a codeword set read from the memory module, Q is a maximum natural number equal to or less than P and P is a natural number equal to or greater than four. The ECC decoder is configured to generate a syndrome including first through P-th syndrome symbols based on the read codeword set by using a parity check matrix and to perform a first ECC decoding to correct a single symbol error in the read codeword set based on the first syndrome symbol and a selected syndrome symbol corresponding to one of the second through P-th syndrome symbols.