Virtual Machine Queue Shadowing with PASIDs for Lower Translation Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization systems face inefficiencies and security risks due to recurring translations between guest and host memory addresses in peripheral device software request queues, leading to increased overhead and resource consumption.

Innovation Solution

Implementing process address space identifiers (PASIDs) for peripheral devices to access shadow software request queues and device data buffers directly, reducing the need for translations between host and guest memory addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional virtualization memory address translation is used for peripheral device access, then security and isolation are maintained, but system overhead increases and efficiency decreases

Engineering Contradiction:
Improvesystem efficiencyVSAvoidtranslation overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the memory address space into guest virtual address space and host physical address space, introducing an intermediate shadow queue structure. The shadow queue is segmented to contain only the necessary address translation information, allowing peripheral devices to access host memory efficiently without full virtualization overhead while maintaining security through controlled access paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The shadow queue acts as an intermediary structure between the guest virtual address space and host physical address space. It contains shadow copies of software request queue entries with pre-translated host physical addresses, serving as a mediator that enables direct peripheral device access to host memory without requiring recurring address translations through the hypervisor, thus reducing overhead while maintaining isolation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of energy

If shadow queues are implemented for direct peripheral device access, then translation overhead is reduced, but memory consumption increases

Engineering Contradiction:
Improvetranslation overheadVSAvoidmemory consumption
Core Design Contradiction:
Loss of energyVSQuantity of substance

Solution Approach 1:

The shadow queue implements local quality by containing only the specific address translation information needed for peripheral device access, rather than maintaining complete virtual address space mappings. Each shadow queue entry corresponds locally to a specific software request queue entry, storing only the necessary host physical address translation, thus minimizing memory consumption while enabling efficient direct access where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent uses selective copying to create shadow queue entries from the original software request queue entries. Instead of copying the entire virtual address space, only the necessary address translation information is copied into the shadow queue structure, reducing memory consumption compared to full address space duplication while still enabling the efficiency benefits of direct access.

Inventive Principle:
Principle #26Copying

3Productivity

If PASIDs are assigned for direct shadow queue access, then access efficiency improves, but device complexity increases

Engineering Contradiction:
Improveaccess efficiencyVSAvoiddevice configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The PASID (Process Address Space Identifier) serves multiple functions: it identifies the guest virtual address space, enables direct access to the shadow queue, and facilitates address translation. This multi-functionality reduces the need for separate configuration mechanisms, as the PASID becomes a universal key for peripheral devices to access their allocated shadow queues efficiently without requiring additional complex configuration structures.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12423132B2Efficient queue shadowing for virtual machines
Publication Date: 2025.09.23 RED HAT LLC
  • US12423132B2 patent drawing
  • US12423132B2 patent drawing
  • US12423132B2 patent drawing

AI summary

Systems and methods for efficient peripheral device software request queue shadowing for virtual machines can include creating a virtual machine and assigning a peripheral device to it. They can also include assigning, to the peripheral device, a first process address space identifier (PASID) associated with a shadow memory buffer and a second PASID associated with a device data buffer. They can further include causing a host input/output memory management unit (IOMMU) to identify a software request in the shadow memory buffer, and fetching, from the shadow memory buffer, the software request and a guest memory address of data requested to be accessed. They can also include, causing the host IOMMU to identify the data in the device data buffer, and transmitting the data, from the guest memory, to the peripheral device.