Load Request Coalescing Circuitry for Memory Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies in handling load requests due to the need to wait for data retrieval from memory systems, leading to delays and stalls, especially when write operations can proceed without waiting for store operations to complete.

Innovation Solution

The implementation of an apparatus with address generation, pending load buffer, load handling, coalescing, and decoalescing circuitry to identify and coalesce load requests that satisfy an address proximity condition, allowing for the suppression of unnecessary forwarding and retrieval operations, thereby optimizing data processing operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load requests are processed individually by retrieving data items from memory system one by one, then data processing operations can be performed, but the apparatus experiences delays and stalls waiting for data retrieval

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidwaiting time for data retrieval
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent combines multiple individual load requests into a single batch request. The coalescing circuitry identifies when multiple load requests are ready and merges them into one batch, which is then sent to the memory system. This reduces the number of separate retrieval operations, thereby reducing waiting time and improving data processing efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements preliminary buffering of load requests in the pending load buffer circuitry before actual data retrieval occurs. The coalescing circuitry analyzes and prepares batch requests in advance, determining which requests can be combined. This preliminary organization of requests allows for more efficient batch processing and reduces the time needed for actual data retrieval operations.

Inventive Principle:
Principle #10Preliminary action

2Speed

If write operations proceed without waiting for store operations to complete, then operational speed is improved, but data consistency and correctness may be compromised

Engineering Contradiction:
Improveoperation throughputVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the coalescing circuitry monitors the status of load requests and provides feedback to the decoalescing circuitry. When data items are retrieved and made available, the feedback mechanism ensures that subsequent operations can proceed with the correct data, maintaining data consistency while allowing overlapping operations to improve throughput.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If multiple load requests are buffered and processed separately, then each request can be handled independently, but the bandwidth of the memory system is not fully utilized

Engineering Contradiction:
Improverequest handling flexibilityVSAvoidmemory bandwidth utilization
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent merges multiple separate load requests into a single batch request that is sent to the memory system. The coalescing circuitry combines the requests and the load handling circuitry retrieves multiple data items in a single operation. This approach maintains the ability to handle different request types while significantly improving memory bandwidth utilization by reducing the number of separate transactions.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11899940B2Apparatus and method for handling memory load requests
Publication Date: 2024.02.13 ARM LTD
  • US11899940B2 patent drawing
  • US11899940B2 patent drawing
  • US11899940B2 patent drawing

AI summary

When load requests are generated to support data processing operations, the load requests are buffered in pending load buffer circuitry prior to being carried out. Coalescing circuitry determines for a first load request whether a set of one or more subsequent load requests buffered in the pending load buffer circuitry satisfies an address proximity condition. The address proximity condition is satisfied when all data items identified by the set of one or more subsequent load requests are comprised within a series of data items which will be retrieved from the memory system in response to the first load request. When the address proximity condition is satisfied, forwarding of the set of one or more subsequent load requests is suppressed.