Prefetch Unit Streaming Filter for Duplicate Stream Termination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In out-of-order processors, duplicate prefetch streams lead to inefficient data retrieval, causing unnecessary power consumption and resource waste due to the difficulty in recognizing patterns and managing the chaotic arrival of load instructions, resulting in many prefetches that hit or trail existing streams and fail to reach main memory.

Innovation Solution

A streaming filter is introduced to track the number of hits for each prefetch stream, allowing for probabilistic termination of prefetch requests before they reach the cache directory, thereby reducing duplicate prefetches and unnecessary lookups by predicting whether a prefetch will hit or miss in the cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If prefetch requests are processed without tracking hit history, then all prefetch requests are handled uniformly, but duplicate prefetch streams cause unnecessary power consumption and resource waste

Engineering Contradiction:
Improvepower consumptionVSAvoidprefetch stream management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent implements a streaming filter that tracks hit history for each prefetch stream and uses this feedback to make probabilistic decisions about whether to terminate prefetch requests. The filter maintains counters that increment when prefetch streams hit in the cache, providing feedback that influences future prefetch handling decisions and reduces energy consumption by terminating duplicate streams.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The streaming filter acts as an intermediary component between the prefetch unit and the cache. It sits in the data path to intercept prefetch requests, check them against tracked stream history, and make termination decisions before requests reach the cache directory, thereby reducing unnecessary cache searches and power consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If prefetch requests are terminated based on hit count, then duplicate prefetches are reduced, but the complexity of tracking and managing prefetch streams increases

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidstream tracking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the prefetch stream management into separate tracked entities, where each prefetch stream is assigned a unique identifier and tracked independently in the streaming filter. This segmentation allows the system to manage multiple streams concurrently, track their individual hit histories, and make targeted termination decisions without overwhelming complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The streaming filter maintains a simplified copy or representation of prefetch stream state in the form of hit counters and stream identifiers. Instead of fully replicating the complex prefetch processing logic, the filter uses lightweight counters to represent stream history and makes termination decisions based on these simplified representations, reducing tracking complexity while maintaining effectiveness.

Inventive Principle:
Principle #26Copying

3Loss of time

If probabilistic termination is applied to prefetch requests, then unnecessary cache searches are eliminated, but the precision of predicting cache hits may vary

Engineering Contradiction:
Improvetime for cache searchesVSAvoidprediction accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The patent implements dynamic termination thresholds based on observed hit patterns. The streaming filter adjusts its behavior probabilistically, using thresholds that can shift based on the specific stream characteristics and hit history. This dynamic approach allows the system to adapt to varying access patterns while eliminating unnecessary cache searches, balancing time savings with acceptable prediction accuracy.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11947461B2Prefetch unit filter for microprocessor
Publication Date: 2024.04.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11947461B2 patent drawing
  • US11947461B2 patent drawing
  • US11947461B2 patent drawing

AI summary

A method, programming product, processor, and/or system for prefetching data is disclosed that includes: receiving a request for data at a cache; identifying whether the request for data received at the cache is a demand request or a prefetch request; and determining, in response to identifying that the request for data received at the cache is a prefetch request, whether to terminate the prefetch request, wherein determining whether to terminate the prefetch request comprises: determining how many hits have occurred for a prefetch stream corresponding to the prefetch request received at the cache; and determining, based upon the number of hits that have occurred for the prefetch stream corresponding to the prefetch request received by the cache, whether to terminate the prefetch request.