Adaptive Range Snoop Filtering for Memory Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face performance limitations due to unnecessary snooping activities, particularly in distributed shared memory systems where I/O agents operate at lower frequencies, leading to increased memory latency and inefficiency, and existing snoop filtering techniques either waste memory space or are not scalable.

Innovation Solution

The implementation of an adaptive range snoop filtering method that uses a range table to track memory addresses and update ranges based on ownership assertions by I/O agents, allowing for efficient filtering of snoops by comparing requested memory line addresses to adaptive ranges, thereby reducing unnecessary snooping and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive snooping is performed on all caches to maintain coherency, then memory coherency is maintained, but memory latency increases and system performance decreases

Engineering Contradiction:
Improvememory coherencyVSAvoidmemory latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the snoop filtering function from the comprehensive snoop process by introducing a snoop filter table that selectively filters snoops based on address ranges. This allows the system to maintain coherency for critical memory regions while skipping unnecessary snoops for other regions, thereby reducing memory latency without sacrificing coherence where needed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by differentiating between different memory regions through address range filtering. Instead of uniform comprehensive snooping, the system applies selective snooping based on the local characteristics of different memory addresses, allowing faster access for non-critical regions while maintaining coherence for critical regions.

Inventive Principle:
Principle #3Local quality

2Reliability

If I/O agents are snooped frequently to maintain coherency, then memory coherency is maintained, but system performance is limited due to lower I/O agent frequencies

Engineering Contradiction:
Improvememory coherencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts I/O agents from the comprehensive snoop target list by implementing address range filtering that identifies and excludes I/O agent address ranges from snooping operations. This is achieved by tracking I/O agent ownership in the snoop filter table and using this information to filter out unnecessary snoops directed at I/O agents, thereby maintaining coherency while improving system performance.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If I/O agent write cache size is increased to reduce snooping frequency, then system performance improves, but filter size in processors must grow

Engineering Contradiction:
Improvesystem performanceVSAvoidfilter size
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory address space into different ranges and tracks ownership per range rather than requiring complete address tracking. The snoop filter table stores only the relevant ownership information for each range, significantly reducing the filter size requirement compared to tracking every individual address, thus improving performance without proportionally increasing device complexity.

Inventive Principle:
Principle #1Segmentation

4Productivity

If existing snoop filtering techniques use memory tags for I/O agent tracking, then snoop filtering is achieved, but memory space is wasted

Engineering Contradiction:
Improvesnoop filtering efficiencyVSAvoidmemory space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the parameter representation from detailed per-line tags to coarser address range tracking. Instead of using memory tags for each individual memory line to track I/O agent ownership, the system uses address ranges with ownership bits, significantly reducing the memory space required while maintaining effective snoop filtering capability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7730266B2Adaptive range snoop filtering methods and apparatuses
Publication Date: 2010.06.01 INTEL CORP
  • US7730266B2 patent drawing
  • US7730266B2 patent drawing
  • US7730266B2 patent drawing

AI summary

Snoop filtering methods and apparatuses for systems utilizing memory are contemplated. Method embodiments comprise receiving a request for contents of a memory line by a home agent, comparing an address of the memory line to a range in a set of adaptive ranges, and snooping an I/O agent for the contents upon a match of the address within the range. Apparatus embodiments comprise a range table, a table updater, a receiver module, and a range comparator. The range tables allow for the tracking of memory addresses as I/O agents assert ownership of the addresses. Employing a range-based snoop filtering approach may allow home agents to track a collection of addresses, in adaptable ranges, instead of tracking precise addresses which may require large quantities of memory to implement.