Cache Access Rights and Ownership Transition Independence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache coherency protocols in multiprocessor systems, such as snooping and directory-based protocols, suffer from high latency and complexity, particularly in systems with out-of-order execution, prefetching, multiple cores, and multi-threading, due to the requirement that access rights of processors change in the order of received requests and the need for acknowledgment messages.

Innovation Solution

A computer system where access rights and ownership responsibilities for cache blocks transition independently, with access rights transitioning upon receipt of data packets and ownership responsibilities transitioning upon receipt of address packets, allowing for separate timing and enabling the system to inhibit data packet receipt based on a timestamp associated with the data packet.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If access rights change in the order of received snoops, then cache consistency is maintained, but latency increases for out-of-order execution processors

Engineering Contradiction:
Improvecache consistencyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the cache access rights into two independent components: ownership responsibility (which processor owns the data) and access rights (what operations are permitted). This segmentation allows these two aspects to transition independently, resolving the contradiction by enabling access rights to change out of order while maintaining ownership consistency through separate tracking mechanisms.

Inventive Principle:
Principle #1Segmentation

2Reliability

If standard snooping protocol is used, then cache coherency is maintained, but device complexity increases due to acknowledgment requirements

Engineering Contradiction:
Improvecache coherencyVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the acknowledgment mechanism from the core coherency protocol. By separating ownership tracking from access right validation, the system eliminates the need for complex acknowledgment messages while maintaining coherency through the independent ownership responsibility field that naturally tracks data location without requiring additional communication overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

3Device complexity

If access rights and ownership transition together, then protocol simplicity is maintained, but productivity decreases for multi-threaded processors

Engineering Contradiction:
Improveprotocol simplicityVSAvoidprocessing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces dynamic independence between access rights and ownership transitions. The system allows access rights to be granted or revoked without requiring simultaneous ownership transitions, enabling multi-threaded processors to operate more efficiently by reducing synchronization barriers while the protocol remains simple through the clear separation of these two state components.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7366843B2Computer system implementing synchronized broadcast using timestamps
Publication Date: 2008.04.29 ORACLE AMERICAN INC
  • US7366843B2 patent drawing
  • US7366843B2 patent drawing
  • US7366843B2 patent drawing

AI summary

A computer system may include a system memory, an active device configured to access data stored in the system memory, where the active device includes a cache configured to store data accessed by the active device, an address network for conveying address packets between the active device and the system memory, and a data network for conveying data packets between the active device and the system memory. An access right corresponding to a given block allocated in the cache transitions in response to a corresponding data packet being received by the cache. An ownership responsibility for the given block transitions in response to a corresponding address packet being received by the cache. The access right transitions at a different time than the ownership responsibility transitions. The cache is configured to inhibit receipt of the corresponding data packet based on a value of a timestamp associated with the corresponding data packet.