Adaptive Snoop Filtering for Cache Coherency Throughput

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

VSEngineering 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

Engineering Contradiction:
Improvedata availabilityVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvepower consumptionVSAvoiddata transfer efficiency
Core Design Contradiction:
Use of energy by moving objectVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #35Parameter changes

3Reliability

If snoop requests are sent to all initiators, then coherency is ensured, but system complexity and overhead increase

Engineering Contradiction:
ImprovecoherencyVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9563560B2Adaptive tuning of snoops
Publication Date: 2017.02.07 QUALCOMM TECHNOLOGIES INC
  • US9563560B2 patent drawing
  • US9563560B2 patent drawing
  • US9563560B2 patent drawing

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.