Cache Coherency Controller Directory Filtering
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


