Flexible MMIO Space Definition for Scalable I/O Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing I/O virtualization technologies, such as SR-IOV, face scalability limitations in supporting a large number of isolated domains and require complex device designs, leading to increased costs and complexity.

Innovation Solution

The Scalable I/O Virtualization (IOV) architecture introduces a flexible and scalable approach by using Assignable Device Interfaces (ADIs) that allow for fine-grained provisioning of device resources, enabling more efficient sharing of I/O devices across isolated domains without the need for complex resource remapping logic in endpoint devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional SR-IOV architecture is used to support I/O virtualization, then device isolation and direct access are achieved, but scalability is limited and device complexity increases

Engineering Contradiction:
ImprovescalabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the device interface into multiple Assignable Device Interfaces (ADIs), each representing a fine-grained unit of device functionality. This segmentation allows the device to be divided into smaller, independently assignable units, enabling scalable sharing across multiple isolated domains without requiring complex resource remapping logic in the endpoint device itself.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal interface framework where a single device can present multiple ADIs that can be assigned to different isolated domains. This multi-functionality allows the same physical device to serve multiple purposes and multiple domains simultaneously, improving scalability without increasing device complexity.

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

2Productivity

If fine-grained provisioning of device resources is implemented, then resource sharing efficiency improves, but device design complexity increases

Engineering Contradiction:
Improveresource sharing efficiencyVSAvoiddevice design complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Device resources are segmented into fine-grained ADIs that can be independently provisioned and assigned to different isolated domains. This segmentation enables efficient resource sharing by allowing each domain to receive only the specific resources it needs, improving productivity without requiring complex remapping logic within the endpoint device.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism where the device presents a standardized set of ADIs that can be assigned to multiple domains. This intermediary layer simplifies the device design by providing a uniform interface for resource sharing, while the complexity of fine-grained provisioning is handled through the assignment mechanism rather than within the device itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If hardware-assisted I/O virtualization is implemented, then performance is improved, but hardware cost and complexity increase

Engineering Contradiction:
ImproveI/O performanceVSAvoidhardware cost and complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The device is segmented into multiple ADIs that can be directly assigned to isolated domains, enabling hardware-assisted I/O virtualization with minimal overhead. This segmentation allows high-performance direct access while avoiding the need for complex resource remapping logic in the endpoint device, thereby improving speed without proportionally increasing hardware cost and complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3614261B1Flexible memory mapped input/output (I/O) space definition for a virtual device in a scalable I/O virtualization (s-IOV) architecture
Publication Date: 2025.04.30 INTEL CORP
  • EP3614261B1 patent drawingFigure 1
  • EP3614261B1 patent drawingFigure 2
  • EP3614261B1 patent drawingFigure 3

AI summary

Examples may include a method of instantiating a virtual machine; instantiating a virtual device to transmit data to and receive data from assigned resources of a shared physical device by receiving input data requesting assigned resources for the virtual device, allocating assigned resources to the virtual device based at least in part on the input data, and mapping a page location in an address space of the shared physical device for a selected one of the assigned resources to a page location in a memory-mapped input/output (MMIO) space of the virtual device; and assigning the virtual device to the virtual machine, the virtual machine to transmit data to and receive data from the physical device via the MMIO space of the virtual device.