Dynamic Snoop-Filter Allocation for Coherent Memory Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large-scale memory coherent systems, tracking the state of each cache line in multiple caching agents requires significant memory and bandwidth, leading to increased power consumption and performance impact due to unnecessary snoop traffic.
Innovation Solution
A coherency manager dynamically switches between indexing and bitmap modes based on the number of caching agents sharing a cache line, using indices for precise tracking when the number is below a threshold and bitmaps for group tracking when it exceeds, thereby optimizing snoop traffic and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the coherency manager sends snoops to all caching agents for every memory transaction, then the system ensures complete cache coherency checking, but the bandwidth consumption and power usage increase significantly
Solution Approach 1:
The patent applies preliminary action by pre-tracking and recording the locations of all cache lines across caching agents in a directory structure before memory transactions occur. This pre-established information allows the coherency manager to quickly identify which caching agents hold copies of requested cache lines, eliminating the need to broadcast snoops to all agents and thereby reducing bandwidth consumption and power usage while maintaining coherency checking completeness
Solution Approach 2:
The patent introduces a directory as an intermediary structure that mediates between the coherency manager and caching agents. The directory stores mapping information between cache lines and caching agents, acting as an intermediate lookup table that enables targeted snoop transmission. This intermediary eliminates the need for direct full-system broadcasting while ensuring complete coherency verification
2Quantity of substance
If the system groups caching agents to reduce memory usage for tracking cache line states, then the memory requirement decreases, but the snoop traffic increases impacting system performance and power consumption
Solution Approach 1:
The patent applies local quality by implementing a hybrid tracking approach where the directory structure adapts its granularity locally based on the number of caching agents. When the number of caching agents exceeds a threshold, the system transitions from tracking individual agents to tracking groups, optimizing memory usage locally while maintaining overall system efficiency. This localized adaptation prevents excessive snoop traffic while reducing memory requirements
Data Source
AI summary
Aspects of the disclosed technology include techniques and mechanisms for dynamic snoop-filter allocation for large-scale memory coherent systems. A coherency manager on an interconnect manages a directory storing data that indicates a current state of each cache line stored within each caching agent on the interconnect and a number of caching agents that share a cache line. Based on receiving a request from a caching agent to access to a cache line, the coherency manager uses a capacity of the directory, such as the number of caching agents that share a cache line, to determine whether to change an operation mode of a memory from a first mode to a second mode.


