Snoop Filter Hash Technique for Large Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveperformanceVSAvoidsnoop filter size
Core Design Contradiction:
ProductivityVSDevice 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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvecache coherency accuracyVSAvoidsnoop latency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #26Copying

3Reliability

If the snoop filter tracks full cache addresses, then coherency is accurately maintained, but hardware cost increases significantly for large caches

Engineering Contradiction:
Improvecache coherencyVSAvoidhardware cost
Core Design Contradiction:
ReliabilityVSWeight of stationary object

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240202124A1Snoop filter for large cache using hash technique with optimal refresh algorithm
Publication Date: 2024.06.20 INTEL CORP
  • US20240202124A1 patent drawing
  • US20240202124A1 patent drawing
  • US20240202124A1 patent drawing

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.