Snoop Filter Logic for Memory Bandwidth and Power Efficiency
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If traditional interconnect architecture is used to meet bandwidth requirements, then performance is improved, but power consumption increases
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.
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.
2Use of energy by stationary object
If snoop requests are filtered aggressively to reduce overhead, then power consumption decreases, but memory access performance deteriorates
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.
3Productivity
If multiple memory requests are processed in parallel to improve bandwidth, then productivity increases, but snoop conflict resolution complexity increases
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.
Data Source
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.


