BMC Firmware Settings Preservation During Server Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Preserving firmware settings during updates in server systems is challenging, as existing methods require re-customization of settings, leading to data loss and inefficiency.
Innovation Solution
The use of a baseboard management controller (BMC) or flash memory component to store both current and future firmware settings, employing a unique string mapping scheme to preserve and update settings during firmware flash updates, ensuring settings are applied correctly after reboot.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware update is performed, then firmware version is updated, but firmware settings are lost
Solution Approach 1:
The patent segments the firmware storage into multiple flash chips (first flash chip and second flash chip) to enable independent updates. One chip stores the current firmware while the other stores the updated firmware, allowing settings to be preserved by retrieving them from the unchanged chip during the update process.
Solution Approach 2:
The patent changes the state of firmware storage by maintaining settings in a readable state during update operations. The BMC retrieves current settings from the first flash chip before update, stores them temporarily, and then restores them after updating the second flash chip, effectively changing the storage accessibility parameters to prevent data loss.
2Loss of time
If firmware settings are preserved during update, then re-customization is eliminated, but system complexity increases
Solution Approach 1:
The Baseboard Management Controller (BMC) acts as an intermediary between the flash chips and the system. It manages the complex coordination of reading settings from one chip, performing updates on the other chip, and restoring settings after update, thereby abstracting the complexity from the main system while preserving settings efficiently.
Solution Approach 2:
The system performs preliminary actions by retrieving and storing firmware settings in the BMC before the actual firmware update occurs. This preparatory step ensures that settings are safely cached and can be automatically restored after the update, eliminating the need for re-customization without requiring complex real-time intervention during the update process.
3Reliability
If entire firmware flash update is performed, then firmware is completely updated, but settings cannot be preserved
Solution Approach 1:
The patent divides the firmware update process into segments by updating only one flash chip at a time while keeping the other chip intact. This segmented approach allows the system to perform a complete firmware update on the target chip while simultaneously preserving settings by retrieving them from the source chip, thus achieving both complete update and settings preservation.
Solution Approach 2:
The system creates a copy of the firmware settings from the first flash chip and stores it in the BMC before updating the second flash chip. After the update, the copied settings are restored to ensure completeness of the update process while preventing loss of configuration information, effectively using copying to decouple the update operation from settings preservation.
Data Source
AI summary
The present disclosure provides a system and method for preserving firmware settings in a baseboard management controller (BMC) or a flash memory component of a server system. In accordance with one aspect of the present disclosure, a computer-implemented method for automatically preserving firmware settings of the server system, comprises: powering on the server system; retrieving a plurality of future firmware settings from a baseboard management controller (BMC) of the server system; applying the plurality of future firmware settings to the server system; sending a plurality of current firmware settings to the BMC with a unique string mapping scheme; performing an entire firmware flash update; copying the plurality of current firmware settings stored on the BMC to the plurality of future firmware settings of the BMC; and rebooting the server system by applying the plurality of future firmware settings stored on the BMC.


