Self-Healing Coarse-Grained Snoop Filter for Multiprocessor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Snoopy protocols in multiprocessor systems face scaling issues due to increased snoop traffic as the number of active processors grows, leading to inefficiencies in cache coherency maintenance and increased latency, with existing snoop filtering methods either generating false positives or requiring high area and power costs.

Innovation Solution

A self-healing coarse-grained snoop filter that tracks cache entries at a page granularity, allowing for efficient filtering of snoops while maintaining low area and latency, and preventing the accumulation of false positives over time by evicting least-recently accessed entries and using a temporary overflow area to manage new entries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If snooping is used to maintain cache coherency in multiprocessor systems, then cache coherency is maintained, but snoop traffic increases significantly as the number of processors grows

Engineering Contradiction:
Improvecache coherencyVSAvoidsnoop traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the address space into multiple regions, with each region having its own snoop filter. This allows snoop traffic to be filtered at a finer granularity, reducing the amount of unnecessary snoop traffic that needs to be broadcast to all processors while maintaining cache coherency for each address region.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The snoop filter acts as an intermediary between the snoop request and the cache. It intercepts snoop requests and determines whether they need to be forwarded to the cache based on the filter's tracking of current cache contents, thereby reducing unnecessary snoop traffic to the cache and other processors.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If fine-grained snoop filtering is implemented, then snoop filtering precision is improved, but area and power costs increase

Engineering Contradiction:
Improvesnoop filtering precisionVSAvoidfilter area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The address space is segmented into multiple regions, allowing the snoop filter to track cache contents at a page level within each region. This segmentation enables precise filtering for frequently accessed pages while using coarser filtering for less critical address ranges, reducing the total filter area required compared to a fully fine-grained approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the address space are treated with different filtering granularities. Frequently accessed or critical address regions receive fine-grained filtering, while less critical regions use coarser filtering, optimizing the balance between filtering precision and area consumption.

Inventive Principle:
Principle #3Local quality

3Area of stationary object

If coarse-grained snoop filtering is used, then area and power consumption are reduced, but false positives increase

Engineering Contradiction:
Improvefilter areaVSAvoidfalse positive rate
Core Design Contradiction:
Area of stationary objectVSMeasurement precision

Solution Approach 1:

By segmenting the address space into multiple regions with dedicated snoop filters, the patent reduces the false positive rate within each region compared to a single large coarse-grained filter. Each regional filter tracks page-level information for its specific address range, providing better precision while maintaining low area and power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a regional dimension to the snoop filtering hierarchy. Instead of using a single coarse-grained filter that operates on the entire address space, multiple regional filters operate in parallel on different address ranges, effectively adding a spatial dimension that improves precision without proportionally increasing area or power consumption.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Measurement precision

If snoop filter capacity is increased to reduce false positives, then filtering effectiveness is improved, but area and latency increase

Engineering Contradiction:
Improvefiltering effectivenessVSAvoidfilter latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the snoop filter into multiple smaller regional filters, each handling a specific address range. This segmentation reduces the capacity requirements and access latency of each individual filter while collectively providing comprehensive coverage of the entire address space, thereby improving filtering effectiveness without increasing latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By organizing filters in a regional hierarchy rather than using a single large filter, the patent effectively distributes the filtering capacity across multiple smaller units. This dimensional organization allows parallel processing of snoop requests across different regions, reducing overall latency while maintaining high filtering effectiveness.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP3427154B1Self-healing coarse-grained snoop filter
Publication Date: 2020.01.22 QUALCOMM INC
  • EP3427154B1 patent drawingFigure 1
  • EP3427154B1 patent drawingFigure 2
  • EP3427154B1 patent drawingFigure 3

AI summary

The disclosure relates to filtering snoops in coherent multiprocessor systems. For example, in response to a request to update a target memory location at a Level-2 (L2) cache shared among multiple local processing units each having a Level-1 (L1) cache, a lookup based on the target memory location may be performed in a snoop filter that tracks entries in the LI caches. If the lookup misses the snoop filter and the snoop filter lacks space to store a new entry, a victim entry to evict from the snoop filter may be selected and a request to invalidate every cache line that maps to the victim entry may be sent to at least one of the processing units with one or more cache lines that map to the victim entry. The victim entry may then be replaced in the snoop filter with the new entry corresponding to the target memory location.