Snoop Filter with Imprecise Encoding for Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current snoop filter technologies face challenges in efficiently managing cache coherency and reducing snoop traffic due to high hardware costs and power consumption associated with precise sharer information storage and comparison, especially as the number of sharers increases, leading to stale entries and increased traffic.

Innovation Solution

Implementing a snoop filter with imprecise encoding that uses sharer count values to indicate the number of sharers holding cached data, allowing for reduced storage and power usage while still effectively managing snoop requests, and switching between precise and imprecise encodings based on transaction monitoring and workload conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If precise sharer information is stored in snoop filter entries, then snoop traffic can be reduced by accurately identifying which sharers hold cached data, but hardware costs and power consumption increase significantly

Engineering Contradiction:
Improvesnoop traffic reductionVSAvoidhardware cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of sharer information representation from precise (individual sharer identification) to imprecise (group-based identification with count values). This allows the snoop filter to function effectively with reduced hardware resources by using coarser-grained information that still enables traffic reduction without requiring detailed tracking of each sharer's cache state

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent uses inexpensive imprecise encoding structures (group identifiers and count values) instead of expensive precise tracking mechanisms. These simpler data structures require less hardware resources and can be updated more efficiently, effectively replacing complex persistent sharer state information with lighter-weight approximations

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Reliability

If precise sharer information is maintained, then cache coherency management is improved, but power consumption increases due to continuous tracking and updating of sharer states

Engineering Contradiction:
Improvecache coherency managementVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent transitions from tracking detailed sharer state parameters to maintaining aggregate count parameters. This reduction in information granularity significantly lowers the computational overhead and power consumption associated with updating and querying sharer information, while still providing sufficient accuracy for coherency management decisions

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies partial tracking by monitoring only the number of sharers rather than the complete state of each sharer. This partial information is sufficient for many coherency management scenarios, reducing the energy required for full state tracking while maintaining adequate reliability for cache coherence

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If the number of sharers increases, then system scalability is improved, but snoop filter effectiveness deteriorates due to increased hardware costs and stale entries

Engineering Contradiction:
Improvesystem scalabilityVSAvoidsnoop filter hardware cost
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses imprecise encoding with group-based identification that scales more efficiently with the number of sharers. Instead of requiring linearly increasing resources with each additional sharer, the group-based approach with count values provides logarithmic or sub-linear scaling, enabling the system to handle larger numbers of sharers without proportional increases in hardware complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates a universal snoop filter entry structure that can handle any number of sharers through group identification and counting mechanisms. This universal approach replaces specialized tracking structures that would be required for each individual sharer, allowing the same hardware structure to efficiently manage systems with varying numbers of sharers

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11567870B2Snoop filter with imprecise encoding
Publication Date: 2023.01.31 ARM LTD
  • US11567870B2 patent drawing
  • US11567870B2 patent drawing
  • US11567870B2 patent drawing

AI summary

An apparatus comprises snoop filter storage circuitry to store snoop filter entries corresponding to addresses and comprising sharer information. Control circuitry selects which sharers, among a plurality of sharers capable of holding cached data, should be issued with snoop requests corresponding to a target address, based on the sharer information of the snoop filter entry corresponding to the target address. The control circuitry is capable of setting a given snoop filter entry corresponding to a given address to an imprecise encoding in which the sharer information provides an imprecise description of which sharers hold cached data corresponding to the given address, and the given snoop filter entry comprises at least one sharer count value indicative of a number of sharers holding cached data corresponding to the given address.