Relative Page Table Entries for Address Remapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing page table structures in data processing systems face inefficiencies in address translation due to the use of absolute address pointers, which require frequent updates when memory regions change, and lack effective mechanisms for securing address mappings, especially in systems using non-volatile memory.

Innovation Solution

The introduction of relative type page table entries (PTEs) that specify offsets relative to a reference-point base address, allowing for efficient remapping of address spaces without updating individual pointers, combined with mechanisms like size-aligned base addresses and descendant-entries-restricted indicators to enforce secure address boundaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If absolute address pointers are used in page table entries, then address translation can be performed, but frequent updates are required when memory regions change, increasing overhead

Engineering Contradiction:
Improveaddress space remapping capabilityVSAvoidoverhead in address space remapping
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent changes the parameter representation in page table entries from absolute addresses to relative offsets. This allows the base address to be changed independently of the offset values, enabling efficient address space remapping without updating individual pointers. The relative offset parameter remains constant while the base address parameter can be modified to achieve remapping.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If traditional page table structures are used, then address translation is supported, but effective security mechanisms for address mappings are lacking

Engineering Contradiction:
Improveaddress mapping securityVSAvoidpage table structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by introducing specific security attributes at the page table entry level rather than requiring global security mechanisms. Each PTE can have individual attributes such as read-only, executable, and memory attribute table indicators that provide fine-grained security control for specific address regions without complicating the entire page table structure.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements preliminary action by establishing security boundaries and attributes in advance during page table setup. The memory attribute table and access permissions are predetermined and encoded in the page table entries, preventing unauthorized access before it can occur rather than requiring complex runtime security checks.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If relative offset values are used in page table entries, then remapping efficiency is improved, but mechanisms are needed to ensure offsets remain within valid regions

Engineering Contradiction:
Improveremapping operation speedVSAvoidaddress pointer validity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary anti-action by preemptively defining valid address regions and boundaries in the page table structure. The memory attribute table and region descriptors establish constraints on where relative offsets can point, preventing invalid address generation before it can cause errors. This allows fast remapping while maintaining reliability through pre-established boundaries.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS12038846B2Page table structure
Publication Date: 2024.07.16 ARM LTD
  • US12038846B2 patent drawing
  • US12038846B2 patent drawing
  • US12038846B2 patent drawing

AI summary

A page table structure for address translation may include a relative type of page table entry, for which an address pointer to a next-level page table entry or a translated address may be specified using a relative offset value indicating an offset of the address pointer relative to a reference-point base address.