ASID Translation in I/O Virtualization Work Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex input/output virtualization environments, mixed usage of dedicated work queues (DWQ) and shared work queues (SWQ) on multiple I/O devices assigned to the same VM can lead to address space identifier (ASID) conflicts, causing fatal system runtime errors due to the inability of the IOMMU to differentiate between guest and host ASIDs.

Innovation Solution

The workload instruction is extended to include both untranslated and translated ASIDs, allowing the I/O device to determine which ASID to use based on the Scalable-IOV status, ensuring consistent ASID namespace by translating guest ASIDs to host ASIDs when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If mixed usage of dedicated work queues (DWQ) and shared work queues (SWQ) is implemented on multiple I/O devices, then I/O virtualization functionality is improved, but ASID conflicts occur causing system runtime errors

Engineering Contradiction:
ImproveI/O virtualization functionalityVSAvoidsystem runtime stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the ASID namespace into two distinct spaces: guest ASID space and host ASID space. The IOMMU is configured to differentiate between these two spaces based on the queue type (DWQ or SWQ), ensuring that guest ASIDs and host ASIDs do not conflict. This segmentation allows the system to maintain both DWQ and SWQ functionality while preventing ASID conflicts that would cause runtime errors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism in the IOMMU that translates and manages ASIDs based on the queue type. When a DMA request is received, the IOMMU determines whether it originates from a DWQ or SWQ and accordingly interprets the ASID in the appropriate namespace (guest or host). This intermediary function resolves the conflict by ensuring that ASIDs are correctly contextualized before address translation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the IOMMU receives both guest ASIDs and host ASIDs without differentiation, then processing flexibility is improved, but address translation accuracy deteriorates

Engineering Contradiction:
ImproveASID processing flexibilityVSAvoidaddress translation accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent applies local quality by assigning different interpretation rules to ASIDs based on their source context. The IOMMU examines the queue type (DWQ or SWQ) and accordingly applies the appropriate ASID namespace interpretation. This ensures that each ASID is processed with the correct contextual understanding, maintaining address translation accuracy while preserving processing flexibility for both guest and host scenarios.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11269782B2Address space identifier management in complex input/output virtualization environments
Publication Date: 2022.03.08 INTEL CORP
  • US11269782B2 patent drawing
  • US11269782B2 patent drawing
  • US11269782B2 patent drawing

AI summary

Embodiment of this disclosure provides a mechanism to extend a workload instruction to include both untranslated and translated address space identifiers (ASIDs). In one embodiment, a processing device comprising a translation manager is provided. The translation manager receives a workload instruction from a guest application. The workload instruction comprises an untranslated (ASID) and a workload for an input/output (I/O) device. The untranslated ASID is translated to a translated ASID. The translated ASID inserted into a payload of the workload instruction. Thereupon, the payload is provided to a work queue of the I/O device to execute the workload based in part on at least one of: the translated ASID or the untranslated ASID.