Dual-Mode Snoop Filter With Conflict Buffer for Cache Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache-coherent systems face scalability issues and high area requirements due to the use of static random access memory for snoop filters, limiting network bandwidth and flexibility.

Innovation Solution

A dual-mode snoop filter with a conflict buffer is introduced, allowing for area-efficient and flexible implementation by tracking in-progress snoops and managing snoop requests and responses, featuring a snoop state machine and a conflict buffer to manage cache coherence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static random access memory is used for 1:1 mapping of valid and in-progress status bits to each snoop filter entry, then cache coherence can be maintained, but the implementation area becomes large and network bandwidth capacity is restricted

Engineering Contradiction:
Improvecache coherenceVSAvoidimplementation area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent extracts the in-progress status tracking function from the main snoop filter structure and places it in a separate conflict buffer. This separation allows the snoop filter to focus on cache coherence tracking while the conflict buffer handles in-progress status, reducing the area required for the main snoop filter structure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the snoop filter functionality into two distinct components: the snoop filter itself for tracking valid and in-progress status bits, and the conflict buffer for tracking in-progress snoops. This segmentation allows each component to be optimized independently and reduces the overall area requirement.

Inventive Principle:
Principle #1Segmentation

2Reliability

If static random access memory is used for snoop filter entries, then cache coherence can be maintained, but network bandwidth capacity is restricted

Engineering Contradiction:
Improvecache coherenceVSAvoidnetwork bandwidth capacity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces dynamic status tracking in the conflict buffer that adapts to the current snoop operations. The in-progress status bits in the conflict buffer dynamically reflect the current state of snoop operations, allowing the system to optimize network bandwidth usage by only initiating snoops when necessary, thereby increasing network bandwidth capacity.

Inventive Principle:
Principle #15Dynamics

3Reliability

If a snoop filter with 1:1 mapping is used, then cache coherence can be maintained, but the system becomes non-scalable

Engineering Contradiction:
Improvecache coherenceVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the snoop filter into a main snoop filter for cache coherence tracking and a separate conflict buffer for in-progress status. This segmentation creates a more flexible architecture where the conflict buffer can be independently sized and configured, allowing the system to scale adaptively to different system requirements without compromising cache coherence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent allows for flexible configuration of the conflict buffer size and mapping parameters. The in-progress status bits in the conflict buffer can be dynamically adjusted based on system requirements, enabling the system to scale to different numbers of processing units and cache configurations while maintaining cache coherence.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12625812B2Coherent system and a method of maintaining cache coherence using thereof
Publication Date: 2026.05.12 SKYECHIP BERHAD
  • US12625812B2 patent drawing
  • US12625812B2 patent drawing
  • US12625812B2 patent drawing

AI summary

A coherent system including a plurality of processing units; an interconnect comprising a snoop filter, a conflict buffer to track in-progress or outstanding snoop, and a snoop state machine for managing snoop requests and snoop responses between the snoop filter, the conflict buffer and the processing units; wherein the snoop filter is configured to copy cacheline data of a cacheline that the processing unit reads on, match the cacheline address with tags of the snoop filter, and receive the snoop responses; wherein the conflict buffer is configured to indicate a hit or miss status based on the matching of the snoop filter and to send peer-cache snoop requests to different processing units. Further, a method of maintaining cache coherence using the coherent system also disclosed.