Snoop Filter E/M Line Replacement for Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor systems with multiple caches, maintaining data coherency is challenging due to limited directory space in snoop filters, which can lead to outdated states and increased cache miss rates when replacing entries, especially when dealing with exclusive/modified (E/M) cache lines.

Innovation Solution

Implementing an E/M line replacement technique that pre-selects and prioritizes E/M entries for replacement, using a threshold-based approach to minimize cache miss rates and reduce back-invalidation messages, along with a conflict FIFO to manage set conflicts and select replacement entries among all entries when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If directory space is increased to record more cache line states, then data coherency tracking capability is improved, but device complexity and cost increase

Engineering Contradiction:
Improvedata coherency tracking capabilityVSAvoiddirectory size
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The directory is segmented into multiple sets, each containing a limited number of entries. This segmentation allows the system to manage directory space efficiently while maintaining the ability to track cache line states across different memory addresses. Each set independently manages its own entries, reducing the complexity of managing a single large directory structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a set index dimension to organize directory entries. Instead of a flat one-dimensional directory structure, entries are organized into multiple sets indexed by set index bits from the memory address. This dimensional organization allows efficient mapping of memory addresses to directory entries while maintaining manageable directory size.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If directory space is increased to record more cache line states, then data coherency tracking capability is improved, but manufacturing cost increases

Engineering Contradiction:
Improvedata coherency tracking capabilityVSAvoidmanufacturing cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The directory is segmented into multiple sets, each containing a limited number of entries. This segmentation allows the system to manage directory space efficiently while maintaining the ability to track cache line states across different memory addresses. Each set independently manages its own entries, reducing the complexity of managing a single large directory structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a set index dimension to organize directory entries. Instead of a flat one-dimensional directory structure, entries are organized into multiple sets indexed by set index bits from the memory address. This dimensional organization allows efficient mapping of memory addresses to directory entries while maintaining manageable directory size.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Device complexity

If random replacement is used when directory is full, then implementation simplicity is improved, but cache miss rate increases

Engineering Contradiction:
Improvereplacement policy complexityVSAvoidcache miss rate
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

Before performing random replacement, the system performs a preliminary check to determine if the requested set contains any valid entries. This preliminary action allows the system to avoid random replacement when possible and only perform it when necessary, thereby reducing cache miss rates while maintaining implementation simplicity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The replacement policy is made dynamic by adapting the replacement strategy based on the state of the requested set. When the set contains valid entries, random replacement is used. When the set is empty or contains only invalid entries, no replacement is needed. This dynamic approach optimizes performance while keeping the implementation relatively simple.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7383398B2Preselecting E/M line replacement technique for a snoop filter
Publication Date: 2008.06.03 INTEL CORP
  • US7383398B2 patent drawing
  • US7383398B2 patent drawing
  • US7383398B2 patent drawing

AI summary

A snoop filter maintains data coherency information for multiple caches in a multi-processor system. When a new request for a memory line arrives, an entry of the snoop filter is selected for replacement if there is no available slot in the snoop filter to accommodate the new request. The selected entry is among the entries predicted to be short-lived based on a coherency state. An invalidation message is sent to the one of the caches with which the selected entry is associated.