Virtualized Device Firmware Switching for Resource Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtualization technologies face challenges in efficiently managing firmware variations for different virtual functions in a virtualized device, leading to suboptimal resource allocation and performance across multiple virtual machines.

Innovation Solution

The implementation of a technique where a virtualized device with a hardware accelerator and microcontroller examines and executes firmware addresses for subsequent virtual functions during context switches, allowing for seamless switching and efficient time-sharing of resources among virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single set of hardware is shared among different virtual machines through virtualization, then resource utilization is improved, but firmware management complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidfirmware management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments firmware management by creating separate firmware instances for each virtual function. The microcontroller loads and executes different firmware versions corresponding to different virtual functions, allowing independent management of firmware for each VF while sharing the same hardware accelerator. This segmentation resolves the contradiction by making firmware management modular and virtual-function-specific rather than monolithic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware accelerator is designed with universal capabilities to support multiple virtual functions through a single physical instance. The microcontroller manages this universality by dynamically loading appropriate firmware for each VF, enabling one hardware device to serve multiple purposes simultaneously. This multi-functionality improves resource utilization while the firmware loading mechanism handles the management complexity.

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

2Adaptability or versatility

If firmware is varied for different virtual functions in a virtualized device, then adaptability is improved, but context switching overhead increases

Engineering Contradiction:
Improvefirmware adaptabilityVSAvoidcontext switching overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-loading firmware for subsequent virtual functions into memory before context switching occurs. When a virtual function needs to switch, the microcontroller can quickly load the pre-positioned firmware without extensive retrieval delays. This preliminary preparation reduces context switching overhead while maintaining firmware adaptability for different VFs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The microcontroller acts as an intermediary between the hardware accelerator and the firmware memory. It manages the loading and switching of firmware for different virtual functions, abstracting the complexity of firmware management from the main system. This intermediary role enables smooth context switching by handling firmware loading tasks efficiently, reducing overhead time.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If time-slicing is used to share hardware accelerator among virtual functions, then resource sharing is improved, but performance consistency deteriorates

Engineering Contradiction:
Improveresource sharing efficiencyVSAvoidperformance consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by loading and executing firmware specific to each virtual function's requirements. Each VF receives firmware tailored to its functional needs, ensuring optimal performance for that specific function. This local customization through firmware varies performance characteristics to match each VF's demands, improving consistency within each time-slice while maintaining overall resource sharing efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes firmware parameters dynamically based on which virtual function is currently active. By loading different firmware versions with optimized parameters for each VF, the hardware accelerator adapts its behavior to match the specific requirements of the active virtual function. This parameter customization through firmware switching helps maintain performance consistency for each function while enabling effective time-sliced resource sharing.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12169729B2Varying firmware for virtualized device
Publication Date: 2024.12.17 ATI TECHNOLOGIES ULC
  • US12169729B2 patent drawing
  • US12169729B2 patent drawing
  • US12169729B2 patent drawing

AI summary

A technique for varying firmware for different virtual functions in a virtualized device is provided. The virtualized device includes a hardware accelerator and a microcontroller that executes firmware. The virtualized device is virtualized in that the virtualized device performs work for different virtual functions (with different virtual functions associated with different virtual machines), each function getting a “time-slice” during which work is performed for that function. To vary the firmware, each time the virtualized device switches from performing work for a current virtual function to work for a subsequent virtual function, one or more microcontrollers of the virtualized device examines memory storing addresses for firmware for the subsequent virtual function and begins executing the firmware for that subsequent virtual function. The addresses for the firmware are provided by a corresponding virtual machine at configuration time.