Dynamic Grain Snoop Filter for Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache coherency issues arise in data processing systems with multiple caches and shared resources, where data can become outdated due to updates by other devices, leading to stale data being read by second devices, especially in systems with write-back caches and coarse grain snoop filters that result in unnecessary snooping.

Innovation Solution

A snoop filter with a presence field that dynamically adjusts between fine grain and coarse grain configurations, using a format flag to interpret the presence data as either a unique node identifier or a subset indicator, reducing unnecessary snoop messages by sending targeted snoop messages only when data is unique or shared among fewer nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If coarse grain snoop filters are used, then storage requirements are reduced, but unnecessary snooping increases

Engineering Contradiction:
Improvestorage requirementsVSAvoidsnoop traffic
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The snoop filter dynamically switches between coarse grain and fine grain modes based on the current data sharing state. When data becomes unique to a single cache, the filter transitions to fine grain mode to enable precise tracking and reduce unnecessary snooping. When data is shared among multiple caches, it switches to coarse grain mode to save storage space. This dynamic adaptation resolves the contradiction by adjusting the grain level according to actual system needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter of presence vector granularity from static to variable. By using a format flag to indicate whether the presence vector should be interpreted as coarse grain or fine grain, the system can adjust the interpretation parameter based on data ownership state, thereby optimizing both storage efficiency and snoop traffic reduction.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If fine grain snoop filters are used, then snoop precision is improved, but storage requirements increase

Engineering Contradiction:
Improvesnoop precisionVSAvoidstorage requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The snoop filter dynamically switches between coarse grain and fine grain modes based on the current data sharing state. When data becomes unique to a single cache, the filter transitions to fine grain mode to enable precise tracking and reduce unnecessary snooping. When data is shared among multiple caches, it switches to coarse grain mode to save storage space. This dynamic adaptation resolves the contradiction by adjusting the grain level according to actual system needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter of presence vector granularity from static to variable. By using a format flag to indicate whether the presence vector should be interpreted as coarse grain or fine grain, the system can adjust the interpretation parameter based on data ownership state, thereby optimizing both storage efficiency and snoop traffic reduction.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If coarse grain snoop filters are used, then device complexity is reduced, but cache coherency monitoring effectiveness decreases

Engineering Contradiction:
Improvefilter structure complexityVSAvoidcache coherency monitoring
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The snoop filter dynamically switches between coarse grain and fine grain modes based on the current data sharing state. When data becomes unique to a single cache, the filter transitions to fine grain mode to enable precise tracking and reduce unnecessary snooping. When data is shared among multiple caches, it switches to coarse grain mode to save storage space. This dynamic adaptation resolves the contradiction by adjusting the grain level according to actual system needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from the cache coherency state and data ownership information to dynamically adjust the snoop filter granularity. The format flag serves as a feedback mechanism that indicates whether the presence vector should be interpreted as coarse grain or fine grain, allowing the system to adapt its monitoring effectiveness based on actual coherency requirements.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9990292B2Progressive fine to coarse grain snoop filter
Publication Date: 2018.06.05 ARM LTD
  • US9990292B2 patent drawing
  • US9990292B2 patent drawing
  • US9990292B2 patent drawing

AI summary

A data processing system includes a snoop filter organized as a number of lines, each storing an address tag associated with the address of data stored in one or more caches of the system, a coherency state of the data, and presence data. A snoop controller sends snoop messages in response to data access requests. The presence data is configurable in a first format, in which the value of a bit in the presence data is indicative of a subset of the nodes for which at least one node in the subset has a copy of the data in its local cache, and in a second format, in which the presence data comprises a unique identifier of a node having a copy of the data in its local cache. The snoop controller sends snoop messages to the nodes indicated by the presence data.