System And Method For Self-Invalidation, Self-Downgrade Cachecoherence Protocols

Patent No. US11188464 (titled "System And Method For Self-Invalidation, Self-Downgrade Cachecoherence Protocols") was filed by Array Cache Technologies Llc on Dec 11, 2019.

What is this patent about?

’464 is related to the field of cache coherence in multiprocessor systems. Modern computer systems often employ multiple cores, each with its own local cache, to improve performance. However, this introduces the challenge of maintaining data consistency across these caches, ensuring that all cores see a consistent view of memory. Traditional cache coherence protocols rely on explicit invalidation or updating mechanisms, which can generate significant signaling overhead, especially as the number of cores increases.

The underlying idea behind ’464 is to use data-race detection to trigger self-invalidation of cache lines, eliminating the need for explicit invalidation messages. Instead of proactively tracking which cores have copies of a particular data block, the system detects when a potential data race occurs (i.e., a read after a write to the same memory location by different cores) and then invalidates the local cache of the reading core. This approach simplifies the coherence protocol and reduces communication overhead.

The claims of ’464 focus on a method and system where a core, upon experiencing a cache miss, checks a read-after-write detection structure to determine if a race condition exists for the requested memory block. If a race is detected, the core enforces program order between older and younger loads relative to the racing load and self-invalidates one or more cache lines in its local cache. This ensures that the core sees a consistent view of memory without requiring explicit invalidation messages from other cores.

In practice, the system employs a RAW race detector , implemented as a signature-based table, to track store operations performed by each core. When a core attempts to load data and misses in its local cache, the system checks the RAW race detector to see if another core has written to that memory location since the last time the requesting core detected a race. If a race is detected, the requesting core invalidates its cache and re-fetches the data, ensuring consistency.

This approach differs from prior solutions that rely on software to explicitly expose synchronization points or insert fence instructions. ’464 provides an implicit self-invalidation mechanism that automatically detects data races during program execution and triggers self-invalidation accordingly. This eliminates the need for software cooperation and simplifies the development of multithreaded applications, while still maintaining memory consistency.

How does this patent fit in bigger picture?

Technical landscape at the time

In the mid-2010s when ’464 was filed, cache coherence protocols were essential for maintaining data consistency in multiprocessor systems, at a time when explicit invalidation and updating mechanisms were commonly used to manage cache coherence. These mechanisms typically involved significant signaling overhead, especially as the number of cores increased, when hardware or software constraints made reducing coherency traffic non-trivial.

Novelty and Inventive Step

The examiner approved the claims because the combination of features, including a core requesting to load a memory block from its local cache resulting in a cache miss, checking a read-after-write detection structure for race conditions, and enforcing program order if a race condition exists, was not taught or rendered obvious by the prior art. Specifically, the closest prior art did not teach a core requesting to load a memory block from its local cache when that request results in a cache miss, and then enforcing program order.

Claims

This patent contains 20 claims, with independent claims 1 and 11. The independent claims are directed to a method and a computer system for self-invalidating cachelines in a multi-core system by detecting and handling read-after-write race conditions. The dependent claims generally elaborate on the specifics of the read-after-write detection structure, the process of checking for race conditions, and the mechanisms for enforcing program order and self-invalidating cachelines.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Enforcing program order
(Claim 1, Claim 11)
“A core accessing the shared memory to load a memory block after the core misses in its at least one local cache memory, detects a prior store from another core to the memory block. The detection of the prior store enforces program order of loads which are being executed by the core that issued the load of the memory block, such that loads which initiated prior to the load of the memory block are completed and loads which initiated after the load of the memory block are re-executed after completion of the load of the memory block.”Ensuring that loads initiated before the load that detected the prior store are completed, and loads initiated after that load are re-executed after the completion of the load.
Read-after-write detection structure
(Claim 1, Claim 11)
“According to an embodiment, a computer system includes a plurality of cores; a private cache memory associated with each of the plurality of cores; a shared memory; and a read-after-write detection structure containing address information containing address information associated with store instructions that have been executed since a last race condition was detected.”A component that stores address information related to store instructions executed since the last detected race condition. It is used to determine if a race condition exists for a memory block when a core requests to load that block.
Self-invalidated
(Claim 1, Claim 11)
“In self-invalidation cache coherence protocols, writes on data are not explicitly signaled to sharers as is the case with explicit invalidation cache coherence protocols. Instead, a processor automatically invalidates its locally stored cache copy of the data.”The process of a processor automatically invalidating its locally stored cache copy of the data.

Patent Family

Patent Family

File Wrapper

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.

  • Date

    Description

  • Get instant alerts for new documents

US11188464

ARRAY CACHE TECHNOLOGIES LLC
Application Number
US16710203
Filing Date
Dec 11, 2019
Status
Granted
Expiry Date
Jun 12, 2038
External Links
Slate, USPTO, Google Patents