Pre-BIOS Component Boot Time Measurement in Data Processing Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data processing systems cannot accurately measure the total boot time as they fail to track the time spent initializing pre-BIOS components before launching the BIOS, leading to incomplete boot time reporting.
Innovation Solution
The system measures and reports the time spent initializing pre-BIOS components by using pre-BIOS blocks to execute firmware, track the initialization time, and save these measurements in a telemetry area, allowing for the calculation of pre-BIOS boot time, which is then combined with BIOS boot time to provide a total boot time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional data processing systems track only BIOS boot time, then the tracking mechanism remains simple, but the boot time measurement is incomplete and inaccurate
Solution Approach 1:
The patent segments the boot process into two distinct phases: pre-BIOS initialization phase and BIOS execution phase. Each phase is measured separately using dedicated counters (pre-BIOS counter and BIOS counter), allowing accurate tracking of each segment's time consumption while maintaining manageable complexity through modular measurement approach
Solution Approach 2:
The patent implements preliminary action by starting the pre-BIOS counter before the BIOS is launched and stopping it when the BIOS begins execution. This preliminary timing action captures the initialization phase duration accurately, enabling complete boot time measurement without requiring complex post-processing
2Loss of information
If the system tracks pre-BIOS initialization time, then total boot time becomes accurate, but the measurement and reporting mechanism becomes more complex
Solution Approach 1:
The patent introduces an intermediary mechanism (the uncore and its counters) that mediates between the pre-BIOS components and the BIOS. This intermediary captures timing information from the pre-BIOS phase and transfers it to the BIOS phase, ensuring no information loss while keeping the complexity isolated to the intermediary layer
Solution Approach 2:
The uncore component serves multiple functions: it acts as a bridge between pre-BIOS and BIOS phases, maintains timing counters, stores telemetry data, and facilitates information transfer. This multi-functionality reduces overall system complexity by consolidating measurement responsibilities in a single universal component
Data Source
AI summary
A data processing system comprises a processing core to execute a basic input/output system (BIOS) as part of a boot process. The data processing system also comprises static random-access memory (SRAM) in communication with the processing core. The data processing system also comprises a pre-BIOS component in communication with the SRAM. The pre-BIOS component is configured to execute a pre-BIOS block before the processing core begins executing the BIOS. The pre-BIOS block, when executed by the pre-BIOS component, causes the pre-BIOS component to (a) initialize the pre-BIOS component, (b) measure an amount of time taken to initialize the pre-BIOS component, and (c) save the measured amount of time to the SRAM as a pre-BIOS boot-time record. Other embodiments are described and claimed.


