Generic Firmware Partitioning for Faster Virtualization World Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization techniques face performance bottlenecks during world switches due to the need to load and initialize the entirety of firmware for each virtual function, which is inefficient and time-consuming.

Innovation Solution

Implement a generic firmware portion and virtual function-specific firmware portions to manage world switches, where only the virtual function-specific firmware is replaced during a switch, reducing the number of operations and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entirety of firmware is loaded and initialized for each virtual function during world switches, then the system ensures complete functionality and reliability, but the switching time and operational delay increase significantly

Engineering Contradiction:
Improvefirmware functionalityVSAvoidworld switch duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The firmware is divided into a generic portion that is common across all virtual functions and a virtual function-specific portion that is unique to each VF. During world switches, only the virtual function-specific portion needs to be loaded and initialized, while the generic portion remains in place. This segmentation dramatically reduces the amount of firmware that must be reloaded during switching operations, resolving the contradiction between ensuring complete functionality and minimizing switch time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The generic firmware portion serves multiple virtual functions universally, providing common functionality that is shared across all VFs. This multi-functional design allows the system to maintain a single copy of common firmware code that can be reused for all virtual functions, eliminating the need to reload entire firmware images during world switches and thereby reducing switching time while maintaining system reliability.

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

2Adaptability or versatility

If the entirety of firmware is reloaded during world switches, then all virtual functions can be fully initialized, but the number of operations and system complexity increase

Engineering Contradiction:
Improvevirtual function initializationVSAvoidfirmware loading operations
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

By segmenting firmware into generic and virtual function-specific portions, the system reduces the complexity of firmware loading operations during world switches. Instead of managing complete firmware images for each virtual function, the system only needs to manage and load the smaller virtual function-specific portions, simplifying the overall firmware management process while maintaining full adaptability to different virtual functions.

Inventive Principle:
Principle #1Segmentation

3Productivity

If separate generic and virtual function-specific firmware portions are used, then world switch performance improves and security is enhanced, but the firmware structure and memory requirements increase

Engineering Contradiction:
Improveworld switch performanceVSAvoidfirmware structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The firmware is segmented into two distinct portions: a generic portion that is permanently resident and shared across all virtual functions, and virtual function-specific portions that are loaded only when needed. This segmentation improves world switch performance by reducing the amount of firmware that must be reloaded, while the modular structure actually simplifies memory management compared to loading complete firmware images for each virtual function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual function-specific firmware portions are extracted from the complete firmware image and stored separately in memory. This extraction allows the system to maintain a small, static generic firmware portion while storing only the necessary virtual function-specific code when needed, reducing overall memory requirements for firmware storage while improving switch performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20250306971A1Firmware partitioning for efficient world switch
Publication Date: 2025.10.02 ATI TECHNOLOGIES ULC
  • US20250306971A1 patent drawing
  • US20250306971A1 patent drawing
  • US20250306971A1 patent drawing

AI summary

A technique for performing virtualization operations on a device is disclosed. The technique utilizes a generic firmware portion and virtual function specific firmware portions to improve the performance during world switches. More specifically, when world switches are performed, the device maintains a generic firmware portion while replacing a virtual function specific firmware portion. The generic firmware portion includes operations that are common between different virtual functions, while the virtual function specific firmware portions include operations that vary between different virtual functions. This scheme reduces the number of operations that occur for a world switch, improving performance, and allows different virtual functions to have different functionality.