Differential Image Update for Flash Memory Capacity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As programmable circuitry becomes increasingly complex, the images used to configure microprocessor circuitry continue to grow in size, often exceeding the available storage capacity in flash memory, necessitating external flash or alternative methods to store updated images.
Innovation Solution
The use of differential image data generated through processes like Bsdiff, which represents the differences between the original and updated images, allows for the construction of the updated image during the update process, utilizing less memory and enabling updates in resource-constrained systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the complete updated image is stored in flash memory, then the microprocessor circuitry can be updated with new functionality, but the flash memory capacity is exceeded
Solution Approach 1:
The updated image is divided into two parts: differential image data (containing only changes) and original image (stored in flash memory). This segmentation allows the complete updated image to be constructed on-demand without storing it entirely in flash memory, resolving the capacity contradiction.
Solution Approach 2:
The differential image data is nested within the flash memory alongside the original image. When an update is needed, the differential data is applied to the original image to construct the updated image, effectively nesting the update mechanism within the existing storage structure.
2Area of stationary object
If external flash memory is used to store the updated image, then sufficient storage capacity is available, but the device complexity increases
Solution Approach 1:
The system uses itself (the original image already stored in flash memory) as part of the update process. The differential image data references and modifies the original image in-place, eliminating the need for external flash memory and reducing device complexity.
3Area of stationary object
If the original image is shifted to create a swap area, then the updated image can be constructed in place, but the update process time increases
Solution Approach 1:
The original image is shifted to create a swap area before the update process begins. This preliminary action prepares the memory space in advance, allowing the updated image to be constructed directly in the flash memory without requiring additional external storage, though it does extend the update time.
Data Source
AI summary
An example apparatus includes: interface circuitry; machine-readable instructions; and programmable circuitry configured to at least one of instantiate or execute the machine-readable instructions to: determine a number of memory sectors to shift an original image based on a length of extra data in an updated image in differential image data; shift the original image by the number of memory sectors to create a swap area, the swap area including the number of memory sectors; and construct the updated image based on the differential image data and the original image.


