IOMMU-Guided Memory Page Migration for Legacy IO Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Electronic devices face inefficiencies in accessing data stored in memory due to the use of different types of memory with varying access speeds, leading to potential crashes or errors when older IO devices lack support for migrating pages of memory during relocation.

Innovation Solution

Implement a page migration engine and an IOMMU to manage memory access and migration, using IO page tables and a reverse map table to ensure IO devices do not access migrating pages, thereby preventing errors and optimizing memory location.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pages of memory are migrated automatically behind the scenes without IO device knowledge, then memory access efficiency is improved through optimal data placement, but system reliability deteriorates when older IO devices lack support for migrating pages during relocation

Engineering Contradiction:
Improvememory access efficiencyVSAvoidsystem stability during migration
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by checking whether an IO device supports page migration before initiating migration of pages that the device needs. This prevents attempting to migrate pages to devices that cannot handle the operation, thereby avoiding crashes and errors while maintaining efficient memory placement for supported devices

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The page migration engine acts as an intermediary between the memory management system and IO devices. It manages the migration process by identifying supported devices, coordinating migration operations, and ensuring that only pages are migrated to devices capable of handling the operation, thus resolving the contradiction between automation and reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Extent of automation

If pages of memory are migrated without IO device support, then memory relocation can proceed automatically, but device complexity increases due to need for migration management mechanisms

Engineering Contradiction:
Improveautomatic page migrationVSAvoidmigration management system
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system implements self-service by having the page migration engine automatically identify which IO devices support page migration and autonomously manage the migration process for supported devices. This automation reduces the need for manual intervention while the engine handles the complexity of migration coordination

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The page migration engine serves as an intermediary layer that handles the complexity of migration management. It abstracts the migration details from the memory management system and IO devices, providing a simplified interface that enables automatic migration while managing the underlying complexity through centralized coordination

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4315079B1Migrating pages of memory accessible by input-output devices
Publication Date: 2026.04.15 ATI TECHNOLOGIES ULC
  • EP4315079B1 patent drawingFigure 1
  • EP4315079B1 patent drawingFigure 2
  • EP4315079B1 patent drawingFigure 3

AI summary

An electronic device includes a memory, a processor that executes a software entity, a page migration engine (PME), and an input-output memory management unit (IOMMU). The software entity and the PME perform operations for preparing to migrate a page of memory accessible by at least one IO device in the memory, the software entity and the PME setting migration state information in a page table entry for the page of memory and information in reverse map table (RMT) entries involved with migrating the page of memory based on the operations being performed. The IOMMU controls usage of information from the page table entry and controls performance of memory accesses of the page of memory based on the migration state information in the page table entry and information in the RMT entries. The PME migrates the page of memory upon completing the operations for preparing to migrate the page of memory.