Dynamic Firmware Update Without Rebooting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In mission-critical systems like network-supported medical alert and online retailing, rebooting to complete firmware updates can be costly and disruptive, limiting the frequency and effectiveness of firmware updates.
Innovation Solution
Implementing dynamic firmware updates that allow updates to be applied without rebooting by using a data manager to track and manage data objects, including identifying the most-recent version, notifying consumers, and ensuring update validity without interfering with service level objectives.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware updates are applied by rebooting the system, then update reliability is ensured, but system availability deteriorates
Solution Approach 1:
The firmware is segmented into multiple images stored in non-volatile memory, allowing the system to switch between different firmware versions without rebooting. The data manager selectively loads specific firmware images into volatile memory based on update requirements, enabling updates to take effect dynamically without system restart.
Solution Approach 2:
Multiple firmware images are pre-loaded and stored in non-volatile memory before updates are needed. The system maintains a library of firmware versions, allowing immediate activation of updated firmware without requiring download or system restart, thus ensuring both reliability and continuous availability.
2Ease of manufacture
If firmware is stored in rewritable non-volatile memory for in-place updates, then update ease is improved, but system complexity increases
Solution Approach 1:
A data manager acts as an intermediary between the firmware storage medium and the firmware execution mechanism. The data manager handles the complexity of managing multiple firmware images, selecting appropriate versions, and coordinating updates, thereby simplifying the overall system architecture while enabling easy in-place updates.
3Productivity
If firmware updates are applied dynamically without rebooting, then system availability is improved, but update validity control becomes more difficult
Solution Approach 1:
The system implements feedback mechanisms where the data manager continuously monitors firmware update status, validates update integrity, and tracks which firmware images are currently active. This feedback loop ensures that dynamic updates maintain validity controls comparable to traditional reboot-based updates, while preserving system availability.
Data Source
Figure 1~3
Figure 4
Figure 5
AI summary
A dynamic firmware update process includes finding an updated version of a dynamic data-object in firmware memory. A callback handle for an in-use version of the dynamic data object in use by a consumer is identified. The consumer of updated version of dynamic data object is notified using the callback handle.