VM I/O Interface Configuration Space Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, existing technologies face challenges in providing efficient access to hardware resources for software applications running on virtual machines, leading to performance issues and complex deployment and maintenance processes.

Innovation Solution

The solution involves an apparatus and method for operating an input/output (I/O) interface in a virtual machine, which maps memory addresses to physical addresses, enabling direct access to the I/O interface configuration space through the generation and provision of mapping tables to device drivers, thereby allowing virtual machines to access hardware resources efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If virtual machines use software frontend drivers to access physical resources through backend drivers in a hypervisor, then resource access is regulated and managed, but access performance deteriorates and system complexity increases

Engineering Contradiction:
Improveresource access managementVSAvoidaccess performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a configuration space as an intermediary layer between the device driver in the virtual machine and the I/O interface. This configuration space contains mapping tables that translate device-specific addresses to host memory addresses, eliminating the need for complex software frontend/backend driver interactions while maintaining regulated access through the hypervisor's memory management

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the address translation functionality from the complex software driver stack and places it directly in the configuration space accessible by the device driver. This removes the intermediary software layers (frontend drivers, backend drivers) that were causing performance degradation, while the hypervisor still regulates access through memory protection mechanisms

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If virtual machines use software frontend drivers to access physical resources through backend drivers in a hypervisor, then resource access is regulated and managed, but device driver complexity increases

Engineering Contradiction:
Improveresource access managementVSAvoiddriver complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The configuration space acts as a mediator that provides a standardized interface for device drivers. Instead of dealing with complex software frontend/backend driver stacks, the device driver simply interacts with the configuration space through standard memory-mapped I/O operations, significantly reducing driver complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The configuration space provides a universal interface that works with different I/O interfaces and device types. The mapping tables in the configuration space can accommodate various address translation requirements, making the device driver design more generic and less complex

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

3Reliability

If virtual machines access hardware resources through hypervisor-regulated software drivers, then access rights are managed, but deployment and maintenance complexity increases

Engineering Contradiction:
Improveaccess rights managementVSAvoiddeployment and maintenance
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The configuration space serves as a deployable intermediary component that encapsulates the address translation logic. This configuration space can be independently created, modified, and deployed without changing the device driver or I/O interface, simplifying deployment and maintenance processes

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the virtualization system into distinct components: the device driver, the configuration space with mapping tables, and the I/O interface. This segmentation allows the configuration space to be independently managed, deployed, and maintained, reducing overall system complexity

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11467978B2Method and apparatus for hardware virtualization
Publication Date: 2022.10.11 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11467978B2 patent drawing
  • US11467978B2 patent drawing
  • US11467978B2 patent drawing

AI summary

An apparatus for operating an input/output (I/O) interface in a virtual machine is provided. The apparatus is configured to: map a first portion of a memory device to a configuration space of an I/O interface; obtain a first mapping table that maps a set of host space virtual addresses to a first set of physical addresses associated with the first portion of the memory device; obtain a second mapping table that maps a second set of physical addresses associated with a second portion of the memory device accessible by a virtual machine to the set of host space virtual addresses; generate a third mapping table that maps the second set of physical addresses to the first set of physical addresses; and provide the third mapping table to a device driver operating in the virtual machine, to enable the device driver to access the configuration space of the I/O interface.