Executable Image Header Pruning for Flash Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for storing executable images in flash memory are inefficient in reducing size, as they often compress the entire image file, including headers, which limits space savings and cannot compress XIP images due to execution requirements.
Innovation Solution
The method involves removing unnecessary fields from executable image headers before storage, allowing for a customized reduction in size by omitting irrelevant data specific to the target platform, and further compressing the image, while ensuring the image can be reconstructed to its original state for compatibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the entire image file including headers is compressed, then some space is saved, but the compression ratio is limited and XIP images cannot be compressed
Solution Approach 1:
The patent divides the executable image into distinct segments: headers and content. Different compression strategies are applied to each segment - the header is selectively pruned by removing platform-specific fields, while the content is compressed using traditional compression algorithms. This segmentation allows each part to be optimized independently, achieving higher overall compression ratios without compromising XIP executability.
Solution Approach 2:
The patent extracts and removes unnecessary platform-specific fields from the executable header before compression. By taking out these redundant elements (such as optional header fields that are not relevant to the target platform), the header size is reduced, and the overall image size is decreased without affecting the core executable content.
2Adaptability or versatility
If platform-specific fields are retained in the header, then compatibility with multiple platforms is maintained, but the image size increases
Solution Approach 1:
The patent applies local quality by making the header adaptable to different platforms through selective field retention. Instead of maintaining all possible platform-specific fields for all platforms, the system identifies and retains only the fields relevant to the target platform while removing others. This localized optimization reduces image size while preserving necessary platform compatibility.
Solution Approach 2:
The patent changes the parameters of the header by selectively removing or retaining specific fields based on platform requirements. By dynamically adjusting which header fields are present (changing the header's parameter set), the system achieves a balance between platform compatibility and size reduction, storing only the necessary platform-specific information.
3Quantity of substance
If the entire image is compressed, then space is saved, but execution from flash memory is compromised for XIP images
Solution Approach 1:
The patent segments the image into header and content portions, applying different processing to each. The header is pruned of unnecessary fields, while the content is either compressed (for loadable executables) or left uncompressed (for XIP executables). This segmentation ensures that XIP images remain executable from flash memory while still achieving size reduction through header optimization.
Solution Approach 2:
The patent applies partial compression by selectively compressing only the necessary portions of the image. For XIP executables, compression is applied minimally or not at all to the content portion, while maximum pruning is applied to the header. This partial action approach maintains executability while achieving meaningful size reduction.
Data Source
AI summary
An embodiment of the present invention is a system and method relating to shrinking, or optimizing, executable images resulting is a savings of storage space. In at least one embodiment, the present invention removes unnecessary fields, or information, from an executable image header before storing the image on a flash for a target platform. The removal of information that is irrelevant to the target platform allows the executable to take up less space on the flash memory. When loaded, the image is interpreted based on the optimized header information. In an embodiment, the image may be further compressed by known methods, to save additional space. Other embodiments are described and claimed.


