Peripheral Memory Read Prefetch via System Cache Interconnect

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in efficiently handling memory read requests due to the need to ensure memory hazards are avoided, which can lead to increased latency and complexity in managing memory access requests.

Innovation Solution

A data processing system is designed with an interconnect featuring a system cache, a peripheral component with a request ordering queue, and a memory. The peripheral component queues memory access requests in receipt order, delays memory read requests until completion responses for preceding write requests are received, and issues memory read prefetch requests to cache data in the system cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If memory read requests are issued immediately without waiting for write completions, then read latency is reduced, but memory hazards may occur

Engineering Contradiction:
Improvememory read request latencyVSAvoidmemory hazard avoidance
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary actions by issuing memory read prefetch requests to the system cache before the actual memory read requests are issued to the interconnect. This allows the cache to prepare data in advance, reducing the latency of the actual read operations while maintaining proper ordering constraints.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system cache acts as an intermediary between the peripheral component and the memory. By prefetching data into the cache before read requests are issued, the system reduces read latency without compromising memory hazard avoidance, as the cache handles the timing and ordering concerns.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory read requests are delayed until write completion responses are received, then memory hazards are avoided, but read latency increases

Engineering Contradiction:
Improvememory hazard avoidanceVSAvoidmemory read request latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by issuing memory read prefetch requests to the system cache before the actual memory read requests are issued to the interconnect. This allows the cache to prepare data in advance, reducing the latency of the actual read operations while maintaining proper ordering constraints.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If complex monitoring of read and write targets is implemented, then memory hazard detection is improved, but device complexity increases

Engineering Contradiction:
Improvememory hazard detectionVSAvoidrequest monitoring complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system cache acts as an intermediary between the peripheral component and the memory. By prefetching data into the cache before read requests are issued, the system reduces read latency without compromising memory hazard avoidance, as the cache handles the timing and ordering concerns.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses the existing system cache infrastructure to handle prefetching operations, allowing the cache to serve itself by automatically managing the prefetch data. This avoids the need for complex external monitoring mechanisms while still ensuring proper memory hazard avoidance.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12242399B2Peripheral component handling of memory read requests
Publication Date: 2025.03.04 ARM LTD
  • US12242399B2 patent drawing
  • US12242399B2 patent drawing
  • US12242399B2 patent drawing

AI summary

Peripheral components, data processing systems and methods of operating such peripheral components and data processing systems are disclosed. The systems comprise an interconnect comprising a system cache, a peripheral component coupled to the interconnect, and a memory coupled to the interconnect. The peripheral component has a memory access request queue for queuing memory access requests in a receipt order. Memory access requests are issued to the interconnect in the receipt order. A memory read request is not issued to the interconnect until a completion response for all older memory write requests has been received from the interconnect. The peripheral component is responsive to receipt of a memory read request to issue a memory read prefetch request comprising a physical address to the interconnect and the interconnect is responsive to the memory read prefetch request to cause data associated with the physical address in the memory to be cached in the system cache.