VF-PF Handshake for Dynamic BAR Adaptation in Virtualized I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches to allocating virtualized I/O device resources to virtual machines (VMs) are inflexible, requiring fixed Base Address Registers (BARs) that do not adapt to the diverse requirements of different VF drivers, leading to inefficiencies and impractical upgrades in cloud environments with thousands of VMs.

Innovation Solution

VF drivers can request adaptations to the BARs exposed by the I/O device, enabling dynamic changes such as increasing memory size, number, or structure, with the PF driver facilitating these changes and allowing hot-swapping without rebooting the VM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed BARs are used for I/O device virtualization, then device compatibility is maintained, but adaptability to different VF driver requirements deteriorates

Engineering Contradiction:
Improveadaptability to VF driver requirementsVSAvoidcomplexity of BAR adaptation mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic BAR configuration where the PF driver can modify BAR size, number, and structure based on VF driver requests. This transforms the static BAR allocation into a dynamic system that adapts to different virtual function requirements, resolving the contradiction between fixed compatibility and flexible adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of BARs (size, number, structure) based on VF driver capabilities and requirements. The PF driver receives capability information from VF drivers and adjusts BAR parameters accordingly, enabling the system to adapt to different driver requirements while maintaining operational stability through controlled parameter modification.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If BAR configuration is changed to meet diverse VF driver needs, then adaptability improves, but system stability deteriorates due to potential incompatibilities

Engineering Contradiction:
Improveadaptability to VF driver requirementsVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where VF drivers report their capability information to the PF driver, which then uses this feedback to determine appropriate BAR configurations. This closed-loop feedback ensures that BAR changes are based on actual driver requirements and capabilities, maintaining system reliability while achieving adaptability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary capability exchange between PF and VF drivers before finalizing BAR configuration. The VF driver provides capability information in advance, allowing the PF driver to pre-determine the optimal BAR setup, thereby preventing incompatibility issues before they occur and ensuring system stability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If fixed BAR setup is maintained, then driver compatibility is preserved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidcomplexity of dynamic BAR management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables the VF driver to self-announce its capability requirements to the PF driver, which then automatically configures the appropriate BAR setup. This self-service mechanism eliminates the need for manual configuration and allows each virtual function to optimize its resource utilization based on its specific needs, improving overall productivity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements dynamic BAR allocation where the configuration is adjusted based on actual VF driver requirements rather than using a fixed setup. This dynamic approach allows optimal resource utilization for each different virtual function scenario, significantly improving productivity and resource efficiency.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If BAR adaptations are implemented dynamically, then feature support (e.g., RDMA) improves, but ease of operation deteriorates due to complex configuration management

Engineering Contradiction:
Improvefeature support capabilityVSAvoidease of driver configuration
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent allows VF drivers to automatically announce their feature requirements and capability information to the PF driver, which then automatically configures the appropriate BAR setup. This eliminates manual configuration requirements and makes the system easy to operate while supporting advanced features like RDMA through automatic capability-based configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary capability exchange between PF and VF drivers before operation begins. The VF driver provides information about its required features and capabilities in advance, allowing the system to pre-configure the optimal BAR setup, thereby enabling advanced features while maintaining ease of operation through automated preliminary configuration.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12596560B2Heteromorphic I/O discovery and handshake
Publication Date: 2026.04.07 HUAWEI TECH CO LTD
  • US12596560B2 patent drawing
  • US12596560B2 patent drawing
  • US12596560B2 patent drawing

AI summary

A virtual function (VF) driver is provided, which receives an indication of base address registers (BARs) exposed by an I/O device providing virtualized hardware resources for use by the VF driver. The VF driver performs an internal probe and analysis to determine a target adaptation of at least one of the BARs exposed by the I/O device. A physical function (PF) driver receives a request message from the VF driver to adapt at least one of the BARs exposed by the I/O device. The BARs exposed by the I/O device are adapted by the PF driver according to the request message. A confirmation message is provided to the VF driver indicating the adaptation to the BARs exposed by the I/O device. The VF driver accesses regions of memory allocated to the adapted BARs exposed by the I/O device.