Two-Stage Address Translation with Selective Metadata Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management systems face challenges in protecting stage-1 translation table entries from corruption by operating systems, which can compromise security and performance, especially when using two-stage address translation.

Innovation Solution

Implementing a partially-read-only permission at the stage-2 level for memory regions storing stage-1 translation table entries, combined with a protected-entry-checking mechanism for stage-1 entries, to allow updates only through specific metadata-updating instructions, reducing the attack surface and maintaining performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If stage-1 translation table entries are made writable by the operating system, then the operating system can update address mappings and access tracking metadata, but the entries become vulnerable to corruption and security attacks

Engineering Contradiction:
Improveability to update translation table entriesVSAvoidintegrity of translation table entries
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies different permission characteristics to different parts of the translation table structure. Stage-1 translation table entries are marked with a first permission characteristic that allows OS-controlled updates, while stage-2 translation table entries are marked with a second permission characteristic that prevents unauthorized modification. This local differentiation of permissions resolves the contradiction by allowing necessary updates in stage-1 while protecting stage-2 entries from corruption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the address translation process into two distinct stages with separate translation tables. Stage-1 translation tables handle virtual-to-intermediate address mapping with OS-controllable permissions, while stage-2 translation tables handle intermediate-to-physical address mapping with protected permissions. This segmentation allows the OS to update stage-1 entries for normal operation while stage-2 entries remain protected, resolving the security vulnerability without compromising operational capability.

Inventive Principle:
Principle #1Segmentation

2Reliability

If stage-2 translation table entries are protected from OS updates, then security against corruption is improved, but the ability to update access tracking metadata is reduced

Engineering Contradiction:
Improveprotection against corruptionVSAvoidability to update access tracking metadata
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic permission checking that considers both the permission characteristics of translation table entries and the type of access being requested. The memory management circuitry is configured to permit access when the requested operation is consistent with the permission characteristic and when accessed from an appropriate execution state. This dynamic approach allows access tracking metadata to be updated through controlled mechanisms while preventing unauthorized corruption, resolving the contradiction between protection and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a feedback mechanism where the memory management circuitry monitors access requests against the permission characteristics of translation table entries. When an access request is made, the circuitry checks whether the request type and execution state are consistent with the entry's permission characteristic. This feedback loop enables legitimate metadata updates while blocking unauthorized modifications, resolving the contradiction by providing selective access control.

Inventive Principle:
Principle #23Feedback

3Reliability

If permission checking is performed for all memory access requests, then security is improved, but processing overhead and performance are worsened

Engineering Contradiction:
Improvesecurity of memory accessVSAvoidmemory access speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies permission checking selectively rather than universally. The memory management circuitry is configured to perform permission checking based on the permission characteristics of translation table entries and the type of access requested. For example, read accesses may be permitted without full permission verification in certain contexts, while write accesses trigger comprehensive permission checks. This partial application of permission checking maintains security for critical operations while reducing overhead for routine accesses, resolving the contradiction between security and performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12461861B2Two-stage address translation
Publication Date: 2025.11.04 ARM LTD
  • US12461861B2 patent drawing
  • US12461861B2 patent drawing
  • US12461861B2 patent drawing

AI summary

Memory management circuitry (28) supports two-stage address translation based on a stage-1 and stage-2 translation table structures. Stage-2 access permission information specified by a stage-2 translation table entry has an encoding specifying whether a corresponding memory region has a partially-read-only permission indicating that write requests to the memory region corresponding to the target intermediate address, issued when processing circuitry (4) is in a predetermined execution state, are permitted for a restricted subset of write request types (including metadata-updating write requests for updating access tracking metadata in translation table entries) but prohibited for other write request types. The memory management circuitry (28) rejects a memory access request when the stage-2 access permission information of a corresponding stage-2 translation table entry specifies the partially-read-only permission and the memory access request is a write request, other than the restricted subset of write request types, issued in the predetermined execution state.