BIOS Engine Data Buffering for Initialization Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing information handling systems face significant delays during initialization due to the need for low-speed I/O access connections for collecting and transferring Vital Product Data (VPD) and other debug messages, which prolong the boot process and hinder efficient system startup.

Innovation Solution

Implementing a BIOS engine that retrieves device data via a low-speed I/O access connection, stores it in a BIOS memory system using a higher-speed connection, and provides the data to BIOS modules as needed, reducing the reliance on external memory access for debug-message-display-determination instructions and optimizing data retrieval from a BIOS ROM for faster initialization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the BIOS retrieves device data via low-speed I/O access connection during initialization, then the system can collect necessary device information, but the initialization time increases significantly

Engineering Contradiction:
Improvedevice data collectionVSAvoidinitialization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-fetching device data (such as VPD) from PCIe devices during system initialization and storing it in a high-speed memory buffer before the BIOS needs to access it. This allows the BIOS to retrieve data from the fast buffer during runtime without incurring the time penalty of low-speed I/O access, thus resolving the contradiction between complete device data collection and fast initialization.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If the BIOS executes debug-message-display-determination code from external memory system, then the BIOS can determine which debug messages to display, but the initialization process is delayed due to memory access requirements

Engineering Contradiction:
Improvedebug message controlVSAvoidinitialization delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent applies copying by creating a copy of the debug-message-display-determination code and placing it in a high-speed buffer memory that the BIOS can access rapidly during initialization. This eliminates the need for slow external memory system accesses when the BIOS needs to execute this code, thereby maintaining full debug message control capability while significantly reducing initialization delay.

Inventive Principle:
Principle #26Copying

3Loss of information

If multiple BIOS modules collect data via low-speed I/O access connection, then comprehensive device information is gathered, but the initialization time increases due to duplicative operations

Engineering Contradiction:
Improvedevice information completenessVSAvoidinitialization time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent applies merging by consolidating data collection operations into a unified process where device data is fetched once and stored in a shared high-speed buffer, which then serves multiple BIOS modules. This eliminates duplicative low-speed I/O access operations while ensuring all BIOS modules can access the complete device information they need, thus resolving the contradiction between information completeness and initialization speed.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11675680B2Computing system initialization system
Publication Date: 2023.06.13 DELL PROD LP
  • US11675680B2 patent drawing
  • US11675680B2 patent drawing
  • US11675680B2 patent drawing

AI summary

A computing system initialization system includes a BIOS processing system coupled to a computing device via a first I/O access connection, to a BIOS memory system via a second I/O access connection that is a relatively higher speed I/O access connection than the first I/O connection, and to a BIOS module. The BIOS processing system retrieves device data from the computing device via the first I/O access connection, stores the device data in the BIOS memory system via the second I/O access connection, and performs initialization operations subsequent to storing the device data in the BIOS memory system. During the initialization operations, the BIOS processing determines that the BIOS module requires the device data and, in response, retrieves the device data from the BIOS memory system via the second I/O access connection, and provides the device data that was retrieved from the BIOS memory system to the BIOS module.