IOMMU Self-Invalidated Page Table Entries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems require processor time and resources to delete page table entries (PTEs) from the IOMMU cache, which can lead to increased susceptibility to I/O device or driver errors and inefficiencies in memory management.

Innovation Solution

Implementing a 'removal rule' for PTEs that allows self-deletion after a predetermined number of memory accesses or a set time, enabling the IOMMU to manage cleanup activities independently, reducing processor burden and eliminating the need for post-transaction communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the operating system deletes PTEs from the page table and sends deletion signals to the IOMMU cache after I/O operations, then memory corruption risks are reduced, but processor time and resources are consumed

Engineering Contradiction:
Improvememory corruption preventionVSAvoidprocessor time for PTE deletion
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The IOMMU cache performs self-deletion of PTEs based on removal rules without requiring processor intervention. The IOMMU monitors its own cache entries and automatically invalidates them after predetermined conditions are met, eliminating the need for the processor to manage PTE deletion and reducing processor burden while maintaining memory protection

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system pre-configures removal rules for PTEs that specify conditions for automatic deletion (such as after a predetermined number of accesses or time interval). This preliminary setup allows the IOMMU to autonomously manage cache entry lifecycle without requiring real-time processor decisions, thereby reducing processor time consumption while ensuring timely PTE invalidation

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the operating system manages PTE deletion and IOMMU cache synchronization, then memory protection is maintained, but device complexity increases

Engineering Contradiction:
Improvememory protectionVSAvoidprocessor-IOMMU coordination protocol
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The IOMMU cache operates autonomously to manage its own PTE entries by executing removal rules without requiring continuous processor involvement. This self-managed approach simplifies the overall system architecture by eliminating the complex coordination protocol between the processor and IOMMU for PTE deletion, while the IOMMU maintains memory protection through its independent cache management capabilities

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The PTE deletion function is extracted from the processor's responsibilities and transferred to the IOMMU cache itself. By taking out the deletion task from the processor-IOMMU coordination loop and embedding it within the IOMMU's autonomous operation, the system reduces the complexity of inter-component communication while preserving memory protection functions

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If the IOMMU cache maintains PTE entries for memory mapping, then memory access efficiency is improved, but the risk of erroneous or malicious I/O operations increases

Engineering Contradiction:
Improvememory access efficiencyVSAvoidI/O device error susceptibility
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The IOMMU cache autonomously monitors and manages its own PTE entries by executing removal rules that trigger automatic invalidation after predetermined conditions are met. This self-managed approach maintains memory access efficiency through cached PTE entries while simultaneously reducing the risk of erroneous I/O operations by automatically cleaning up potentially harmful entries without requiring processor intervention

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system pre-configures removal rules that automatically invalidate PTEs after predetermined time intervals or access counts. This preliminary setup creates a self-cleaning mechanism that prevents stale or potentially malicious PTE entries from causing harm, thereby reducing I/O device error susceptibility while maintaining the performance benefits of cached memory mappings

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9547603B2I/O memory management unit providing self invalidated mapping
Publication Date: 2017.01.17 WISCONSIN ALUMNI RES FOUND
  • US9547603B2 patent drawing
  • US9547603B2 patent drawing
  • US9547603B2 patent drawing

AI summary

A memory management unit for I/O devices uses page table entries to translate virtual addresses to physical addresses. The page table entries include removal rules allowing the I/O memory management unit to delete page table entries without CPU involvement significantly reducing the CPU overhead involved in virtualized I/O data transactions.