Cache Coherency Controller Directory Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache coherency systems face inefficiencies due to back invalidations caused by stale entries in snoop filters, leading to increased power consumption and reduced cache hit rates, especially when caching agents leave the coherency domain without proper signaling.

Innovation Solution

A cache coherency controller that filters directory entries to disregard caching agents no longer under coherency control, avoiding unnecessary snoop filter accesses and back invalidations by generating replacement entries based only on currently coherent cache memories, thus maintaining directory accuracy and reducing power usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If an inclusive snoop filter directory is maintained to track all cache copies, then cache coherency is ensured, but back invalidations occur when directory entries are full, reducing cache hit rates and increasing power consumption

Engineering Contradiction:
Improvecache coherencyVSAvoidcache hit rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the snoop filter directory adaptive rather than static. The directory dynamically adjusts its tracking scope based on coherency domain status changes. When caching agents leave the coherency domain, the directory automatically stops tracking their cache lines, transforming the rigid inclusive directory into a flexible structure that adapts to system state changes, thereby preventing back invalidations while maintaining coherency for active caches.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the coherency domain by identifying and separating caching agents that have left the domain. The snoop filter directory is effectively divided into two segments: entries for active coherent caches (continuously tracked) and entries for inactive caches (stopped tracking). This segmentation allows the system to maintain coherency for relevant caches without being constrained by stale entries, resolving the contradiction between comprehensive tracking and avoiding back invalidations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the snoop filter directory tracks all cache copies inclusively, then coherency is maintained, but power consumption increases due to unnecessary snoop enquiries and back invalidations

Engineering Contradiction:
Improvecache coherencyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts and removes stale entries from the snoop filter directory by detecting when caching agents leave the coherency domain. The coherency controller extracts information about domain status changes and uses this to identify and remove entries for inactive caches. This extraction process eliminates unnecessary snoop enquiries and back invalidations for caches that are no longer part of the coherent system, directly reducing power consumption while preserving coherency for active caches.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system implements self-service by having the snoop filter directory automatically update itself based on coherency domain status information. When a caching agent transitions out of the coherency domain, the directory autonomously stops tracking that agent's cache lines without requiring manual intervention or continuous validation. This self-adjusting mechanism eliminates wasteful power consumption associated with maintaining tracks of inactive caches while ensuring continuous coherency monitoring for active ones.

Inventive Principle:
Principle #25Self-service

3Loss of information

If the directory maintains entries for all caches including those that left the coherency domain, then directory completeness is preserved, but unnecessary back invalidations are triggered

Engineering Contradiction:
Improvedirectory completenessVSAvoidcache operation efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent applies preliminary action by proactively detecting when caching agents leave the coherency domain and preemptively stopping the tracking of their cache lines in the snoop filter directory. Rather than allowing stale entries to accumulate and then performing corrective back invalidations, the system performs the removal action in advance when the domain status change is detected. This preliminary action prevents unnecessary back invalidations while maintaining directory completeness for all currently active coherent caches.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10169236B2Cache coherency
Publication Date: 2019.01.01 ARM LTD
  • US10169236B2 patent drawing
  • US10169236B2 patent drawing
  • US10169236B2 patent drawing

AI summary

A cache coherency controller comprises a directory indicating, for memory addresses cached by one or more of a group of one or more cache memories connectable in a coherent cache structure, which of the cache memories are caching those memory addresses; and control circuitry configured to detect a directory entry relating to a memory address to be accessed so as to coordinate, amongst the cache memories, an access to a memory address by one of the cache memories or a coherent agent in instances when the directory entry indicates that another of the cache memories is caching that memory address; the control circuitry being responsive to status data indicating whether each cache memory in the group is currently subject to cache coherency control so as to take into account, in the detection of the directory entry relating to the memory address to be accessed, only those cache memories in the group which are currently subject to cache coherency control.