Speculative Address Translation in Processors to Reduce DMA Page Faults

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Peripheral devices encounter page faults due to physical memory pages being paged out during Direct Memory Access (DMA) operations, leading to increased latency and reduced throughput, which conventional methods like pinning or pre-touching are inefficient or inconsistent with programming models.

Innovation Solution

Implementing speculative address translation in processor-based devices through a memory-pointer-referencing (MPR) instruction that performs speculative translation of virtual memory addresses, raising exceptions if errors occur, allowing for asynchronous or synchronous error handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional address translation is used during DMA operations, then memory access can be performed, but page faults occur when physical memory pages are paged out, increasing latency and reducing throughput

Engineering Contradiction:
ImproveDMA throughputVSAvoidpage fault latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs speculative address translation before the actual DMA operation occurs. When an MPR instruction is executed, the processor initiates address translation in advance and determines whether the target memory page is resident. This preliminary action allows the system to prepare for potential page faults before they impact DMA throughput, resolving the contradiction by proactively handling address translation issues.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If memory pages are pinned to ensure residency, then page faults are reduced, but this approach increases device complexity and goes against efficient work offloading goals

Engineering Contradiction:
Improvememory page residencyVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The processor automatically performs speculative address translation and determines page residency status without requiring external intervention or complex memory management mechanisms. This self-service approach resolves the contradiction by providing reliable page residency detection through automated processor actions rather than complex system-wide pinning mechanisms.

Inventive Principle:
Principle #25Self-service

3Reliability

If pre-touching memory pages is performed to ensure residency, then page faults may be reduced, but this requires additional processor work and may pollute caches

Engineering Contradiction:
Improvememory page residencyVSAvoidprocessor work before enqueue
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges the address translation operation with the MPR instruction execution flow. Instead of performing separate pre-touching operations that add extra processor work and cache pollution, the address translation is combined into the normal instruction execution path. This resolves the contradiction by achieving page residency verification without additional standalone operations.

Inventive Principle:
Principle #5Merging (Combining)

4Loss of time

If speculative address translation is performed through MPR instruction, then page fault occurrence is reduced and latency is minimized, but exception handling mechanisms are required

Engineering Contradiction:
Improveaddress translation latencyVSAvoidexception handling overhead
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system uses an intermediary exception handling mechanism that captures address translation results and communicates them to the appropriate software layer. This intermediary approach resolves the contradiction by providing a structured way to handle translation outcomes without requiring complex error handling logic throughout the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4295236B1Performing speculative address translation in processor-based devices
Publication Date: 2025.07.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4295236B1 patent drawingFigure 1
  • EP4295236B1 patent drawingFigure 2
  • EP4295236B1 patent drawingFigure 3A

AI summary

Performing speculative address translation in processor-based devices is disclosed herein. In one exemplary embodiment, a processor-based device provides a processing element (PE) that defines a speculative translation instruction such as an enqueue instruction for offloading operations to a peripheral device. The speculative translation instruction references a plurality of bytes including one or more virtual memory addresses. After receiving the speculative translation instruction, an instruction decode stage of an execution pipeline circuit of the PE transmits a request for address translation of the virtual memory address to a memory management unit (MMU) of the PE. The MMU then performs speculative address translation of the virtual memory address into a corresponding translated memory address. In some embodiments, any address translation errors encountered are raised to an appropriate exception level, and may be raised synchronously or asynchronously with respect to an operation performed when the speculative translation instruction is executed.