Coherent Victim Cache Parallel Data Paths for RMW Support

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face significant latency in data access due to the time required to retrieve data from main memory, which can be mitigated by incorporating a cache system with a victim cache that reduces cache miss rates and latency, particularly in direct mapped caches.

Innovation Solution

A cache system with parallel data paths is implemented, including a victim cache that stores evicted data from the main cache, allowing it to service cache misses independently of the main cache, thereby reducing latency and improving efficiency by parallel processing of read-modify-write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If a victim cache is added to reduce cache miss rates and latency, then cache performance is improved, but device complexity increases

Engineering Contradiction:
Improvecache latencyVSAvoidcache system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The victim cache is nested within the existing cache system architecture, where evicted data from the main cache is stored in the victim cache. This allows the victim cache to serve as a secondary storage layer that handles cache misses without requiring a completely separate system, thereby reducing complexity while still improving performance.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The cache system is segmented into multiple independent data paths: a first data path for normal cache operations and a second data path for victim cache operations. This segmentation allows parallel processing of read-modify-write transactions, improving cache latency while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

2Productivity

If parallel data paths are implemented for read-modify-write operations, then processing speed is improved, but device complexity increases

Engineering Contradiction:
Improveoperation throughputVSAvoiddata path complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically selects which data path to use based on the operation type and cache state. The victim cache data path is activated specifically for read-modify-write operations that experience misses in the main cache, while normal operations continue through the first data path. This dynamic approach improves throughput for specific operations without requiring all operations to traverse complex parallel paths.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The victim cache acts as an intermediary component that handles specific types of operations (read-modify-write misses) between the main cache and memory. By introducing this intermediary with a dedicated data path, the system improves processing speed for these operations while isolating the complexity to only the necessary components rather than redesigning the entire cache system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250335372A1Methods and apparatus to facilitate read-modify-write support in a coherent victim cache with parallel data paths
Publication Date: 2025.10.30 TEXAS INSTRUMENTS INC
  • US20250335372A1 patent drawing
  • US20250335372A1 patent drawing
  • US20250335372A1 patent drawing

AI summary

Methods, apparatus, systems and articles of manufacture are disclosed facilitate read-modify-write support in a coherent victim cache with parallel data paths. An example apparatus includes a random-access memory configured to be coupled to a central processing unit via a first interface and a second interface, the random-access memory configured to obtain a read request indicating a first address to read via a snoop interface, an address encoder coupled to the random-access memory, the address encoder to, when the random-access memory indicates a hit of the read request, generate a second address corresponding to a victim cache based on the first address, and a multiplexer coupled to the victim cache to transmit a response including data obtained from the second address of the victim cache.