Dual-Mode Snoop Filter With Conflict Buffer for Cache Coherence
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If static random access memory is used for snoop filter entries, then cache coherence can be maintained, but network bandwidth capacity is restricted
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.
3Reliability
If a snoop filter with 1:1 mapping is used, then cache coherence can be maintained, but the system becomes non-scalable
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.
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.
Data Source
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.


