Self-Updating Update Agent for Firmware Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for updating firmware in electronic devices, such as mobile phones, face challenges due to limited user interaction capabilities, slow communication speeds, and insufficient memory, making it difficult to perform fault-tolerant updates, especially when the update agent cannot update itself.
Innovation Solution
A self-updating update agent capable of backing up its own code, allowing it to perform fault-tolerant updates by shifting between different memory locations and using pre-computed cyclic redundancy checks for verification, enabling efficient updates even in devices with limited memory and slow communication speeds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the update agent is made self-updating with backup capabilities, then the reliability of firmware updates is improved, but the device complexity increases
Solution Approach 1:
The update agent creates a backup copy of itself in a reserved write unit before performing any firmware updates. This preliminary action ensures that if the update fails or the device reboots unexpectedly, the original update agent can be restored, guaranteeing reliable firmware updates without compromising device complexity
Solution Approach 2:
The system creates a copy of the update agent in a reserved write unit rather than modifying the original in place. This copying mechanism allows the update agent to update firmware reliably while maintaining a fallback version, resolving the contradiction between reliability and complexity by using a simple copy operation instead of complex backup management
2Reliability
If the update agent performs fault-tolerant updates with self-backup, then the safety of update process is improved, but the memory requirements increase
Solution Approach 1:
Instead of backing up the entire update agent code, the system only preserves the critical first write unit in a reserved location. This local quality approach focuses backup resources on the most essential part of the update agent, improving update safety while minimizing memory consumption
Solution Approach 2:
The system extracts only the essential first write unit of the update agent and stores it in a reserved write unit, rather than copying the entire update agent. This extraction principle reduces memory requirements while maintaining update process safety by preserving the minimum necessary code to restore functionality
3Manufacturing precision
If the generator treats update agent and application code separately, then the update precision is improved, but the device complexity increases
Solution Approach 1:
The system segments the firmware update process into two distinct phases: first updating the update agent code in the first write unit, then updating the application code in subsequent write units. This segmentation allows precise control over each update phase, improving update precision while keeping the generator relatively simple by following a straightforward sequential process
Data Source
AI summary
A mobile device with a self-backup mechanism may conduct an implicit backup of update agent code during an update of firmware in the electronic device, using a package of update information. Another embodiment may perform an explicit backup of update agent code before the update of other firmware is performed. In an electronic device employing NAND flash non-volatile memory for firmware storage, a boot code may copy all firmware, including update agent code, from the non-volatile memory to RAM for execution. A determination may be made whether a backup copy of update agent code exists, and the existing update agent code may be updated by a copy of the update agent code stored in an area in RAM. An updated update agent code may be capable of employing update status data used by old update agent code, as well as update status data used by an updated update agent code.


