Hierarchical Snoop Filter Tables for Cache Coherency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing systems with multiple processing units and cache hierarchies, maintaining data coherency while minimizing the need for evictions in snoop filter storage is challenging due to limited resources and performance impacts from back-invalidation operations.
Innovation Solution
A hierarchical arrangement of snoop filter tables with a primary and backup tables, where each backup table has a different number of sets than the adjacent higher-level table, allowing for efficient allocation and reduction of evictions through allocation policies and promotion strategies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the snoop filter storage size is increased to reduce evictions, then data coherency reliability is improved, but device complexity and cost increase
Solution Approach 1:
The snoop filter storage is divided into multiple snoop filter tables, each managing a subset of coherence data. This segmentation allows the system to maintain comprehensive tracking across multiple smaller tables rather than requiring one large table, reducing the complexity burden while preserving overall reliability through distributed coverage.
Solution Approach 2:
The patent implements a hierarchical arrangement where snoop filter tables are organized in levels, with lower-level tables providing backup capacity for higher-level tables. When higher-level tables experience evictions, data can be nested into lower-level tables, creating a nested structure that maintains coherency tracking without requiring a single large flat storage structure.
2Device complexity
If the snoop filter storage size is constrained to reduce cost, then device complexity is reduced, but the frequency of evictions increases causing performance degradation
Solution Approach 1:
The patent changes the structural parameters of the snoop filter storage by organizing it into multiple tables with different numbers of sets at different hierarchical levels. This parameter transformation allows the same total storage capacity to be distributed more efficiently, reducing evictions without increasing overall size or complexity.
Solution Approach 2:
The patent introduces a hierarchical dimension to the snoop filter storage organization, arranging tables in multiple levels where lower-level tables serve as backup for higher-level tables. This dimensional transformation allows the system to manage limited storage resources more effectively by adding a hierarchical layer rather than simply expanding flat storage capacity.
3Adaptability or versatility
If evictions are performed in the snoop filter storage, then new coherence data can be allocated, but back-invalidation operations in local caches cause performance degradation
Solution Approach 1:
The patent prepares backup snoop filter tables in advance at lower hierarchical levels, so when evictions need to occur in higher-level tables, there is pre-positioned capacity available to receive the evicted data. This preliminary preparation of backup capacity reduces the frequency and impact of evictions, minimizing the need for performance-degrading back-invalidation operations in local caches.
Data Source
AI summary
An apparatus and method are provided for receiving a request from a plurality of processing units, where multiple of those processing units have associated cache storage. A snoop unit is used to implement a cache coherency protocol when a request is received that identifies a cacheable memory address. The snoop unit has snoop filter storage comprising a plurality of snoop filter tables organized in a hierarchical arrangement. The snoop filter tables comprise a primary snoop filter table at a highest level in the hierarchy, and each snoop filter table at a lower level in the hierarchy forms a backup snoop filter table for an adjacent snoop filter table at a higher level in the hierarchy. Each snoop filter table is arranged as a multi-way set associative storage structure, and each backup snoop filter table has a different number of sets than are provided in the adjacent snoop filter table.


