Dynamic Firmware Configuration via Data Structure Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing process of firmware customization for computer systems is time-consuming and resource-intensive, requiring OEMs to return customized motherboards to manufacturers for firmware reconfiguration, which involves modifying the firmware image and source code, a process that is inefficient and laborious.

Innovation Solution

The implementation of firmware configuration data structures and program modules that allow for dynamic updating of firmware images without modifying the program modules, enabling customization by OEMs prior to flashing, using data structure signatures and pointers to reference configuration data within the firmware image.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If firmware image is customized by returning to manufacturer for reconfiguration, then firmware can be adapted to specific hardware configurations, but the process consumes significant time and resources

Engineering Contradiction:
Improvefirmware customization capabilityVSAvoidfirmware customization time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The firmware image is segmented into program modules and configuration data structures. The configuration data structures are further divided into data fields that can be independently modified. This segmentation allows OEMs to customize only the configuration data portion without affecting the program modules, enabling rapid customization without full firmware reconfiguration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The configuration data is extracted from the firmware image into separate, modifiable data structures. This extracted configuration data can be customized by OEMs using tools that read and modify these structures without requiring manufacturer intervention. The program modules retain pointers to these externalized configuration structures, maintaining functionality while enabling independent customization.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If firmware image is customized by returning to manufacturer for reconfiguration, then firmware can be adapted to specific hardware configurations, but resource consumption increases due to multiple transfer and modification cycles

Engineering Contradiction:
Improvefirmware customization capabilityVSAvoidfirmware customization efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The firmware image is prepared in advance with configurable data structures and pointers that enable future customization. The program modules are compiled with placeholder pointers that will reference the final configuration data. This preliminary setup allows OEMs to perform rapid customization by only modifying the configuration data portion, eliminating the need for multiple manufacturer-OEM transfer cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The configuration data structures serve as templates or copies that can be independently modified. OEMs can create customized versions of the configuration data without affecting the original firmware image or program modules. This copying mechanism allows parallel development and testing of different hardware configurations without resource-intensive reconfiguration cycles.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If firmware source code is modified for hardware configuration changes, then firmware can support customized hardware, but the complexity of modification increases

Engineering Contradiction:
Improvehardware configuration supportVSAvoidfirmware modification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Configuration parameters are extracted from the firmware source code into separate data structures. The program modules contain only pointers to these external configuration structures rather than hard-coded values. This extraction eliminates the need to modify program source code when adapting to different hardware configurations - only the configuration data structures need to be updated.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Configuration data structures serve as intermediaries between the program modules and hardware specifications. Instead of directly modifying program code to adapt to hardware changes, OEMs modify the intermediary configuration structures. The program modules automatically adapt through their pointers to these updated configuration structures, reducing modification complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7590835B1Dynamically updating a computer system firmware image
Publication Date: 2009.09.15 AMERICAN MEGATRENDS
  • US7590835B1 patent drawing
  • US7590835B1 patent drawing
  • US7590835B1 patent drawing

AI summary

Methods, systems, apparatus, and computer-readable media for customizing a computer system firmware image utilizing a firmware configuration data structure. At least one firmware configuration data structure is created in a firmware image. Each data structure contains configuration data stored within a data field. A data structure signature identifying the data structure is stored within a data field of the data structure. A pointer to the configuration data within the data structure is stored in at least one firmware program module. An application may search for a firmware configuration data structure according to the data structure signature and content signatures corresponding to specific data entries, retrieve the applicable data structure and data entry, and store modifications to data stored therein.