On-Chip Cache Request Reordering to Let Hits Overtake Misses

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory hierarchies suffer from increased latency due to cache misses, which can stall subsequent memory requests, leading to inefficiencies and higher power consumption.

Innovation Solution

An on-chip cache system that receives memory requests and reorders them based on age and availability of data, allowing cache hits to overtake misses, eliminating the need for intermediate buffers and reducing latency by managing pending requests through a data structure like a circular buffer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If memory requests are processed in strict order, then correctness is maintained, but latency increases due to cache misses stalling subsequent requests

Engineering Contradiction:
Improvememory access latencyVSAvoidmemory request ordering correctness
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent segments memory requests into different categories (cache hits and cache misses) and processes them through separate pathways. The reorder buffer segments the processing stream, allowing cache hits to be executed immediately while cache misses are handled separately, thus reducing latency without compromising correctness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-executing cache hit requests before cache miss requests are fully processed. The reorder buffer holds and reorders requests, allowing faster cache hit operations to proceed ahead of slower cache miss operations, effectively performing useful work in advance.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If intermediate buffers are added to reorder memory requests, then latency is reduced, but device complexity increases

Engineering Contradiction:
Improvememory access latencyVSAvoidcache system structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent merges the reorder buffer functionality with the existing cache structure, combining multiple functions (request buffering, reordering, and execution control) into a single integrated component. This reduces the need for separate intermediate buffers and simplifies the overall system architecture.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The reorder buffer serves multiple functions: it buffers pending requests, reorders them based on completion status, and controls execution timing. This multi-functionality eliminates the need for separate dedicated buffers for each function, reducing overall device complexity while maintaining latency benefits.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12353883B2Executing memory requests out of order
Publication Date: 2025.07.08 IMAGINATION TECH LTD
  • US12353883B2 patent drawing
  • US12353883B2 patent drawing
  • US12353883B2 patent drawing

AI summary

An on-chip cache is described which receives memory requests and in the event of a cache miss, the cache generates memory requests to a lower level in the memory hierarchy (e.g. to a lower level cache or an external memory). Data returned to the on-chip cache in response to the generated memory requests may be received out-of-order. An instruction scheduler in the on-chip cache stores pending received memory requests and effects the re-ordering by selecting a sequence of pending memory requests for execution such that pending requests relating to an identical cache line are executed in age order and pending requests relating to different cache lines are executed in an order dependent upon when data relating to the different cache lines is returned. The memory requests which are received may be received from another, lower level on-chip cache or from registers.