In-Place BSDIFF Decompression That Resumes After Power Loss
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
During firmware updates, embedded devices can experience power failures during inplace patching, leading to incomplete output firmware images and the need for retransmission, which increases storage size and costs, with no existing method to resume the patching process without additional storage or retransmission.
Innovation Solution
A method where a compressed image is inputted into a computing system, with local variables stored periodically, allowing the processor to resume the inplace patching process at the same state after power restoration, enabling the decompression process to continue without retransmitting the image.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If inplace patching is performed without interruption handling, then the process is simple and requires no additional storage, but power failure causes incomplete output and requires retransmission
Solution Approach 1:
The patent applies preliminary action by saving loop states and local variables at predetermined intervals during the patching process, before any interruption can occur. This allows the system to resume from the last saved state rather than starting over, improving reliability without requiring complex interruption handling mechanisms.
Solution Approach 2:
The patent uses copying by creating periodic snapshots of the patching loop state and local variables. These copied state representations are stored in non-volatile memory, allowing the system to restore the exact patching state after power failure without retransmitting the entire firmware image.
2Loss of time
If periodic state saving is implemented, then resumption after interruption is enabled, but storage space is consumed and process time increases
Solution Approach 1:
The patent applies partial action by saving only the essential loop state and local variables rather than the entire firmware image. This periodic saving of minimal necessary data reduces storage consumption while still enabling complete process resumption, avoiding the need to retransmit the full firmware.
Solution Approach 2:
The patent uses discarding and recovering by temporarily using volatile memory for active patching variables, then periodically discarding them in favor of saved snapshots in non-volatile memory. After interruption, the system recovers only the necessary state information from these saved snapshots, minimizing both storage usage and recovery time.
3Reliability
If additional storage is added for interruption handling, then process resumption is possible, but storage costs increase
Solution Approach 1:
The patent applies segmentation by dividing the firmware update process into discrete loop iterations with identifiable states. Each segment's state and local variables are saved periodically, allowing the system to resume from any segment boundary without requiring additional storage beyond what's needed for these state snapshots.
Data Source
AI summary
A method includes inputting at least one compressed image in a computing system. The method also includes an inplace patching process. Another image is decompressed over the compressed image by a processor. Local variables are stored periodically, receiving restored power after an interruption to the inplace patching, wherein an execution of the inplace patching is resumed at a later time interval by the processor by restoring the local variables. The method also includes completing the inplace patching process of decompressing the image over the inputted compressed image after restoring the local variables.


