Tagged Write-Merge Cache Layout for Low-Latency ECC Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache systems face challenges in maintaining cache performance while implementing error correcting codes (ECC) due to timing overhead, which is critical in fault-tolerant systems like self-driving vehicles, as ECC can significantly impact cache latency.

Innovation Solution

A caching system with a first and second sub-cache configuration, where the second sub-cache stores write-miss data and includes line type bits and an eviction controller to manage data flushing and eviction based on these bits, optimizing cache performance and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correcting codes (ECC) are implemented in high speed cache memory, then fault tolerance and data corruption protection are improved, but cache latency and timing overhead increase

Engineering Contradiction:
Improvefault toleranceVSAvoidcache latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache memory is divided into multiple independent banks that can operate in parallel. Each bank can perform ECC operations independently, allowing the system to process multiple memory operations simultaneously without requiring all operations to wait for ECC completion, thereby reducing overall cache latency while maintaining fault tolerance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

ECC check bits are generated and stored preliminary during write operations, so that when read operations occur, the ECC verification can be performed quickly using pre-computed data. This preliminary preparation reduces the time penalty associated with ECC operations during critical read paths.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If ECC operations are performed on cache memory, then data corruption detection and correction are improved, but processing speed decreases

Engineering Contradiction:
Improvedata corruption protectionVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache system maintains continuous operation by allowing non-ECC operations to proceed while ECC operations are performed on other banks. The parallel bank architecture ensures that useful processing actions continue uninterrupted, with ECC operations occurring concurrently rather than sequentially, thus maintaining productivity while ensuring data protection.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system applies ECC operations selectively rather than uniformly to all cache operations. By identifying which operations require ECC protection and processing only those, the system avoids the excessive time overhead of applying ECC to every single cache operation, thereby maintaining processing speed while still providing necessary data corruption protection.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If a single cache structure is used, then device complexity is reduced, but the ability to handle write-miss data efficiently and reduce latency is limited

Engineering Contradiction:
Improvecache structureVSAvoidwrite-miss latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The cache is segmented into multiple specialized sub-caches, each handling different types of data or operations. This segmentation allows write-miss data to be routed to appropriate sub-caches optimized for specific access patterns, reducing latency without requiring a complete redesign of the entire cache structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary controller or buffer is introduced between the processor and the cache banks to manage write-miss data flow. This intermediary can temporarily hold write-miss data, coordinate between multiple banks, and optimize the timing of ECC operations, thereby reducing latency without significantly increasing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250390441A1Write merging on stores with different tags
Publication Date: 2025.12.25 TEXAS INSTRUMENTS INC
  • US20250390441A1 patent drawing
  • US20250390441A1 patent drawing
  • US20250390441A1 patent drawing

AI summary

Techniques for caching data are provided that include receiving, by a caching system, a write memory command for a memory address, the write memory command associated with a first color tag, determining, by a first sub-cache of the caching system, that the memory address is not cached in the first sub-cache, determining, by second sub-cache of the caching system, that the memory address is not cached in the second sub-cache, storing first data associated with the first write memory command in a cache line of the second sub-cache, storing the first color tag in the second sub-cache, receiving a second write memory command for the cache line, the write memory command associated with a second color tag, merging the second color tag with the first color tag, storing the merged color tag, and evicting the cache line based on the merged color tag.