Cache ECC Scrubbing with Parallel Functional Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face challenges in maintaining adequate functional safety due to soft errors and transient faults, particularly in multi-level cache systems where error correcting codes (ECC) need to be managed across heterogeneous interfaces and varying protection levels, leading to complexities in ensuring reliable data integrity and performance.

Innovation Solution

The implementation of a central processing unit (CPU) core with a cache subsystem that includes a memory configured to store data and ECC syndromes, where a controller transforms ECC syndromes from single-error correction, double-error detection (SECDED) to single-error detection (SED) and executes scrubbing transactions concurrently with functional transactions, allowing for early termination of transactions with non-correctable errors to maintain data integrity and reduce latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ECC scrubbing transactions are executed sequentially with functional transactions, then data integrity is maintained through error correction, but system performance and latency are degraded due to sequential processing

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The memory system is divided into multiple memory banks that can be independently accessed. The controller segments the scrubbing operation to execute only on specific banks that require error correction, while allowing functional transactions to proceed in parallel on other banks. This segmentation enables concurrent execution of scrubbing and functional transactions, improving overall system performance while maintaining data integrity through targeted error correction.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If ECC syndromes are transformed and calculated for every transaction, then error detection accuracy is improved, but power consumption and processing time increase

Engineering Contradiction:
Improveerror detection accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

ECC syndromes are pre-calculated and stored with data during write operations. When a read or scrubbing transaction occurs, the controller retrieves the pre-calculated syndrome and performs transformation only when necessary (e.g., when changing ECC types or performing scrubbing). This preliminary calculation approach maintains error detection accuracy while significantly reducing the power consumption and processing time associated with repeated syndrome calculations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller performs partial syndrome transformation only for the portions of data that require ECC type conversion or scrubbing, rather than processing entire memory blocks. This selective approach maintains error detection accuracy for affected regions while minimizing unnecessary power consumption from processing unaffected data.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If the system uses heterogeneous ECC interfaces with different protection levels, then compatibility with various masters is improved, but device complexity increases

Engineering Contradiction:
Improveinterface compatibilityVSAvoidECC management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The controller acts as an intermediary layer between masters with different ECC requirements and the underlying memory system. It provides a unified interface that translates between different ECC types (e.g., SECDED, SED, parity) and manages error correction uniformly. This intermediary approach enables compatibility with heterogeneous masters while abstracting away the complexity of managing multiple ECC schemes, as the controller handles all ECC transformations and error correction operations centrally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11675660B2Parallelized scrubbing transactions
Publication Date: 2023.06.13 TEXAS INSTRUMENTS INC
  • US11675660B2 patent drawing
  • US11675660B2 patent drawing
  • US11675660B2 patent drawing

AI summary

An apparatus includes a central processing unit (CPU) core and a cache subsystem coupled to the CPU core. The cache subsystem includes a first memory, a second memory, and a controller coupled to the first and second memories. The controller is configured to execute a sequence of scrubbing transactions on the first memory and execute a functional transaction on the second memory. One of the scrubbing transactions and the functional transaction are executed concurrently.