Executable Image Header Pruning for Flash Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage sizeVSAvoidcompression ratio
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If platform-specific fields are retained in the header, then compatibility with multiple platforms is maintained, but the image size increases

Engineering Contradiction:
Improveplatform compatibilityVSAvoidimage size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If the entire image is compressed, then space is saved, but execution from flash memory is compromised for XIP images

Engineering Contradiction:
Improvestorage sizeVSAvoidexecutability
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7853742B2System and method to conditionally shrink an executable module
Publication Date: 2010.12.14 INTEL CORP
  • US7853742B2 patent drawing
  • US7853742B2 patent drawing
  • US7853742B2 patent drawing

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.