Walk Ahead Circuitry for Address Translation Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern data processing systems face significant latency issues due to the multiple stages of address translation required for memory access requests, which necessitate multiple accesses to the memory device, increasing latency and performance bottlenecks.

Innovation Solution

The introduction of walk ahead circuitry between the address translation circuitry and the memory device, which detects page table walk requests and generates prefetch memory requests to pre-fetch data or descriptors, thereby reducing latency by making necessary data available before it is explicitly requested.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Volume of stationary object

If multiple levels of page tables are used for address translation, then the memory device size can be managed, but the latency increases due to multiple memory accesses

Engineering Contradiction:
Improvememory device sizeVSAvoidaddress translation latency
Core Design Contradiction:
Volume of stationary objectVSLoss of time

Solution Approach 1:

The patent implements a walk ahead circuit that performs preliminary actions by detecting page table walk requests and proactively initiating subsequent page table walks before the current walk completes. This allows the system to pre-fetch descriptor information from higher-level page tables while lower-level walks are still in progress, thereby reducing the overall address translation latency without changing the fundamental multi-level page table structure

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If page table walk requests are processed sequentially, then the address translation is accurate, but the processing speed decreases

Engineering Contradiction:
Improveaddress translation accuracyVSAvoidaddress translation speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent introduces dynamic parallel processing capabilities through the walk ahead circuit, which can initiate multiple page table walk requests simultaneously based on detected patterns and requirements. The system dynamically adjusts the processing flow by overlapping sequential operations, maintaining accuracy through proper request ordering and validation while improving speed through concurrent execution of independent walk operations

Inventive Principle:
Principle #15Dynamics

3Loss of time

If prefetching mechanisms are implemented, then future access latency is reduced, but the complexity of the address translation circuitry increases

Engineering Contradiction:
Improvefuture access latencyVSAvoidcircuitry complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The walk ahead circuit operates autonomously by monitoring the address translation pipeline and automatically initiating prefetch operations when it detects page table walk requests. The circuit self-manages the timing and sequencing of prefetch operations without requiring external control signals or complex coordination logic, thereby reducing prefetching latency while minimizing the increase in circuitry complexity

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10133675B2Data processing apparatus, and a method of handling address translation within a data processing apparatus
Publication Date: 2018.11.20 ARM LTD
  • US10133675B2 patent drawing
  • US10133675B2 patent drawing
  • US10133675B2 patent drawing

AI summary

A data processing apparatus and method are provided for performing address translation in response to a memory access request issued by processing circuitry of the data processing apparatus and specifying a virtual address for a data item. Address translation circuitry performs an address translation process with reference to at least one descriptor provided by at least one page table, in order to produce a modified memory access request specifying a physical address for the data item. The address translation circuitry includes page table walk circuitry configured to generate at least one page table walk request in order to retrieve the at least one descriptor required for the address translation process. In addition, walk ahead circuitry is located in a path between the address translation circuitry and a memory device containing the at least one page table. The walk ahead circuitry comprises detection circuitry used to detect a memory page table walk request generated by the page table walk circuitry of the address translation circuitry for a descriptor in a page table. In addition, the walk ahead circuitry has further request generation circuitry which is used to generate a prefetch memory request in order to prefetch data from the memory device at a physical address determined with reference to the descriptor requested by the detected memory page table walk request. This prefetched data may be another descriptor required as part of the address translation process, or may be the actual data item being requested by the processing circuitry. Such an approach can significantly reduce latency associated with the address translation process.