Page Table Management for Virtual Physical Address Alignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current page table management systems face challenges in efficiently managing differing virtual and physical address page alignments, leading to performance hurdles and memory fragmentation issues due to the requirement for same-alignment in virtual and physical address spaces.

Innovation Solution

The implementation of a technique that allows for independent management of page tables in accelerated processing devices, enabling different page alignments in virtual and physical memory by using a primary page table and secondary page tables that store translations for homogenously sized memory pages, with the ability to choose a page size based on memory allocations and utilize a 'translate further' technique to point to additional page table levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If same alignment is required for virtual and physical address spaces, then memory management simplicity is maintained, but memory fragmentation increases and TLB performance deteriorates

Engineering Contradiction:
Improvepage table management complexityVSAvoidmemory access performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the page table structure into multiple levels (primary page table and secondary page tables) to manage virtual-to-physical address translations. This segmentation allows independent management of virtual and physical address alignments while maintaining a systematic translation process, resolving the contradiction between management simplicity and access performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to address translation by adding secondary page tables beyond the traditional single-level approach. This additional dimension enables the system to handle differing alignments between virtual and physical addresses without compromising performance, as the hierarchical structure provides more flexible translation pathways.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If larger virtual memory pages are used, then the number of page table walks is reduced, but physical memory alignment constraints are violated

Engineering Contradiction:
Improvememory access speedVSAvoidaddress alignment precision
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies different page sizes at different levels of the page table hierarchy. Secondary page tables can use larger page sizes for virtual memory mappings to reduce walk frequency, while maintaining the ability to translate to physically aligned addresses at the lower levels. This local differentiation allows performance optimization without sacrificing alignment precision.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically selects appropriate page sizes based on the specific memory allocation requirements and alignment needs. The page size is not fixed but can be adjusted during memory management operations, allowing the system to optimize between reduced page table walks and maintained physical alignment precision as conditions change.

Inventive Principle:
Principle #15Dynamics

3Productivity

If independent page alignment is allowed for virtual and physical memory, then memory fragmentation is minimized, but page table management complexity increases

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidpage table structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By segmenting the page table into primary and secondary levels, the system can independently manage alignment for virtual and physical addresses at different hierarchical levels. This segmentation isolates the complexity of alignment management to specific levels while maintaining simplicity in the overall translation process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secondary page tables act as intermediaries between the primary page table and physical memory addresses. This intermediary layer absorbs the complexity of handling different alignments by providing a translation buffer that reconciles virtual address space requirements with physical address space constraints.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of manufacture

If traditional page table management is used, then implementation simplicity is maintained, but TLB performance is hindered

Engineering Contradiction:
Improveimplementation simplicityVSAvoidTLB performance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent adds an additional dimension to the page table hierarchy by introducing secondary page tables. This extra level provides more granular control over address translations, enabling better TLB performance through more efficient translation lookups while maintaining implementation simplicity through a systematic hierarchical approach.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The system changes the parameter of page table depth from traditional single-level to multi-level hierarchical structure. This parameter change enables the TLB to achieve better performance by having more translation entries available at appropriate levels, while the systematic nature of the hierarchy keeps the implementation manageable.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10528478B2Page table management for differing virtual and physical address page alignment
Publication Date: 2020.01.07 ATI TECHNOLOGIES ULC
  • US10528478B2 patent drawing
  • US10528478B2 patent drawing
  • US10528478B2 patent drawing

AI summary

Techniques for managing page tables for an accelerated processing device are provided. The page tables for the accelerated processing device include a primary page table and secondary page tables. The page size selected for any particular secondary page table is dependent on characteristics of the memory allocations for which translations are stored in the secondary page table. Any particular memory allocation is associated with a particular “initial” page size. Translations for multiple allocations may be placed into a single secondary page table, and a particular page size is chosen for all such translations. The page size is the smallest of the natural page sizes for the allocations that are not using a translate further technique. The translation further technique is a technique wherein secondary page table entries do not themselves provide translations but instead point to an additional page table level referred to as the translate further page table level.