Cache-Aware Prefetch Modulation for Memory Stress Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for improving memory bandwidth in computer systems, such as Dynamic Prefetcher Throttling (DPT) and Memory Bandwidth Allocation (MBA), fail to differentiate between prefetch request types, leading to inefficient use of memory resources and potential bandwidth crunches, especially in memory-centric server workloads with increasing processor counts.

Innovation Solution

Implementing dynamic prefetch modulation that controls prefetch requests based on whether they hit or miss the cache and the system memory stress level, using a configurable prefetch allow range (PAR) to selectively dispatch or drop prefetches, thereby optimizing memory access at a finer granularity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If Dynamic Prefetcher Throttling (DPT) is used to control memory traffic, then memory bandwidth is improved, but prefetch requests are generated at very low rates or completely stopped

Engineering Contradiction:
Improvememory bandwidthVSAvoidprefetch request rate
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating between cache hit and cache miss prefetch requests, applying different control policies to each type. Cache hit prefetches are allowed to proceed while cache miss prefetches are throttled based on memory bandwidth availability, thus maintaining useful prefetching while controlling overall memory traffic.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments prefetch requests into two distinct categories: those that will hit the cache and those that will miss. This segmentation allows selective control where only cache miss prefetches are subject to bandwidth-based throttling, while cache hit prefetches continue uninterrupted, preserving instruction throughput.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If prefetch requests are controlled without differentiation, then memory bandwidth is managed, but request types are not differentiated leading to inefficient resource use

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidinefficient memory resource use
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent implements local quality by applying different control treatments to different prefetch request types based on their cache hit/miss status. This ensures that memory bandwidth is managed efficiently while avoiding unnecessary throttling of prefetch requests that would otherwise be satisfied from cache, thus reducing wasted energy.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If existing bandwidth control mechanisms are used, then memory traffic is controlled, but control granularity is too coarse

Engineering Contradiction:
Improvememory traffic controlVSAvoidcontrol granularity
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent applies segmentation by dividing prefetch requests into distinct categories (cache hit vs. cache miss) and applying separate control logic to each. This provides finer-grained control over memory traffic compared to blanket throttling approaches, allowing precise management of bandwidth while preserving beneficial prefetching behavior.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4625184A1Dynamic prefetch modulation enabling augmented bandwidth control
Publication Date: 2025.10.01 INTEL CORP
  • EP4625184A1 patent drawingFigure 1
  • EP4625184A1 patent drawingFigure 2
  • EP4625184A1 patent drawingFigure 3

AI summary

Techniques for dynamic prefetch modulation are described. In an embodiment, an apparatus includes one or more processor cores, a cache, and a dynamic prefetch modulator to control access to a system memory for a prefetch request from one of the one or more processor cores based on whether the prefetch request misses the cache and on a system memory stress level.