Live Firmware Update via Runtime Loader Environment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current approaches to updating BIOS code require rebooting the computing device, leading to downtime and unavailability, especially in large fleets like data centers or server farms, as they necessitate a reboot to apply changes to firmware.

Innovation Solution

Implementing a separate runtime loader environment (RLE) that allows for live updates of firmware without rebooting the device by loading and executing runtime drivers in a protected memory space, enabling updates during operation without affecting user workloads or requiring device migration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If BIOS code is updated using current approaches, then firmware functionality is improved, but device availability deteriorates due to required reboot

Engineering Contradiction:
Improvefirmware functionalityVSAvoiddevice downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the firmware update process by creating a separate runtime loader environment (RLE) that operates independently from the boot-time driver execution environment. This allows the runtime environment to be updated without affecting the boot environment, enabling firmware updates without requiring a full system reboot. The segmentation isolates the update operation to a specific runtime context, preventing system-wide disruptions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by loading and verifying updated runtime drivers into a protected memory space before actually executing them. The runtime loader environment prepares the updated firmware code in advance, performs validation checks, and ensures readiness before switching to the updated version. This preliminary preparation allows seamless transitions without interruption to the host system.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If firmware updates are applied dynamically, then device availability is improved, but system complexity increases due to multiple environments

Engineering Contradiction:
Improvedevice downtimeVSAvoidfirmware structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary runtime loader environment that acts as a mediator between the boot-time environment and the running operating system. This RLE serves as a bridge that handles driver loading and execution without requiring direct modifications to either the boot environment or the OS. The intermediary structure simplifies the update process by providing a dedicated layer that manages runtime driver operations independently.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent uses copying by creating a separate runtime loader environment that replicates the essential driver loading and execution capabilities of the boot environment. Instead of modifying the existing boot environment to support runtime updates, a copied version (RLE) is created with the specific function of handling runtime driver operations. This copying approach maintains the original boot environment's simplicity while adding runtime update capabilities.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If runtime loader environment is implemented, then firmware update capability is improved, but memory requirements increase due to protected memory space

Engineering Contradiction:
Improvelive update capabilityVSAvoidmemory resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by allocating protected memory space specifically for the runtime loader environment's driver execution, rather than requiring additional memory throughout the entire system. The protected memory space is localized to the RLE's operational context, providing the necessary isolation and security only where required for runtime driver operations. This localized allocation minimizes the overall memory footprint while maintaining the required update capabilities.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11321077B1Live updating of firmware behavior
Publication Date: 2022.05.03 AMAZON TECH INC
  • US11321077B1 patent drawing
  • US11321077B1 patent drawing
  • US11321077B1 patent drawing

AI summary

Live firmware updates can be provided using a runtime environment that is separate from a boot environment. During a boot process for a computing device, boot drivers can be loaded during a boot environment phase, and runtime drivers can be loaded during a subsequent runtime environment phase. The runtime code and configuration data can be stored to protected resident or non-volatile memory. One or more runtime application programming interfaces (APIs) can be provided that enable an operating system on the device to request an update or patch to the runtime code. During the update, only entry points to the runtime environment are paused on the system. Once the update is completed, the runtime environment can be made available with the newly applied code, and without any need to reboot the computing device or migrate any users to another device.