Firmware Update Recovery Using RAM Backup and Warm Reboot
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Firmware corruption in information handling systems can lead to boot failures and device detection issues, resulting in data loss and poor user experience.
Innovation Solution
The system stores a copy of the current firmware in RAM before updating, verifies the new firmware post-restart, and reverts to the previous firmware if the update fails, using a warm reboot to maintain volatile memory power.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system updates firmware directly without backup, then the update process is simple and fast, but the system risks boot failure and data loss if the new firmware is corrupted
Solution Approach 1:
The system performs preliminary actions by storing the current firmware image in volatile memory (RAM) before initiating the firmware update process. This backup is created in advance so that if the new firmware proves to be corrupted or incompatible, the system can revert to the previous working firmware, thereby preventing boot failures and data loss.
Solution Approach 2:
The system prepares compensatory measures in advance by maintaining a backup of the current firmware in volatile memory during the update process. This cushioning mechanism ensures that if the new firmware causes system failure, the system can recover by restoring the previous firmware, thus protecting against the harmful effects of firmware corruption.
2Reliability
If the system stores current firmware in volatile memory during update, then recovery from corrupted firmware is enabled, but memory power must be maintained during reset
Solution Approach 1:
The system dynamically adjusts the power state of the volatile memory during the firmware update process. By implementing a warm reboot mechanism that maintains power to the volatile memory containing the backup firmware, the system ensures recovery capability while minimizing energy consumption compared to maintaining full system power. The power management is optimized to sustain only the necessary memory regions during the critical update transition.
3Loss of energy
If the system performs cold reboot after firmware update, then power is saved, but the volatile memory loses power and backup firmware is lost
Solution Approach 1:
The system compensates for the information loss that would occur during a cold reboot by maintaining a duplicate copy of the current firmware in non-volatile storage. This ensures that even if the volatile memory backup is lost due to power loss during reboot, the system can still recover by restoring from the non-volatile backup, thus preventing firmware corruption and system failure.
Data Source
AI summary
A method for updating firmware on a device in an information handling system in a resilient manner is described. The method includes receiving a new firmware for updating a device; storing a current firmware image or a working copy of the current firmware of the device in a volatile memory; updating the device with the new firmware after storing the current firmware in the volatile memory; setting a first boot flag to perform diagnostics at a next reset of the information handling system based on updating the device with the new firmware; and determining, by the information handling system at the next reset in response to the first boot flag, whether the device satisfies at least one criteria indicating the new firmware is operational on the device. An information handling system that includes the device and performs the method is also described.


