Dynamic Snoop Filter Extension for Precise Cache Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor systems, existing cache coherence mechanisms suffer from over-snooping penalties, leading to increased latency, bandwidth consumption, and energy waste due to inefficient snoop filters that lack precision in tracking cache coherence.

Innovation Solution

Implementing a hybrid snoop filter system that dynamically switches between precise and imprecise tracking modes, using a base SFT entry to store a limited number of agent IDs and an extra SFT entry to handle cases where more agents share a coherence granule, reducing over-snooping by maintaining precise tracking while minimizing hardware overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a traditional snoop filter tracks all agent IDs using a fixed-size tracking_information field, then it can maintain cache coherence for a limited number of agents, but it cannot handle cases where more agents share a coherence granule, leading to over-snooping penalties

Engineering Contradiction:
Improvetracking precisionVSAvoidnumber of tracked agents
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The tracking_information field is segmented into a base portion and an extended portion. The base SFT entry contains a base tracking_information field with a fixed number of agent ID slots, while an extra SFT entry contains an extended tracking_information field with additional agent ID slots. This segmentation allows the system to track more agents when needed by combining both portions, resolving the contradiction between fixed-size tracking and variable agent participation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a temporal dimension to the tracking capacity by introducing an extension mechanism. When the base tracking_information field is full, the system can extend tracking to include an extra SFT entry with additional agent ID slots. This transforms the fixed-dimensional tracking structure into a dynamically expandable one, allowing the snoop filter to adapt to varying numbers of participating agents without over-snooping.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If the snoop filter entry size is increased to track more agent IDs, then it can handle more agents sharing a cogran, but it increases hardware overhead and complexity

Engineering Contradiction:
Improvenumber of tracked agentsVSAvoidSFT entry structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The snoop filter entry structure is made dynamic through the use of an indicator field that specifies whether the tracking_information field is in a base state or an extended state. This allows the entry size to adapt based on the actual number of agents sharing the coherence granule. When fewer agents are involved, only the base entry is used; when more agents are involved, the extra entry is allocated. This dynamic approach resolves the contradiction by making the complexity conditional rather than fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies local quality by making different parts of the SFT structure serve different functions based on the tracking needs. The base SFT entry handles the common case of fewer agents with a compact structure, while the extra SFT entry handles the less common case of more agents with an extended structure. This localized differentiation allows the system to optimize for the common case while still handling the extended case when necessary, reducing overall hardware overhead.

Inventive Principle:
Principle #3Local quality

3Loss of energy

If the snoop filter uses precise tracking of all agent IDs, then it reduces over-snooping penalties, but it increases bandwidth consumption and energy waste when tracking many agents

Engineering Contradiction:
Improveenergy waste from over-snoopingVSAvoidbandwidth consumption
Core Design Contradiction:
Loss of energyVSQuantity of substance

Solution Approach 1:

The patent implements partial tracking by maintaining a base tracking_information field that always tracks a limited number of agent IDs, and an optional extended tracking through the extra SFT entry. This partial tracking approach resolves the contradiction by tracking only the necessary number of agents in each specific case, rather than always tracking all possible agents. The system applies precise tracking only when needed (when the extension is activated), reducing unnecessary bandwidth consumption and energy waste from tracking excessive agents.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12399829B2Dynamic extension of cache coherence snoop filter entry
Publication Date: 2025.08.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12399829B2 patent drawing
  • US12399829B2 patent drawing
  • US12399829B2 patent drawing

AI summary

The described technology provides a method including generating a base snoop filter (SFT) entry for a coherence granule (cogran) in agent cache, the base SFT entry comprising a tracking_information field configured to track a plurality of agent IDs, each agent ID identifying an agent that holds a copy of the cogran, determining a number of agents that hold the copy of the cogran, comparing the and number of agents that store the copy of the cogran with number of the plurality of agent IDs tracked in the tracking_information field of the base SFT entry; and in response to determining that the number of agents that hold the copy of the cogran is greater than the number of the plurality of agent IDs tracked in the tracking_information field of the base SFT entry, selecting a second SFT entry as an extra SFT entry, wherein the extra SFT entry is configured to store a portion of tracking vector wherein each bit of the tracking vector indicates cache validity state of the cogran for a related agent.