Cache ECC Verification for Non-Correctable Error Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in efficiently managing non-correctable errors in multi-level cache hierarchies, leading to potential system failures due to soft errors caused by random radiation flipping bits, which current error correcting codes (ECC) may not adequately address.

Innovation Solution

Implementing a controller that manages error correcting codes (ECC) across different memory levels, including calculating current ECC values, comparing stored ECC values, and determining whether to access the first memory based on the presence of non-correctable errors to prevent system access and maintain functional safety.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correcting codes (ECC) are used to detect and correct soft errors in memory systems, then reliability is improved, but non-correctable errors can still cause system failures

Engineering Contradiction:
Improvememory system reliabilityVSAvoidnon-correctable errors
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent performs preliminary ECC verification by calculating current ECC values and comparing them with stored ECC values before allowing memory access. This preliminary check identifies non-correctable errors in advance, preventing them from propagating to the CPU and causing system failures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary verification mechanism between the L2 cache and L1 cache that acts as a mediator to check data integrity. The ECC verification unit serves as an intermediary layer that filters out non-correctable errors before they reach the CPU, enhancing overall system reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If ECC verification is performed for every memory access, then error detection capability is improved, but access speed deteriorates

Engineering Contradiction:
Improveerror detection capabilityVSAvoidmemory access speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent applies partial verification by performing ECC checks selectively rather than for every single memory access. The system verifies data integrity at critical points in the memory hierarchy (L2 to L1 cache transfer) rather than at every access point, maintaining error detection capability while minimizing speed impact.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

ECC verification is performed preliminarily during data transfer from L2 to L1 cache, before the actual CPU access occurs. This preliminary verification ensures that only verified data is cached and subsequently accessed, reducing the need for re-verification during actual CPU operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12373286B2Handling non-correctable errors
Publication Date: 2025.07.29 TEXAS INSTRUMENTS INC
  • US12373286B2 patent drawing
  • US12373286B2 patent drawing
  • US12373286B2 patent drawing

AI summary

An example device includes a first memory that store a first set of data; a second memory that stores a second set of data that includes a stored error correcting code (ECC) value; and a controller coupled to the first memory and to the second memory. The controller operates to receive a transaction directed to the first set of data, and based on the transaction perform the following operations: retrieve the second set of data from the second memory; calculate a current ECC value based on the second set of data as retrieved from the second memory; compare the stored ECC value to the current ECC value to determine whether the second set of data includes an error; determine whether the error is correctable; and determine not to access the first memory to perform the transaction based on a determination that the second set of data includes the non-correctable error.