Cache Prefetching via Miss History Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache prefetching methods, such as stride and next line prefetching, incur performance penalties due to unnecessary data loading and bandwidth consumption, as they do not effectively utilize cache miss history to predict future data requests.

Innovation Solution

Implementing a controller circuit and recent miss address buffers to determine data prefetching based on previous cache miss history, loading data from adjacent addresses only when a cache miss occurs and the history indicates a high likelihood of future requests, thereby reducing unnecessary prefetching and bandwidth usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If stride prefetching or next line prefetching is performed, then cache loading is improved, but bandwidth consumption increases and cache pollution occurs

Engineering Contradiction:
Improvecache loading efficiencyVSAvoidbandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism by monitoring cache miss addresses and storing them in a recent miss address buffer. The system uses this historical miss information to dynamically control prefetching operations, enabling prefetching only when historical data indicates a high probability of future cache misses at adjacent addresses. This feedback-based approach prevents unnecessary prefetching that would consume bandwidth and pollute the cache.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary analysis of cache miss history before executing prefetching operations. By examining recent miss addresses stored in the buffer and determining patterns of adjacent address misses, the system prepares and executes prefetching only when justified by historical data, rather than performing unconditional prefetching as in traditional stride or next line methods.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If stride prefetching or next line prefetching is performed, then cache loading is improved, but cache pollution increases

Engineering Contradiction:
Improvecache loading efficiencyVSAvoidcache pollution
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The system uses feedback from cached miss address history to intelligently control prefetching. By analyzing stored miss addresses in the recent miss address buffer and identifying patterns of adjacent address misses, the system enables prefetching only when historical evidence suggests it will be beneficial, thereby preventing cache pollution from loading unnecessary data that would displace useful cache contents.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of performing full unconditional prefetching of adjacent lines, the patent applies partial prefetching only to specific addresses where cache misses are predicted based on historical patterns. This selective approach loads only the necessary data portions, avoiding the cache pollution that would result from loading entire adjacent lines regardless of actual need.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If traditional prefetching methods are used, then data loading is improved, but performance penalties from unnecessary loads increase

Engineering Contradiction:
Improvedata loading speedVSAvoidoverall system performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements a feedback-controlled prefetching system that monitors cache miss addresses and uses this information to dynamically enable or disable prefetching operations. This ensures that prefetching activities are performed only when historical data indicates they will improve performance, avoiding the performance penalties associated with unnecessary data loads that consume bandwidth and cache resources without providing benefit.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary evaluation of cache miss history before executing prefetching operations. By examining recent miss patterns stored in the buffer and determining whether adjacent address misses are likely, the system prepares prefetching actions only when they are expected to improve performance, rather than performing unconditional prefetching that would incur performance penalties.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9110811B2Prefetching method and apparatus
Publication Date: 2015.08.18 ORACLE INT CORP
  • US9110811B2 patent drawing
  • US9110811B2 patent drawing
  • US9110811B2 patent drawing

AI summary

A method and apparatus for determining data to be prefetched based on previous cache miss history is disclosed. In one embodiment, a processor includes a first cache memory and a controller circuit. The controller circuit is configured to load data from a first address into the first cache memory responsive to a cache miss corresponding to the first address. The controller circuit is further configured to determine, responsive to a cache miss for the first address, if a previous cache miss occurred at a second address. Responsive to determining that the previous cache miss occurred at the second address, the controller circuit is configured to load data from a second address into the first cache.