Partial-Vector Snoop Filter for Low-Overhead 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 imprecise tracking of cache coherence, particularly when dealing with a large number of agents sharing data.

Innovation Solution

Implementing a hybrid snoop filter (SFT) that switches between precise and imprecise tracking modes based on the number of agents sharing coherence granules, using partial vectors (PVECs) and dynamic allocation of extra SFT entries to reduce overhead, while leveraging software scheduling to minimize inter-agent data sharing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If imprecise tracking of cache coherence is used, then device complexity is reduced, but over-snooping penalties increase leading to increased latency, bandwidth consumption, and energy waste

Engineering Contradiction:
Improvetracking mechanism complexityVSAvoidenergy waste due to over-snooping
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent segments the tracking mechanism into two distinct modes: precise tracking mode for small numbers of agents and imprecise tracking mode for large numbers of agents. This segmentation allows the system to adapt the level of tracking detail based on the specific operational context, reducing complexity when full precision is not needed while maintaining precision when necessary, thereby reducing overall energy consumption from unnecessary snooping operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic tracking mechanism that switches between precise and imprecise modes based on the number of agents sharing coherence granules. The system dynamically adjusts its tracking behavior in response to changing conditions, transitioning to imprecise mode when many agents are involved to reduce over-snooping penalties, and to precise mode when fewer agents are present to maintain cache coherence efficiency. This dynamic adaptation resolves the contradiction by optimizing tracking complexity based on actual system state.

Inventive Principle:
Principle #15Dynamics

2Reliability

If precise tracking of cache coherence is used, then cache coherence reliability is improved, but over-snooping penalties increase leading to increased latency and bandwidth consumption

Engineering Contradiction:
Improvecache coherence consistencyVSAvoidlatency due to over-snooping
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent employs dynamic mode switching to adapt the tracking precision based on the number of agents. When few agents are present, the system uses precise tracking to ensure cache coherence reliability. When many agents are present, the system switches to imprecise tracking to reduce the frequency and impact of snooping operations, thereby reducing latency. This dynamic adjustment allows the system to maintain reliability when needed while minimizing time loss from unnecessary snooping.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the tracking parameter (precision level) based on the number of agents sharing coherence granules. By adjusting this critical parameter dynamically, the system optimizes the balance between maintaining cache coherence reliability and reducing snooping-induced latency. The parameter change allows the system to tolerate reduced precision when many agents are involved, as the overhead of precise tracking would otherwise cause excessive latency.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If precise tracking of cache coherence is used, then cache coherence reliability is improved, but bandwidth consumption and energy waste increase

Engineering Contradiction:
Improvecache coherence consistencyVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the tracking functionality into two distinct operational modes that can be selectively activated. This segmentation enables the system to use bandwidth-intensive precise tracking only when necessary (few agents present) and to use lighter imprecise tracking when many agents are present, thereby reducing overall bandwidth consumption while maintaining reliability when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic adaptation of tracking precision based on the number of agents sharing coherence granules. The system dynamically adjusts its behavior to use precise tracking only when the number of agents justifies the bandwidth cost, and switches to imprecise tracking when many agents are present to avoid excessive bandwidth consumption. This dynamic approach resolves the contradiction by aligning tracking precision with actual system demands.

Inventive Principle:
Principle #15Dynamics

4Reliability

If a large number of agents are tracked, then cache coherence reliability is improved, but device complexity and overhead increase

Engineering Contradiction:
Improvecache coherence consistencyVSAvoidtracking structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the tracking structure into two distinct modes: precise tracking for small agent sets and imprecise tracking for large agent sets. This segmentation allows the system to maintain simple, low-overhead tracking when many agents are present while using more complex precise tracking only when the number of agents is small enough to justify the complexity, thereby resolving the contradiction between reliability and device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the tracking parameter (precision level) based on the number of agents to optimize the balance between reliability and complexity. When many agents are present, the system uses imprecise tracking to minimize overhead. When fewer agents are present, the system switches to precise tracking to ensure reliability. This parameter change strategy allows the system to maintain appropriate complexity levels for the given operational context.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12561248B2Snoop filter entry using a partial vector
Publication Date: 2026.02.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12561248B2 patent drawing
  • US12561248B2 patent drawing
  • US12561248B2 patent drawing

AI summary

The described technology provides a method including generating a full tracking vector wherein each bit of the full tracking vector indicates cache validity state of a coherence granule (cogran) in agent cache for a related agent, dividing the tracking vector into a plurality of partial vectors (PVECs), for each PVEC, determining whether cache validity state of at least one bit in the PVEC is set to valid, and in response to determining that cache validity state of at least on bit in a given PVEC is set to valid, storing the given PVEC and its PVEC pointer in a tracking_info field of a base snoop filter (SFT) entry for the cogran, wherein the PVEC pointer indicates the location of the given PVEC in the full tracking vector.