Virtualization Device PASID Selectors for Multi-Address-Space I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data movers and scalable I/O virtualization devices are limited to a single address space per job descriptor, leading to high overhead in certain use cases and inefficiencies in data operations across multiple address spaces.

Innovation Solution

A data mover is configured to access multiple address spaces using a job descriptor with additional PASID selectors, coupled with a PASID permissions table to verify access permissions and control access to specific address ranges, allowing secure and efficient data operations across multiple address spaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a data mover supports only a single address space per job descriptor, then the device complexity is reduced, but the productivity decreases due to high overhead in data operations across multiple address spaces

Engineering Contradiction:
Improvedata mover configurationVSAvoiddata operation efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the address space access capability by introducing multiple PASID selectors (first PASID selector, second PASID selector, third PASID selector) within the job descriptor. Each selector can independently identify different address spaces, allowing the data mover to access multiple address spaces without increasing overall device complexity. The PASID permissions table further segments access control by verifying permissions for each PASID individually.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If data is copied or mapped into a single address space to enable access, then the ease of operation is improved, but the loss of time increases due to additional copying and mapping operations

Engineering Contradiction:
Improvedata access simplicityVSAvoiddata copying and mapping time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent extracts the address space identification capability from the data itself by incorporating PASID selectors directly into the job descriptor. This allows the data mover to access data in multiple address spaces directly without extracting or copying data into a single address space first. The PASID permissions table verifies access rights without requiring data movement.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If multiple PASIDs are supported on ADIs, then the productivity is improved for scalable IOV device usage, but the device complexity increases

Engineering Contradiction:
Improvescalable IOV device performanceVSAvoidADI configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing the job descriptor to universally support multiple PASID selectors that can identify different address spaces. The same job descriptor structure and PASID permissions table mechanism work for both data mover operations and scalable IOV device operations, allowing a single unified approach to handle multiple address spaces without increasing overall device complexity.

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

Data Source

PatentUS20250284524A1System, apparatus and method for accessing multiple address spaces via a virtualization device
Publication Date: 2025.09.11 INTEL CORP
  • US20250284524A1 patent drawing
  • US20250284524A1 patent drawing
  • US20250284524A1 patent drawing

AI summary

In one embodiment, an apparatus includes an input/output virtualization (IOV) device comprising: at least one function circuit to be shared by a plurality of virtual machines (VMs); and a plurality of assignable device interfaces (ADIs) coupled to the at least one function circuit, wherein each of the plurality of ADIs is to be associated with one of the plurality of VMs and comprises a first process address space identifier (PASID) field to store a first PASID to identify a descriptor queue stored in a host address space and a second PASID field to store a second PASID to identify a data buffer located in a VM address space. Other embodiments are described and claimed.