Staging External Device Firmware via Virtual Driver

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing firmware update mechanisms for external devices in information handling systems are inefficient, as they often fail to update firmware when the external device is unavailable during system boot or reboot, leading to firmware version mismatches and are restricted by operating system limitations, such as in Microsoft Windows 10 S, which prohibits standalone desktop applications for updating firmware.

Innovation Solution

A firmware management system utilizing a virtual device driver and the unified extensible firmware interface (UEFI) to stage and deliver external device firmware, allowing updates to be scheduled based on administrator policies and independent of the extensible firmware interface system resource table (ESRT) state, ensuring updates occur when the device is available.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If firmware update mechanisms attempt to update external device firmware during system boot or reboot, then firmware updates can be performed, but the external device may be unavailable during this process leading to update failure

Engineering Contradiction:
Improvefirmware update efficiencyVSAvoidfirmware update success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system stages the firmware update package in advance during system boot or reboot, preparing the update before the external device becomes available. The virtual device driver stores the firmware package locally, and only applies the update when the external device is detected as available, thus ensuring update success while maintaining productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A virtual device driver is introduced as an intermediary between the operating system and the external device. This virtual driver manages the firmware update process by staging packages locally and coordinating the actual update application, bridging the gap between system boot processes and external device availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If standalone desktop applications are used to update firmware, then firmware updates can be performed, but operating system limitations such as Microsoft Windows 10 S prohibit such applications

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidoperating system compatibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The virtual device driver is designed to function within the constraints of the operating system while providing firmware update capabilities. It leverages existing operating system mechanisms (such as Windows Update infrastructure) to achieve firmware updates without requiring standalone applications, thus maintaining compatibility across different operating system environments including Windows 10 S.

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

Solution Approach 2:

The patent replaces the traditional mechanical approach of using standalone desktop applications with a software-based virtual device driver mechanism. This substitution allows firmware updates to be performed through the operating system's native device driver interface, bypassing restrictions on standalone applications while maintaining ease of operation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If firmware updates are performed immediately when available, then the latest firmware is applied, but updates may occur when the external device is unavailable causing version mismatches

Engineering Contradiction:
Improvefirmware version compatibilityVSAvoidfirmware update delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The firmware update mechanism dynamically adjusts its behavior based on the availability of the external device. The virtual device driver continuously monitors device availability and dynamically switches between staging the firmware package (when device is unavailable) and applying the update (when device is available), ensuring both reliability and minimal delay.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms where the virtual device driver detects the availability status of the external device and adjusts the update process accordingly. When the device is unavailable, the system provides feedback to delay the update application; when the device becomes available, feedback triggers the update application, ensuring version compatibility while minimizing delays.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11010152B2Systems and methods to stage external device firmware for an external device in an information handling system
Publication Date: 2021.05.18 DELL PROD LP
  • US11010152B2 patent drawing
  • US11010152B2 patent drawing
  • US11010152B2 patent drawing

AI summary

Systems and methods to stage firmware capsule package for an external device in a firmware client system. The firmware client system may include a basic input/output system (BIOS) and an operating system (OS). The BIOS may create a virtual device. The OS may download a virtual device driver package associated with the virtual device from an update service. The virtual device driver package may include a first virtual device driver and a first external device firmware. The OS may also install the first virtual device driver of the virtual device driver package, stage the first external device firmware on a storage device, and execute the first virtual device driver. The first virtual device driver may, when a first external device associated with the first external device firmware is available, deliver the first external device firmware to the first external device using an update firmware mechanism.