Adaptive Snoop Filtering for Cache Coherency Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cache coherency systems, initiators with coherent caches often face throughput limitations when required to provide data continuously, leading to inefficient data transfer and potential bottlenecks, especially when they are running at lower-than-peak clock frequencies.
Innovation Solution
A dynamic cache coherency controller that issues snoops to connected initiators, allowing data to be obtained from either coherent initiators or the backing store based on available throughput, optimizing resource usage by selectively requesting data only when initiators have sufficient capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If continuous data transfer is required from initiators with coherent caches, then data availability is improved, but throughput limitations and bottlenecks occur
Solution Approach 1:
The patent implements dynamic snoop filtering that adapts to current system conditions. The filter selectively blocks snoop requests based on real-time analysis of initiator throughput capacity, cache state, and system workload, allowing the system to optimize between data availability and throughput prevention dynamically
Solution Approach 2:
The system employs feedback mechanisms where snoop filter performance and throughput metrics are monitored and used to adjust filtering decisions. This closed-loop control enables the system to learn from past performance and optimize snoop blocking strategies to prevent throughput limitations while maintaining necessary data availability
2Use of energy by moving object
If initiators run at lower-than-peak clock frequencies, then power consumption is reduced, but data transfer efficiency deteriorates
Solution Approach 1:
The snoop filter performs preliminary blocking of snoop requests before they reach initiators running at lower clock frequencies. By predicting which snoops are unnecessary and blocking them in advance, the system prevents throughput degradation before it occurs, allowing initiators to maintain lower power consumption states
Solution Approach 2:
The system changes operational parameters by dynamically adjusting snoop filter aggressiveness based on initiator clock frequency. When initiators operate at lower frequencies, the filter becomes more aggressive in blocking snoops to compensate for reduced data transfer efficiency, while allowing higher frequencies to operate with less filtering
3Reliability
If snoop requests are sent to all initiators, then coherency is ensured, but system complexity and overhead increase
Solution Approach 1:
The snoop filter extracts and removes unnecessary snoop requests from the system before they reach initiators. By analyzing snoop patterns and blocking redundant requests, the filter eliminates overhead while preserving the coherency guarantees needed for valid memory operations
Solution Approach 2:
The snoop filter acts as an intermediary component between the coherency controller and initiators. It mediates snoop traffic by intelligently blocking unnecessary requests while allowing valid coherency maintenance snoops to pass through, reducing overall system complexity and overhead
Data Source
AI summary
A coherency controller, such as one used within a system-on-chip, is capable of issuing different types of snoops to coherent caches. The coherency controller chooses the type of snoop based on the type of request that caused the snoops or the state of the system or both. By so doing, coherent caches provide data when they have sufficient throughput, and are not required to provide data when they do not have insufficient throughput.


