Snoop Filter Logic for Memory Bandwidth and Power Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As computing systems become more complex, the interconnect architecture to couple and communicate between components increases in complexity to meet bandwidth requirements, but existing interconnects face challenges in balancing performance and power efficiency, particularly in mobile ecosystems where power savings are prioritized over performance.

Innovation Solution

A shared memory fabric with a temporal snoop filter is introduced, which includes a data buffer and arbitration logic to invalidate cache memory data, allowing subsequent memory requests to be accepted without stalling, even before the previous request completes, and downgrades snooped memory requests to unsnooped requests to reduce snoop conflict resolution overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional interconnect architecture is used to meet bandwidth requirements, then performance is improved, but power consumption increases

Engineering Contradiction:
Improvememory bandwidthVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The snoop filter proactively identifies and caches snoop requests before they reach the memory interface, performing filtering operations in advance. This preliminary action prevents unnecessary memory access transactions, reducing power consumption while maintaining bandwidth efficiency for legitimate requests.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The snoop filter acts as an intermediary component between the memory interface and the cache coherence protocol. It intercepts snoop requests, filters out redundant ones, and only allows necessary requests to proceed to the memory interface, thereby reducing power consumption without compromising memory bandwidth for valid requests.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Use of energy by stationary object

If snoop requests are filtered aggressively to reduce overhead, then power consumption decreases, but memory access performance deteriorates

Engineering Contradiction:
Improvepower consumptionVSAvoidmemory access speed
Core Design Contradiction:
Use of energy by stationary objectVSSpeed

Solution Approach 1:

The snoop filter maintains feedback information about previously seen snoop requests and their outcomes. This feedback mechanism allows the filter to distinguish between redundant requests (which can be blocked to save power) and legitimate requests (which must be allowed through to maintain performance), achieving both power efficiency and speed.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple memory requests are processed in parallel to improve bandwidth, then productivity increases, but snoop conflict resolution complexity increases

Engineering Contradiction:
Improvememory bandwidth efficiencyVSAvoidsnoop conflict resolution overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The snoop filter extracts and handles snoop request filtering separately from the main memory access path. By taking out the filtering function into a dedicated filter component, parallel memory requests can be processed efficiently without the full complexity of snoop conflict resolution being applied to each request, reducing overall system complexity while maintaining bandwidth.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9767026B2Providing snoop filtering associated with a data buffer
Publication Date: 2017.09.19 TAHOE RES LTD
  • US9767026B2 patent drawing
  • US9767026B2 patent drawing
  • US9767026B2 patent drawing

AI summary

In one embodiment, a conflict detection logic is configured to receive a plurality of memory requests from an arbiter of a coherent fabric of a system on a chip (SoC). The conflict detection logic includes snoop filter logic to downgrade a first snooped memory request for a first address to an unsnooped memory request when an indicator associated with the first address indicates that the coherent fabric has control of the first address. Other embodiments are described and claimed.