Pre-Boot Application Firmware Volume File Access via Cross-Reference Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Porting OS-level applications to a pre-boot execution environment is challenging due to the lack of support for file access in firmware volumes using standard I/O functions, requiring rewriting of program code to access files on mass storage devices.

Innovation Solution

Modifying standard I/O library functions to enable access to files stored in firmware volumes by using a file cross-reference table that maps filenames to globally unique identifiers (GUIDs), allowing pre-boot applications to access files without rewriting existing code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If standard I/O library functions are used to access files, then mass storage device access is supported, but firmware volume access is not supported

Engineering Contradiction:
Improvefile access compatibilityVSAvoidI/O library complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A file cross-reference table is introduced as an intermediary data structure that maps filenames to GUIDs. This table enables the standard I/O library functions to indirectly access firmware volume files by translating filename references into actual file identifiers, bridging the gap between standard I/O interfaces and firmware-specific file systems without modifying the core I/O library code.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The standard I/O library functions are enhanced to perform multiple functions: they can access both traditional mass storage devices and firmware volumes using the same interface. By integrating firmware volume access capability into the existing I/O library, the system achieves universal file access functionality without requiring separate code paths for different storage types.

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

2Adaptability or versatility

If OS-level applications are ported to pre-boot environment, then execution in firmware environment is enabled, but code rewriting is required

Engineering Contradiction:
Improveenvironment compatibilityVSAvoidporting time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The file cross-reference table is prepared in advance during firmware initialization, organizing all firmware volume files with their GUIDs and filenames before any application execution. This preliminary organization enables applications to immediately access files using standard I/O functions without requiring runtime file system initialization or code modifications, significantly reducing porting time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention creates a virtual file system layer that copies the interface of standard mass storage file access into the firmware environment. By replicating the familiar I/O function interface and underlying it with firmware-specific access mechanisms, applications can be ported without code changes while still accessing firmware volumes.

Inventive Principle:
Principle #26Copying

3Reliability

If files are stored in firmware volume, then dependency on mass storage is reduced, but access mechanism complexity increases

Engineering Contradiction:
Improvestorage independenceVSAvoidaccess mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The file access mechanism is extracted into a separate, modular file cross-reference table that can be independently managed. This extraction allows the core I/O library to remain simple while the complexity of firmware volume access is isolated in the cross-reference table structure, enabling storage independence without proportionally increasing overall system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11200203B1Accessing files stored in a firmware volume from a pre-boot application
Publication Date: 2021.12.14 AMERICAN MEGATRENDS
  • US11200203B1 patent drawing
  • US11200203B1 patent drawing
  • US11200203B1 patent drawing

AI summary

Standard I/O library functions for accessing files stored on mass storage devices are modified to enable access to files stored in firmware volumes. An application can be compiled against the modified standard I/O library functions to generate a pre-boot application. When the pre-boot application is executed within a pre-boot execution environment, it can utilize standard I/O library functions to access files stored in a firmware volume. In response to receiving a request to open a file from a pre-boot application, the called I/O function searches a file cross-reference table to locate the filename for the file. If the filename is in the file cross-reference table, the GUID associated with the filename is retrieved from the file cross-reference table and used to obtain a file handle to the file. The file handle can then be returned to the pre-boot application and used to perform other types of operations on the file.