Cache Coherence Latency Reduction via Early Data Provision

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache coherence schemes in computer systems introduce overhead and increase memory latency due to delayed data transfers and inconsistent data states across caches, particularly in multiprocessor systems where cache updates are not immediately reflected in main memory.

Innovation Solution

A system where a cache detects a memory request hit independently of other agents and provides data prior to the response phase, reducing latency by allowing early data transfer even if other agents have not yet responded, and maintaining coherence states to ensure data consistency regardless of agent states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache coherence schemes are implemented to maintain data consistency across multiple caches, then data coherence and consistency are improved, but memory latency and communication overhead increase

Engineering Contradiction:
Improvedata coherenceVSAvoidmemory latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the cache detect cache hits and prepare data for transfer before the complete response phase is finished. The cache controller can initiate data transfer procedures in advance based on predicted hit patterns, allowing data to be ready before the full coherence protocol completes, thus reducing latency while maintaining coherence.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the cache coherence protocol adaptive and flexible. The system can dynamically adjust its behavior based on real-time conditions, such as which caches are likely to have hits, and modify the coherence check sequence accordingly. This allows the system to optimize between coherence verification and data transfer speed based on actual system state.

Inventive Principle:
Principle #15Dynamics

2Reliability

If snooping is implemented to maintain coherence in shared bus systems, then cache coherence is improved, but transaction time and latency increase

Engineering Contradiction:
Improvecache coherenceVSAvoidtransaction time
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent applies preliminary action by having caches perform coherence checks and prepare responses in advance during the transaction setup phase. By detecting potential hits before the full snoop cycle completes and preparing data transfer paths ahead of time, the system reduces the overall transaction duration while ensuring coherence is maintained.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuity of useful action by keeping the data transfer path active and ready throughout the coherence verification process. Instead of waiting for the complete snoop response before initiating data transfer, the system maintains continuous preparation and transfer readiness, overlapping coherence checking with data transfer preparation to eliminate idle time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7949832B2Latency reduction for cache coherent bus-based cache
Publication Date: 2011.05.24 APPLE INC
  • US7949832B2 patent drawing
  • US7949832B2 patent drawing
  • US7949832B2 patent drawing

AI summary

In one embodiment, a system comprises a plurality of agents coupled to an interconnect and a cache coupled to the interconnect. The plurality of agents are configured to cache data. A first agent of the plurality of agents is configured to initiate a transaction on the interconnect by transmitting a memory request, and other agents of the plurality of agents are configured to snoop the memory request from the interconnect. The other agents provide a response in a response phase of the transaction on the interconnect. The cache is configured to detect a hit for the memory request and to provide data for the transaction to the first agent prior to the response phase and independent of the response.