Shared Address Translation for Accelerator Memory Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware accelerator implementations require separate memory management units for address translation, leading to increased software complexity and overhead, especially when handling asynchronous tasks with virtual addresses.

Innovation Solution

Reusing the memory management circuitry of the processing circuitry for address translation of accelerator-triggered memory access requests, allowing hardware accelerators to operate within the same address translation context as the processing circuitry, and implementing an asynchronous fault reporting mechanism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate memory management units are used for hardware accelerators, then address translation can be performed independently, but software complexity and configuration overhead increase

Engineering Contradiction:
Improveaddress translation capabilityVSAvoidsoftware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by enabling the processing circuitry's memory management circuitry to handle address translation for both processing circuitry memory accesses and hardware accelerator memory accesses. This multi-functional approach eliminates the need for separate memory management units in hardware accelerators, reducing software complexity while maintaining address translation capability. The memory management circuitry is configured to receive memory access requests from either source and perform translation using the same translation contexts.

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

2Productivity

If hardware accelerators use separate memory management, then asynchronous tasks can be handled independently, but resource utilization and processing efficiency decrease

Engineering Contradiction:
Improveasynchronous task handlingVSAvoidresource utilization
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies merging by combining the memory management functionality for processing circuitry and hardware accelerators into a single unified memory management circuitry. This consolidation allows asynchronous hardware accelerator tasks to be handled efficiently using shared resources including translation contexts, address translation mechanisms, and control logic, thereby improving resource utilization while maintaining independent asynchronous task handling capability.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If multiple translation contexts are maintained for hardware accelerators, then context switching is enabled, but management overhead and software complexity increase

Engineering Contradiction:
Improvecontext switching capabilityVSAvoidsoftware management
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent applies universality by having the unified memory management circuitry maintain multiple translation contexts that can be used by both processing circuitry and hardware accelerators. The same context management mechanisms handle context switching for both sources, enabling context switching capability while reducing software management overhead through a single point of control rather than separate management systems.

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

Data Source

PatentUS12561087B2Address translation for accelerator-triggered memory access requests
Publication Date: 2026.02.24 ARM LTD
  • US12561087B2 patent drawing
  • US12561087B2 patent drawing
  • US12561087B2 patent drawing

AI summary

An apparatus comprises processing circuitry to execute instructions; memory management circuitry associated with the processing circuitry, to perform address translation in response to memory access instructions executed by the processing circuitry; and accelerator control interface circuitry to exchange control signals with at least one hardware accelerator configurable, based on instructions executed by the processing circuitry, to perform a delegated task. The memory management circuitry is configured to maintain a plurality of active translation contexts of a given translation regime, each active translation context being defined by context information stored in a corresponding set of context control registers; and the apparatus further comprises context fault generating circuitry to generate a context fault indication in response to an accelerator-triggered memory access request from a given hardware accelerator and associated with a translation context other than one of the plurality of active translation contexts.