Virtualization Device PASID Selectors for Multi-Address-Space I/O
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Productivity
If multiple PASIDs are supported on ADIs, then the productivity is improved for scalable IOV device usage, but the device complexity increases
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.
Data Source
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.


