Color-Tagged Cache Write Merging for Lower ECC Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache systems in multi-core coherent systems face challenges in maintaining performance while ensuring fault tolerance due to the introduction of timing overhead from error correcting codes (ECC) in high-speed cache memory, which can lead to data corruption from cosmic rays or malicious memory accesses.

Innovation Solution

Implementing a caching system with a first and second sub-cache in parallel, 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 specific indications, allowing for efficient handling of write-miss data and reducing the need for full ECC checks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correcting codes (ECC) are implemented in high speed cache memory to protect against data corruption, then fault tolerance is improved, but timing overhead increases and cache performance deteriorates

Engineering Contradiction:
Improvefault toleranceVSAvoidtiming overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache is divided into multiple ways (e.g., 4-way set associative), where each way has its own ECC protection. This segmentation allows the system to check only the relevant way for a cache access, reducing the timing overhead compared to checking all cache lines, while still providing fault tolerance through ECC in each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of applying ECC checks to all cache lines on every access (excessive action), the patent applies ECC checks only to the specific way being accessed (partial action). This selective approach reduces timing overhead while maintaining adequate fault tolerance for the actual accessed data.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If cache size is increased to improve performance, then cache hit rate is improved, but access latency increases due to slower cache memory

Engineering Contradiction:
Improvecache hit rateVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The larger cache is organized as a set associative cache with multiple ways, where each way can be accessed independently in parallel. This segmentation allows the system to maintain a larger total cache capacity while keeping access latency low by selecting and accessing only the relevant way, rather than searching through a single large linear array.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache is organized in a multi-dimensional structure with sets and ways, transforming a single-dimensional large cache into a multi-dimensional structure. This allows parallel access to multiple ways within the same cache level, effectively increasing cache capacity without proportionally increasing access latency.

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

3Productivity

If parallel sub-caches are used to handle write-miss data, then data management efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvedata management efficiencyVSAvoidcache structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The second sub-cache serves multiple functions: it handles write-miss data, stores evicted cache lines, and manages dirty bits for write-back operations. This multi-functionality improves data management efficiency by consolidating various cache operations into a single unified structure rather than requiring separate specialized caches for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges the functionality of handling write-miss data with the eviction cache functionality into a single second sub-cache. This consolidation reduces the number of separate cache structures needed, managing complexity while maintaining efficient data handling through unified management of write-miss and evicted data.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12417186B2Write merging on stores with different tags
Publication Date: 2025.09.16 TEXAS INSTRUMENTS INC
  • US12417186B2 patent drawing
  • US12417186B2 patent drawing
  • US12417186B2 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.