Virtual Function Driver Mapping via Global Configuration Register
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Standard approaches lock PF and VF drivers to I/O devices, requiring upgrades or new installations when changes occur in I/O device mappings, which is inefficient, especially in cloud-based environments with thousands of virtual machines.
Innovation Solution
A computing device with a virtual machine manager that sets a global configuration status register to a mapping-value, allowing VF and PF drivers to adapt to new I/O device mappings without needing upgrades, enabling backward compatibility and efficient resource management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If standard approaches lock PF and VF drivers to I/O devices, then driver stability is ensured, but driver upgrades or new installations are required when I/O device mappings change
Solution Approach 1:
The patent changes the mapping parameters between Base Address Registers (BARs) and BAR roles dynamically through a configuration status register (CSR). Instead of locking drivers to fixed mappings, the system allows the mapping parameters to be changed by updating the CSR, enabling the same driver to work with different I/O device mappings without requiring driver upgrades or reinstallation.
2Adaptability or versatility
If PF driver and I/O device set global CSR to mapping-value, then VF drivers can adapt to new I/O devices without upgrades, but system complexity increases due to mapping management
Solution Approach 1:
The patent introduces a configuration status register (CSR) as an intermediary between the PF driver/I/O device and the VF drivers. The CSR holds the mapping-value that defines how BARs map to BAR roles. This intermediary simplifies the complexity by providing a centralized, standardized interface for mapping configuration, allowing VF drivers to adapt to different mappings without direct complex management logic in each driver.
Solution Approach 2:
The global CSR serves multiple functions: it stores the mapping-value, provides a standardized interface for the PF driver and I/O device to configure mappings, and enables all VF drivers to adapt to different I/O devices uniformly. This universal mechanism reduces overall system complexity by consolidating mapping management in a single multi-functional component.
3Loss of time
If VF drivers obtain mapping-value from global CSR, then installation frequency is reduced, but memory access overhead increases
Solution Approach 1:
The mapping-value is pre-configured in the global CSR by the PF driver and/or I/O device before the VF drivers need to use it. This preliminary action ensures that when VF drivers start or need to adapt, the mapping information is already available in a readily accessible location (the CSR), minimizing the need for repeated installations or complex setup procedures while managing memory access efficiently.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
In response to a bootup or a reset of an input/output, I/O, device providing virtualized hardware resources for use by virtual function, VF, drivers of virtual machines, VM and a load of a physical function, PF, driver, a global configuration status register, CSR, is set by the PF driver and/or the I/O device, to a mapping-value defining a certain mapping between base address register, BAR, roles supported by virtual functions exposed by the I/O device and I/O device BARs of the virtual functions. In response to the setting, the VF drivers for the virtual functions corresponding to the PF driver are loaded. Each respective VF driver obtains the mapping-value of the global CSR and maps, according to the certain mapping, BARs of the VF driver designated for the BAR roles, to the corresponding I/O device BARs of the virtual functions mapped to the BAR roles.