Auxiliary Firmware Partitioning for Risk-Free Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional firmware updating methods are risky and inefficient, especially when the new system firmware exceeds the reserved memory partition space, requiring bootloader updates and risking system boot failures during remote updates.
Innovation Solution
A firmware updating method that utilizes an auxiliary firmware with a disk partition table to write system firmware across different memory partitions, including a spare partition, without updating the bootloader, allowing flexible use of memory blocks and enhancing memory usage efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the new system firmware exceeds the reserved memory partition space, then the firmware update capability is improved, but the bootloader must be updated which increases system complexity and risk
Solution Approach 1:
The memory is segmented into multiple partitions including a first memory partition for the bootloader, a second memory partition for the auxiliary firmware, and a third memory partition for spare space. This segmentation allows the auxiliary firmware to access memory across partition boundaries without requiring bootloader updates, resolving the contradiction between firmware update capability and device complexity.
Solution Approach 2:
An auxiliary firmware is introduced as an intermediary component that resides in the second memory partition and has the capability to read and write data across multiple memory partitions. This intermediary enables large firmware updates without modifying the bootloader, thus improving update capability while avoiding increased device complexity.
2Quantity of substance
If the bootloader is updated to enlarge memory partition space, then the firmware storage capacity is improved, but the system reliability deteriorates due to power outage risks during remote updates
Solution Approach 1:
The auxiliary firmware is pre-installed in the second memory partition before the firmware update process begins. This preliminary action enables the auxiliary firmware to immediately access and write to the third memory partition (spare space) without requiring a bootloader update during the update process, thus maintaining firmware storage capacity while preventing power outage-related boot failures.
Solution Approach 2:
The third memory partition is reserved as spare space specifically for receiving firmware data during updates. This beforehand preparation provides a safe buffer zone that can accommodate large firmware updates without risking the bootloader or existing system firmware, thereby maintaining system reliability while enabling expanded firmware storage capacity.
3Stability of the object's composition
If the memory partition space is reserved in advance, then the system stability is improved, but the memory usage efficiency deteriorates when firmware size exceeds the reserved space
Solution Approach 1:
The auxiliary firmware dynamically accesses memory partitions based on the firmware update requirements. It can read from the second memory partition and write to the third memory partition as needed, allowing the system to maintain stable partition structures while efficiently utilizing available memory space during updates, thus resolving the contradiction between system stability and memory usage efficiency.
Solution Approach 2:
The system changes the operational parameters of memory access by using the auxiliary firmware to bridge between partitions. This allows the fixed partition structure to remain stable while the effective usable space is dynamically expanded during updates, preventing memory waste while maintaining system stability.
Data Source
AI summary
A firmware updating method applicable to an electronic device is provided. The electronic device comprises a non-volatile memory comprising a firmware partition and a spare partition. The firmware updating method comprises: executing an auxiliary firmware, wherein the firmware partition comprises a first block and a second block, and the auxiliary firmware is in the first block and comprises a disk partition table of the non-volatile memory; receiving a system update file corresponding to a system firmware of the electronic device; and when a storage space required by the system firmware is larger than an available storage space, writing the system firmware into the second block of the firmware partition and a spare block of the spare partition according to the disk partition table and the system update file.


