Snoop Filter Coherency Checking via Shared Circuitry
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As the number of devices in an integrated circuit increases, snoop-based mechanisms for maintaining coherency become inefficient due to dominant snoop traffic, which consumes interconnect bandwidth and increases circuit overhead.
Innovation Solution
An interconnect with a snoop filter that allocates new entries for target addresses and selects victim entries for invalidation, utilizing existing coherency control circuitry to manage invalidate transactions and reduce circuit area and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a snoop filter is implemented to reduce snoop traffic, then snoop traffic is reduced and coherency management is improved, but circuit overhead and complexity increase
Solution Approach 1:
The patent combines the snoop filter functionality with the coherency control unit by having the coherency control unit perform both coherency control operations for device transactions and coherency control operations for invalidate transactions issued by the snoop filter. This integration eliminates the need for separate circuitry to handle invalidate transactions, thereby reducing circuit overhead while maintaining the benefits of snoop filtering.
Solution Approach 2:
The coherency control unit is designed to perform multiple functions: it handles coherency control for regular device transactions and also handles coherency control for invalidate transactions generated by snoop filter evictions. This multi-functionality allows a single unit to manage all coherency aspects, reducing the need for additional dedicated circuits and lowering overall system complexity.
2Measurement precision
If snoop filter entries are allocated for new target addresses, then coherency tracking accuracy is improved, but snoop filter capacity is consumed and may lead to evictions
Solution Approach 1:
The patent implements a victim selection mechanism that changes the state of snoop filter entries by selecting victim entries for invalidation. When the snoop filter needs to allocate a new entry but has no free slots, it selects a victim entry based on specific criteria (such as least recently used), invalidates the cached data for that address at connected devices, and then reuses the victim entry for the new target address. This dynamic parameter management allows the snoop filter to maintain accurate coherency tracking within its fixed capacity.
3Reliability
If invalidate transactions are issued for victim addresses, then coherency is maintained after snoop filter eviction, but interconnect bandwidth is consumed and performance may be impacted
Solution Approach 1:
The patent extracts the handling of invalidate transactions from the snoop filter and assigns it to the coherency control unit. The snoop filter generates invalidate transactions for victim addresses, but the coherency control unit is responsible for performing the coherency control operations and determining when these transactions can be serviced. This separation allows the snoop filter to focus on filtering snoop traffic while the coherency control unit manages the overhead of invalidate transactions, optimizing overall system performance.
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.


