Snoop Filter Coherency Circuit Reuse for Interconnect Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In integrated circuits, maintaining coherency between devices becomes inefficient as the number of devices increases, leading to excessive snoop traffic that dominates interconnect bandwidth, and existing snoop filters require significant circuit overhead to manage invalidate transactions effectively.
Innovation Solution
The implementation of a snoop filter that allocates new entries dynamically and selects victim entries for invalidation, coupled with reusing coherency control circuitry to handle invalidate transactions, reduces circuit area and improves performance by avoiding feedback loops and deadlocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a snoop filter is implemented to reduce snoop traffic, then snoop traffic is reduced, but circuit overhead increases
Solution Approach 1:
The coherency control circuitry is designed to perform multiple functions: it handles both original coherency control operations for transactions from devices and coherency control operations for invalidate transactions generated by the snoop filter. This multi-functionality eliminates the need for separate coherency control logic in the snoop filter, reducing overall circuit overhead while maintaining the ability to reduce snoop traffic effectively.
Solution Approach 2:
The patent merges the coherency control functionality into a single shared circuitry that serves both the interconnect's transaction handling and the snoop filter's invalidate transaction needs. By combining these functions into one unified coherency control unit, the circuit overhead is reduced compared to having separate coherency control mechanisms for each function.
2Adaptability or versatility
If snoop filter entries are allocated dynamically, then address coverage is improved, but circuit complexity increases
Solution Approach 1:
The snoop filter implements dynamic entry allocation where entries are allocated and deallocated based on actual usage patterns. When an entry is evicted, it can be reallocated to a new address, allowing the filter to adapt to changing access patterns. This dynamic behavior improves address coverage without requiring a fixed large number of entries, thereby managing circuit complexity effectively.
Solution Approach 2:
The snoop filter employs a victim selection mechanism that identifies and evicts least recently used or least important entries to make space for new allocations. This discarding and recovering process allows the filter to maintain a useful set of entries for current addresses while managing the limited circuit resources available, balancing adaptability with complexity constraints.
Data Source
AI summary
An interconnect has coherency control circuitry for performing coherency control operations and a snoop filter for identifying which devices coupled to the interconnect have cached data from a given address. When an address is looked up in the snoop filter and misses, and there is no spare snoop filter entry available, then the snoop filter selects a victim entry corresponding to a victim address, and issues an invalidate transaction for invalidating locally cached copies of the data identified by the victim. The coherency control circuitry for performing coherency checking operations for data access transactions is reused for performing coherency control operations for the invalidate transaction issued by the snoop filter. This greatly reduces the circuitry complexity of the snoop filter.


