In-Place LZO Decompression Recovery After Power Interruption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
During firmware updates, embedded devices can experience power failures, leading to interruptions in the decompression process, resulting in incomplete firmware images and the need for retransmission or additional storage, with no existing method to resume decompression without starting over or adding storage.
Innovation Solution
A method where a computing system saves the internal algorithm state after each step of the decompression process, allowing the decompression to resume from the interrupted state upon power restoration, enabling the decompressed image to override the inputted compressed image and complete the process without additional storage or starting from the beginning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If inplace decompression is used to speed up firmware transfer, then transfer time is reduced, but the input compressed image is overwritten during decompression making it impossible to resume after interruption
Solution Approach 1:
The decompression process is divided into discrete states that can be individually saved and restored. Each state represents a checkpoint in the decompression sequence, allowing the system to resume from the last completed state rather than restarting entirely or failing completely.
Solution Approach 2:
The system performs preliminary actions by saving the internal algorithm state at each decompression step before proceeding to the next step. This preparatory saving of state information enables recovery after interruption without requiring additional storage space beyond the decompression buffer.
2Reliability
If additional storage is added to store the compressed image for later use, then decompression can be restarted, but storage size and costs increase
Solution Approach 1:
The decompression buffer serves multiple functions: it acts as both the working space for the decompression algorithm and the storage medium for preserving compressed data across interruptions. This multi-functionality eliminates the need for separate dedicated storage space for backup compressed images.
Solution Approach 2:
The system changes the state parameters of the decompression buffer, utilizing its capacity dynamically during the decompression process rather than requiring static allocation. By tracking the decompression state and buffer contents, the system can resume without needing permanent storage of the original compressed image.
3Reliability
If the decompression process starts from the beginning after an interruption, then complete firmware image can be obtained, but transfer time is wasted
Solution Approach 1:
The system implements feedback by continuously monitoring and saving the internal algorithm state at each decompression step. This feedback mechanism provides the system with knowledge of its current decompression position, enabling it to resume from the exact point of interruption rather than restarting from the beginning.
Solution Approach 2:
By saving the internal algorithm state in advance at each decompression step, the system prepares recovery information beforehand. When an interruption occurs, this pre-saved state allows immediate resumption without time loss, as the system already knows where to continue from.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method includes inputting a compressed image in a computing system. The method also includes a process of decompressing another image over the compressed image by a processor. Power is restored to the process of decompressing the image in response to an interruption to the decompression process. The decompressed image is configured to override the inputted compressed image. The method also includes completing the process of decompressing the image over the inputted compressed image.