BMC Online Firmware Update via Root File System Copying
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for updating baseboard management controller (BMC) firmware require full or partial shutdown of services and automatic reboot, which is undesirable as BMC needs to remain active during server operation.
Innovation Solution
A system and method that involves copying the root file system from non-volatile memory to volatile memory, switching the service instances to the copy in volatile memory, receiving and writing an updated root file system code to non-volatile memory, allowing online firmware updates without immediate reboot, and recreating service instances after updating.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware update is performed by erasing and updating flash devices, then firmware can be updated, but services must be shut down and device must be rebooted
Solution Approach 1:
The root file system is segmented into two separate storage locations: non-volatile memory (for persistent storage) and volatile memory (for active operation). This segmentation allows the system to maintain service instances in volatile memory while updating the root file system in non-volatile memory, eliminating the need to shut down services during firmware updates.
Solution Approach 2:
The root file system is copied from non-volatile memory to volatile memory before the update process begins. This preliminary action ensures that service instances can continue to operate from the volatile memory copy while the non-volatile memory is updated, allowing updates without service interruption.
2Reliability
If BMC is rebooted for firmware update, then updated firmware can be loaded, but BMC cannot remain active during update
Solution Approach 1:
A copy of the root file system is created in volatile memory and used as the active file system for service instances. This copy allows the original non-volatile memory to be updated without affecting running services, eliminating the need for immediate reboot and reducing downtime.
Solution Approach 2:
Service instances continue to operate continuously from the root file system copy in volatile memory while the non-volatile memory is updated. This maintains continuous useful action (service operation) during the firmware update process, avoiding interruptions and reducing downtime.
3Reliability
If root file system is updated in non-volatile memory, then firmware is updated, but service instances must be recreated from scratch
Solution Approach 1:
The system segments the root file system into persistent storage (non-volatile) and active operation (volatile) portions. Service instances operate from the volatile copy, which remains unchanged during updates, simplifying service instance management as they don't need to be recreated when firmware is updated in non-volatile memory.
Data Source
AI summary
A system includes a baseboard management controller (BMC), capable of online update of the BMC without shutting down any services. The BMC includes a processor, a volatile memory configured to perform multiple service instances, and a non-volatile memory storing a computer executable code and a root file system. The root file system includes multiple service modules as origin of the service instances. The computer executable code, when executed at the processor, is configured to: receive an update command and perform an update process based on the update command. The update process includes: copying the root file system from the non-volatile memory to the volatile memory; switching the origin of the service instances to the copy of the root file system; receiving an update root file system code; and writing the update root file system code to the non-volatile memory to obtain an updated root file system.


