Firmware Logical Block Segmentation for IoT Update Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
IoT devices face limitations in firmware updates due to storage space constraints, increased update times caused by communication speed issues, and the inability to back up original firmware images, leading to potential update failures without recovery options.
Innovation Solution
A firmware provision apparatus and method that divides firmware data into logical blocks with a buffer area to manage changes, allowing for efficient updates and backup of original firmware images, enabling rollback in case of update failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If firmware data is stored in a single continuous block, then the firmware image is simple to manage, but offset changes affect the entire firmware image when firmware data changes
Solution Approach 1:
The patent divides firmware data into multiple logical blocks, where each block contains a data area and a buffer area. This segmentation isolates offset changes to specific blocks, preventing them from affecting the entire firmware image. When firmware data changes, only the affected logical block needs to be updated, maintaining reliability while managing complexity through structured division.
2Quantity of substance
If the size of firmware package is increased to provide more storage space, then firmware functionality is improved, but update time is greatly increased due to UART communication speed limitations
Solution Approach 1:
The patent segments firmware into multiple logical blocks that can be transmitted and updated independently through UART. This allows incremental updates where only changed blocks are transferred, significantly reducing update time compared to transmitting entire firmware images, while still providing adequate storage capacity through the cumulative blocks.
Solution Approach 2:
The patent implements differential updating where only the necessary portions of firmware (changed logical blocks) are updated rather than the entire firmware image. This partial action approach minimizes transmission time and data usage while maintaining complete firmware functionality.
3Quantity of substance
If storage space of IoT devices is limited, then device cost and power consumption are reduced, but the ability to back up original firmware image is lost
Solution Approach 1:
The patent divides the firmware storage into logical blocks with dedicated buffer areas within each block. This segmentation allows selective backup of only the necessary block headers and metadata rather than requiring a complete duplicate of the entire firmware image, enabling backup capability with minimal additional storage space.
Solution Approach 2:
The patent creates lightweight copies of critical firmware metadata and block headers in the buffer areas, rather than copying entire firmware images. These metadata copies enable rollback capability and backup verification without requiring substantial additional storage resources.
4Quantity of substance
If firmware is updated using differential method with firmware image, then update package size is reduced, but offset changes greatly affect the entire firmware image
Solution Approach 1:
The patent combines differential updating with logical block segmentation. Each logical block contains its own data area and buffer area, allowing differential updates to be applied independently to specific blocks. This maintains small update package sizes while preventing offset propagation throughout the entire firmware image, as each block is self-contained with its own offset management.
Data Source
AI summary
The present invention relates to a firmware provision apparatus and a provision method therefor. The firmware provision apparatus according to the present invention comprises: a memory that stores firmware data of a specific device; and a processor that divides the firmware data into two or more logical blocks, and generates a firmware image including the logical blocks obtained from the division, wherein the logical blocks include data areas in which the corresponding divided firmware data is stored and buffer areas in which data about changed details of the corresponding divided firmware data is stored.


