Prefetch Offset Selection Circuitry for Cache Pollution Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing circuitry faces performance issues due to inaccurate prefetching, which consumes memory resources and 'pollutes' the cache with incorrect data, potentially evicting useful data.

Innovation Solution

The data processing circuitry employs offset value selection and verification mechanisms to determine the best prefetch offset by analyzing cache misses and prefetched data accesses, inhibiting prefetching until a valid offset is selected to ensure accurate prefetching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If prefetching is performed without accurate offset detection, then data access speed may improve, but cache pollution and memory resource waste increase

Engineering Contradiction:
Improvedata access speedVSAvoidcache pollution
Core Design Contradiction:
SpeedVSObject-generated harmful factors

Solution Approach 1:

The patent applies preliminary action by detecting cache access patterns and determining prefetch offsets in advance before actual prefetching occurs. The offset detection circuitry monitors cache misses and access patterns, building a profile of useful prefetch offsets that can be applied proactively to future memory accesses, ensuring prefetching only occurs when likely to be beneficial.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through the offset detection circuitry that continuously monitors cache access patterns, cache misses, and prefetch effectiveness. This feedback loop allows the system to adaptively adjust prefetch offsets based on actual performance, eliminating offsets that cause cache pollution and reinforcing those that improve performance, creating a self-correcting prefetching system.

Inventive Principle:
Principle #23Feedback

2Productivity

If prefetching is performed with incorrect offset values, then memory bandwidth is consumed, but useful data is not delivered and cache integrity is compromised

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidcache integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary detection of cache access patterns and validates prefetch offsets before committing to prefetching operations. By analyzing historical cache behavior and identifying consistent access patterns, the system pre-validates which offsets are likely to produce useful prefetches, filtering out offsets that would compromise cache integrity or waste bandwidth.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The offset detection circuitry provides continuous feedback on prefetch effectiveness by monitoring whether prefetched data is actually used. This feedback mechanism allows the system to dynamically adjust or eliminate offsets that are causing cache pollution or wasting memory bandwidth, maintaining both productivity and reliability over time.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If offset detection and verification mechanisms are implemented, then prefetching accuracy improves, but circuit complexity increases

Engineering Contradiction:
Improveprefetch accuracyVSAvoidcircuit complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the prefetching function into distinct modular components: offset detection circuitry that monitors cache patterns, verification logic that validates offsets, and control logic that enables or disables prefetching based on validation results. This segmentation allows each component to be optimized independently and simplifies the overall design by breaking down the complex prefetching decision process into manageable, specialized units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The offset detection circuitry acts as an intermediary between the cache controller and memory subsystem. Rather than implementing complex verification throughout the entire prefetching path, the patent introduces this intermediate layer that pre-validates offsets and filters out incorrect candidates before they reach the main prefetching logic, reducing the burden on other components and managing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10769069B2Prefetching in data processing circuitry
Publication Date: 2020.09.08 ARM LTD
  • US10769069B2 patent drawing
  • US10769069B2 patent drawing
  • US10769069B2 patent drawing

AI summary

Data processing circuitry comprises a cache memory to cache a subset of data elements from a main memory; a processing element to execute program code to access data elements having respective memory addresses, the processing element being configured to access the data elements in the cache memory and, in the case of a cache miss, to fetch the data elements from the main memory; prefetch circuitry, responsive to an access to a current data element, to initiate prefetching into the cache memory of a data element at a memory address defined by a current offset value relative to the address of the current data element; offset value selection circuitry comprising: an address table to store memory addresses for which a data element accessed by the processing element resulted in a cache miss or an access to a previously prefetched data element; detector circuitry to detect, for each of a group of candidate offset values, one or more respective metrics representing a proportion of a set of data element accesses which resulted in a cache miss or an access to a previously prefetched data element, for which the memory address for that data element access differs by the candidate offset value from a memory address in the address table; in which the detector circuitry is configured to set a next instance of the current offset value in response to the one or more detected metrics; verification circuitry to detect, at one or more predetermined stages with respect to the processing of the group of candidate offset values by the offset value selection circuitry, one or more verification metrics representing a proportion of a set of data element accesses which resulted in a cache miss or an access to a previously prefetched data element, for which the memory address for that data element access differs by the current offset value from a memory address in the address table, to detect whether the one or more verification metrics comply with a predetermined condition; and control circuitry to inhibit prefetching at least until a next selection of a current offset value by the offset value selection circuitry, in response to a detection by the verification circuitry that the one or more verification metrics do not comply with the predetermined condition.