Snoop Filter Storage Segmentation for Master Device Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As systems increase in complexity, the number of master devices grows, leading to a significant increase in the size of snoop filter storage required to track accesses, which in turn increases costs, power consumption, and access time within the snoop unit.

Innovation Solution

Implementing an apparatus with snoop filter storage that includes precise and imprecise tracking fields within each snoop filter entry, allowing for precise tracking of a subset of master devices while imprecisely tracking others, reducing the overall size of the snoop filter storage and minimizing unnecessary snoop operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the snoop filter storage size is increased to track all master devices, then the tracking precision is improved, but the cost, power consumption, and access time increase

Engineering Contradiction:
Improvetracking precisionVSAvoidsnoop filter storage size
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The snoop filter storage is segmented into two distinct parts: a first portion for precisely tracking a first subset of master devices, and a second portion for imprecisely tracking a second subset of master devices. This segmentation allows the system to allocate tracking resources selectively, maintaining high precision for critical devices while using less resources for others, thereby resolving the contradiction between tracking precision and storage size.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different tracking qualities are applied to different subsets of master devices based on their importance or activity patterns. The first subset of master devices receives precise tracking with detailed information stored in the first portion of the snoop filter, while the second subset receives imprecise tracking with summarized information in the second portion. This local differentiation optimizes the overall system by applying appropriate tracking precision where needed without uniformly increasing storage requirements for all devices.

Inventive Principle:
Principle #3Local quality

2Loss of information

If the snoop filter storage size is increased to track all master devices, then the tracking completeness is improved, but the power consumption increases

Engineering Contradiction:
Improvetracking completenessVSAvoidpower consumption
Core Design Contradiction:
Loss of informationVSUse of energy by stationary object

Solution Approach 1:

The snoop filter storage is divided into two portions with different tracking capabilities. The first portion tracks a first subset of master devices with complete information, while the second portion tracks a second subset with reduced information. This segmentation enables the system to maintain acceptable tracking completeness for all devices while significantly reducing the total power consumption compared to uniformly tracking all devices with high precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of applying full tracking precision to all master devices, the system applies partial tracking action to the second subset of master devices. The second portion of the snoop filter stores reduced information about these devices, which is sufficient for basic coherency maintenance but consumes less power. This partial action approach resolves the contradiction by providing adequate (though not complete) tracking for all devices while controlling power consumption.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If the snoop filter storage size is increased to track all master devices, then the tracking accuracy is improved, but the access time increases

Engineering Contradiction:
Improvetracking accuracyVSAvoidaccess time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The snoop filter is segmented into two portions with different data structures and access characteristics. The first portion maintains highly accurate tracking information for the first subset of master devices, enabling quick and precise lookups. The second portion maintains less detailed information for the second subset, which requires less access time. This segmentation resolves the contradiction by optimizing access time for the majority of devices while maintaining high accuracy for critical devices when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different access optimization strategies are applied locally to different subsets of master devices. The first portion of the snoop filter is optimized for fast, accurate access to track the first subset of master devices, while the second portion uses a more compact representation for the second subset that enables faster access at the cost of some precision. This local optimization resolves the contradiction between tracking accuracy and access time by matching the access requirements of different device subsets.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10657055B1Apparatus and method for managing snoop operations
Publication Date: 2020.05.19 ARM LTD
  • US10657055B1 patent drawing
  • US10657055B1 patent drawing
  • US10657055B1 patent drawing

AI summary

An apparatus and method are provided for managing snoop operations. The apparatus has an interface for receiving access requests from any of N master devices that have associated cache storage, each access request specifying a memory address within memory associated with the apparatus. Snoop filter storage is provided that has a plurality of snoop filter entries, where each snoop filter entry identifies a memory portion and snoop control information indicative of the master devices that have accessed that memory portion. When an access request received at the interface specifies a memory address that is within the memory portion associated with a snoop filter entry, snoop control circuitry uses the snoop control information in that snoop filter entry to determine which master devices to subject to a snoop operation. The snoop control circuitry maintains master indication data used to identify a first subset of the plurality of master devices whose accesses to the memory are to be precisely tracked within the snoop filter storage. The first subset comprises up to M master devices, where M is less than N. Each snoop filter entry has a precise tracking field and an imprecise tracking field. When multiple master devices have accessed the memory portion associated with a snoop filter entry, then the precise tracking field is used to precisely identify each master device of those multiple master devices that is within the first subset. When the multiple master devices includes at least one master device that is not in the first subset, then a generic indication is set in the imprecise tracking field.