Hashed Store-Load Forwarding for Lower Memory Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storing data to memory and then loading it back shortly afterwards is wasteful of resources in computer systems.

Innovation Solution

A data processing apparatus that decodes store and load instructions and predicts data loading based on a hash of a program counter value, using a memory rename table and store buffer to enable store/load forwarding techniques, allowing parallel execution and reducing memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored to memory and then loaded back shortly afterwards, then the data can be accessed, but memory bandwidth and energy are wasted

Engineering Contradiction:
Improvedata accessibilityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent introduces a store buffer as an intermediary structure between the store instruction and main memory. The store buffer temporarily holds stored data, allowing subsequent load instructions to retrieve data from the buffer rather than accessing main memory, thus reducing energy consumption while maintaining data accessibility

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs preliminary action by storing data in the store buffer before the actual memory access occurs. The store buffer pre-positions data in a readily accessible location, so when a load instruction follows, the data is already available locally without requiring a full memory access cycle

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data is stored to memory and then loaded back shortly afterwards, then the data can be accessed, but memory bandwidth is consumed

Engineering Contradiction:
Improvedata accessibilityVSAvoidmemory bandwidth
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The store buffer acts as an intermediary that intercepts store operations and holds data locally. When load instructions follow, they can be satisfied from the store buffer rather than consuming memory bandwidth for repeated access to main memory

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the stored data in the store buffer. This copy allows subsequent load instructions to retrieve data without accessing the original memory location, thereby preserving memory bandwidth while ensuring data accessibility

Inventive Principle:
Principle #26Copying

3Reliability

If store/load forwarding is implemented without hashing, then prediction accuracy may be higher, but the table size would be too large

Engineering Contradiction:
Improveprediction accuracyVSAvoidtable size
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The patent transforms the program counter value through a hashing function, changing its parameter representation from full address to a condensed hash value. This parameter transformation enables the use of a compact table size while maintaining the ability to accurately identify and predict store-load dependencies

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12498930B2Store to load forwarding using hashes
Publication Date: 2025.12.16 ARM LTD
  • US12498930B2 patent drawing
  • US12498930B2 patent drawing
  • US12498930B2 patent drawing

AI summary

A data processing apparatus is provided. Decode circuitry decodes a stream of instructions including a store instruction and a load instruction. Prediction circuitry predicts that the load instruction loads data from memory that is stored to the memory by the store instruction and the prediction is based on a hash of a program counter value of the store instruction.