Inclusive Snoop Directory Memory for Data Coherency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems face significant overhead in terms of circuit area and power consumption due to the large storage requirements of snoop filters, particularly exclusive snoop directories, which are needed to maintain data coherence as the number of shared memory locations and consumers increases, leading to geometric increases in snoop request traffic.
Innovation Solution
The implementation of an inclusive snoop directory memory that breaks the one-to-one relationship between directory lines and main cache lines, using directory lines to refer to multiple main cache lines and containing multiple snoop vectors for different memory address sub-regions, allowing for a more compact and efficient design that reduces area and power overhead while maintaining effective data sharing management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an exclusive snoop directory is used to track all memory addresses, then data coherence is maintained, but circuit area and power consumption increase significantly
Solution Approach 1:
The patent segments the memory address space into multiple regions, with each region tracked by a separate directory entry. This divides the large exclusive snoop directory into smaller manageable segments, reducing the area required for each directory entry while maintaining coverage of the entire address space through multiple segmented directories.
Solution Approach 2:
The patent introduces a hierarchical dimension to the snoop directory structure by organizing directories in multiple levels. Instead of a flat single-level directory that requires large area, the hierarchical structure allows compact representation by grouping address regions, effectively trading one dimension (area) for another (hierarchy depth).
2Reliability
If an inclusive snoop directory tracks all shared data, then data sharing is managed, but area and power consumption increase with system size
Solution Approach 1:
The patent implements partial tracking by maintaining inclusive snoop directory information only for shared data regions, rather than tracking all memory addresses. This partial action approach reduces power consumption by activating and maintaining directory entries only when needed for shared data,而非 continuously for the entire address space.
3Productivity
If snoop filters are used to reduce snoop request traffic, then coherence overhead is reduced, but circuit area and power consumption increase
Solution Approach 1:
The patent applies preliminary anti-action by pre-identifying and marking shared data regions in the inclusive snoop directory before snoop requests occur. This preliminary marking allows the system to preemptively avoid generating snoop requests for non-shared data, thereby reducing snoop traffic and associated power consumption before the actual data access occurs.
Data Source
AI summary
A data processing systems employing a coherent memory system comprises multiple main cache memories. An inclusive snoop directory memory stores directory lines. Each directory line includes a directory tag and multiple snoop vectors. Each snoop vector relates to a span of memory addresses corresponding to the cache line size within the main cache memories.


