Firmware Image Segmentation for SoC Boot Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increased number of hardware components and features in system-on-chip (SoC) devices leads to longer boot times due to the need to load complete firmware images, resulting in increased memory and power consumption, which negatively impacts performance.

Innovation Solution

The method involves segmenting firmware images into distinct segments, each associated with specific configuration features, and loading only the necessary segments based on a 'feature fuse map' that specifies enabled features for the SoC, optimizing memory usage and boot time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the complete firmware image is loaded into memory, then all features are available for the subsystem, but memory consumption increases

Engineering Contradiction:
Improvefeature availabilityVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The firmware image is divided into multiple segments, where each segment corresponds to a specific feature or set of features. The system loads only the required segments into memory based on the enabled features, rather than loading the entire firmware image. This segmentation enables selective loading, reducing memory consumption while maintaining adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts and loads only the necessary feature segments from the complete firmware image into memory, leaving the unused segments on the storage medium. This extraction approach ensures that only the required features are loaded, optimizing memory usage while preserving full feature availability for enabled capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If the complete firmware image is loaded into memory, then all features are available for the subsystem, but power consumption increases

Engineering Contradiction:
Improvefeature availabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The firmware image is segmented into feature-specific portions, allowing the system to load only the required segments into memory. Since memory access and maintenance consume power, reducing the amount of loaded firmware directly reduces power consumption while maintaining availability of enabled features.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts and loads only the necessary feature segments from the complete firmware image, eliminating the need to load and maintain unused features in memory. This extraction reduces both memory usage and the associated power consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If the complete firmware image is loaded into memory, then all features are available for the subsystem, but boot time increases

Engineering Contradiction:
Improvefeature availabilityVSAvoidboot time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The firmware loading process is segmented into multiple smaller operations, where only the required feature segments are loaded into memory during boot. This reduces the total loading time while ensuring that all enabled features are available. Unused segments remain on storage and are not loaded.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial loading of the firmware image, loading only the necessary feature segments required for the enabled features rather than the complete image. This partial action approach reduces boot time by avoiding the loading of unnecessary features while maintaining full functionality for enabled features.

Inventive Principle:
Principle #16Partial or excessive action

4Adaptability or versatility

If more hardware components are added to the SoC, then functionality increases, but the number of firmware images increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidnumber of firmware images
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Multiple firmware images for different hardware components are merged into a single unified firmware image containing all features. The system then uses feature segmentation and selective loading to load only the required segments corresponding to enabled features, reducing the complexity of managing multiple separate firmware images while maintaining full functionality.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A single universal firmware image is created that contains all possible features for all hardware components. The system determines which features are enabled and loads only the corresponding segments, making the single firmware image serve multiple functions and replacing the need for multiple component-specific firmware images.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11204781B2Optimizing power, memory and load time of a computing system during image loading based on image segmentation
Publication Date: 2021.12.21 QUALCOMM INC
  • US11204781B2 patent drawing
  • US11204781B2 patent drawing
  • US11204781B2 patent drawing

AI summary

A method of loading an executable image for a computing system includes identifying segments of at least one executable image available for loading into memory of the computing system. Each segment is associated with one or more configuration features for the computing system. At least a first segment of the at least one executable image to load into the memory of the computing system is determined, based on the first segment satisfying one or more conditions associated with the computing system. The first segment of the executable image is loaded into the memory of the computing system. At least a second segment of the at least one executable image is made available for memory re-allocation, based on the second segment not satisfying the one or more conditions associated with the computing system. Various additional and alternative aspects are described herein.