BMC Firmware Virtualization for Incremental Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for updating BMC firmware require complete replacement, making it difficult to test new functionality and increasing development time, especially when only minor changes are needed.

Innovation Solution

Enabling multiple virtualized BMC firmware instances to run side-by-side in a single BMC, with a virtualization controller managing interactions between them and hardware resources, allowing for selective processing of commands and delegation of control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional complete replacement method is used for BMC firmware updates, then firmware can be updated to new version, but development time increases and testing becomes difficult

Engineering Contradiction:
Improvefirmware update reliabilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the firmware update process by allowing multiple firmware instances (old and new) to coexist simultaneously in the BMC. Instead of replacing the entire firmware at once, the system divides functionality across multiple instances, enabling incremental updates and testing while maintaining the ability to rollback if needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by loading and testing new firmware instances before fully committing to the update. The system allows the new firmware instance to be prepared and tested in advance while the old instance continues to operate, enabling validation before full deployment.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If new firmware features are tested before full deployment, then feature reliability improves, but system complexity increases

Engineering Contradiction:
Improvefeature reliabilityVSAvoidfirmware system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism (firmware instance manager) that coordinates between multiple firmware instances. This intermediary handles the complexity of managing multiple instances, routing commands appropriately and managing transitions, thereby shielding users from the underlying complexity while enabling reliable testing.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If incremental firmware updates are implemented, then development time is reduced, but firmware management complexity increases

Engineering Contradiction:
Improvefirmware update efficiencyVSAvoidfirmware management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamics by making the firmware instance configuration flexible and adaptable. The system can dynamically adjust which firmware instance handles which functionality, allowing incremental updates to be implemented flexibly. The firmware instance manager can dynamically route commands to appropriate instances based on current system state and update progress.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10846113B1Board management controller firmware virtualization
Publication Date: 2020.11.24 AMAZON TECH INC
  • US10846113B1 patent drawing
  • US10846113B1 patent drawing
  • US10846113B1 patent drawing

AI summary

Technologies are provided for running multiple firmware instances in a board management controller (BMC). The BMC can comprise a virtualization controller configured to manage multiple virtualized firmware instances in separate virtual machines or virtualization containers. One of the firmware instances can be an instance of an older BMC firmware, and another of the firmware instances can be an instance of a newer BMC firmware configured to delegate control of hardware components it does not support to the instance of the older firmware. As the newer firmware is updated to support additional hardware components, the instance of the older firmware's control of those components can be disabled. BMC commands can be received and routed to the multiple firmware instances that support them for processing.