Correlated Prefetcher History Table Offset Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Correlated prefetchers face limitations due to the large size of history tables required to store correlation information, which exceeds the cost and space constraints, especially in hardware implementations, leading to inefficiencies in cache hits and processor performance.

Innovation Solution

The techniques involve storing offset values related to detected patterns of addresses instead of absolute addresses, using functions like XOR to reduce the number of bits required for indexing into the history table, allowing for more correlation information to be stored without increasing the table size, and utilizing program counters to determine prefetch addresses based on access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If absolute addresses are stored in the history table to enable accurate prefetching, then prefetch accuracy is improved, but the history table size increases excessively

Engineering Contradiction:
Improveprefetch accuracyVSAvoidhistory table size
Core Design Contradiction:
Measurement precisionVSVolume of stationary object

Solution Approach 1:

The patent extracts only the necessary offset information from the full address space. Instead of storing complete absolute addresses in the history table, it stores only the offset values (difference between consecutive addresses) and the base address separately. This extraction reduces the storage requirement while maintaining the ability to accurately determine prefetch addresses through the relationship: prefetch_address = base_address + offset.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the address storage into two components: a base address (stored once per pattern) and offset values (stored relative to base). This segmentation allows the history table to store correlation information more efficiently by breaking down the full address into meaningful components, reducing redundant storage while preserving prefetch accuracy.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If more correlation information is stored in the history table to handle graph-structured applications, then prefetch capability is improved, but hardware cost and space requirements increase

Engineering Contradiction:
Improveprefetch capability for graph-structured applicationsVSAvoidhardware cost and space
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter representation from absolute addresses to offset values. This parameter transformation allows the history table to store the same correlation information with reduced bit width, thereby decreasing hardware space requirements while maintaining the ability to handle complex graph-structured applications and various access patterns.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary representation (offset values) between the raw address data and the prefetch decision. This intermediary form allows correlation information to be stored more compactly and efficiently, enabling enhanced prefetch capability for complex data structures without proportionally increasing hardware resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If the history table size is reduced to meet cost constraints, then hardware implementation is improved, but the amount of correlation information that can be stored decreases

Engineering Contradiction:
Improvehardware implementationVSAvoidcorrelation information storage
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent uses offset values as a compressed copy of the address information. Instead of storing full addresses, it stores offset copies that preserve the relative relationships between addresses. This copying approach maintains the essential correlation information needed for accurate prefetching while significantly reducing the storage space required in the history table.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11126556B1History table management for a correlated prefetcher
Publication Date: 2021.09.21 MARVELL ASIA PTE LTD
  • US11126556B1 patent drawing
  • US11126556B1 patent drawing
  • US11126556B1 patent drawing

AI summary

Memory prefetching in a processor comprises: identifying, in response to memory access instructions, a pattern of addresses; and determining, based on the pattern of addresses, an address to prefetch. Determining the address to prefetch comprises: determining, using the pattern of addresses, an index into a history table; retrieving, from the history table and using the index, an offset value, wherein the offset value is not the address to prefetch; and determining the address to prefetch using the offset value and at least one address of the pattern of addresses. The method further comprises prefetching the address to prefetch.