Snoop Filter Hash Technique for Large Cache Coherency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large caches in computing systems lead to increased power, performance, and hardware costs due to the need for complex cache coherency algorithms and larger snoop filters, which do not scale well and result in performance degradation and redundant snoop requests.
Innovation Solution
Implementing a snoop filter that tracks hash values of cached addresses instead of the addresses themselves, using a refresh algorithm to maintain cache coherency without significant performance degradation and reducing hardware costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the cache size is increased to improve performance, then the snoop filter size must also be increased, resulting in increased hardware cost and complexity
Solution Approach 1:
The patent extracts only the essential identifying information from cache addresses by hashing selected bits, rather than storing complete addresses. This reduces the snoop filter size while maintaining the ability to identify cached data, resolving the contradiction between cache size and snoop filter complexity.
Solution Approach 2:
The patent changes the parameter representation from full cache addresses to hashed values of selected address bits. This parameter transformation enables the snoop filter to scale with large caches without proportionally increasing hardware cost, as the hashed representation requires fewer bits while preserving cache line identification capability.
2Reliability
If traditional snoop filtering is used to maintain cache coherency, then accurate coherency is maintained, but latency and power consumption increase due to redundant snoop requests
Solution Approach 1:
The patent creates a simplified copy of address information through hashing selected bits, which serves as a compact representation for snoop filtering. This copied hashed value enables faster comparison and reduces redundant snoops while maintaining coherency accuracy, addressing the latency issue without sacrificing reliability.
3Reliability
If the snoop filter tracks full cache addresses, then coherency is accurately maintained, but hardware cost increases significantly for large caches
Solution Approach 1:
The patent extracts only the necessary identifying bits from full cache addresses by hashing selected address bits. This extraction reduces the hardware resources required for the snoop filter while maintaining the ability to accurately track cached data for coherency maintenance, resolving the contradiction between coherency accuracy and hardware cost.
Solution Approach 2:
The patent transforms the address parameter from full-width cache addresses to condensed hashed values. This parameter change reduces the hardware cost of the snoop filter by decreasing the number of bits that must be stored and compared, while preserving the functional capability to maintain cache coherency for large cache sizes.
Data Source
AI summary
Embodiments described herein may include apparatus, systems, techniques, and/or processes that are directed to computing systems implementing a very large cache for one or more processing engines in a shared memory system. According to various embodiments, a snoop filter tracks a hash value of the cached addresses instead of tracking the addresses themselves. Tracking hash values introduces inaccuracy and an inability to easily clean or refresh the snoop filter. A refresh algorithm maintains cache coherency without significant performance degradation. The cache refresh algorithm keeps the accuracy of the snoop filter, hence reducing the latency and power effects of false snoops. Further, the use of hash values reduces the hardware cost over traditional snoop filters.


