Firmware Boot Tracing via Hash Digests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face challenges in debugging BIOS firmware during bootup without increasing downtime or inadvertently disclosing trade secrets, as existing methods either slow down the system or expose sensitive information.

Innovation Solution

The implementation generates and outputs hash digests of firmware modules during execution, which are compared to a mapping table to identify successful or malfunctioning modules, using a one-way hash to maintain code secrecy and rapid execution, and employs priority interrupts and timers to initiate trace data output for debugging without slowing the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Difficulty of detecting and measuring

If debugging information is output during BIOS bootup, then problem diagnosis capability is improved, but bootup time increases

Engineering Contradiction:
Improveproblem diagnosis capabilityVSAvoidbootup time
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of time

Solution Approach 1:

The patent extracts only the essential debugging information (hash digests and module identifiers) from the full BIOS execution trace, outputting only what is necessary for diagnosis while leaving the detailed internal workings hidden. This extraction approach provides sufficient diagnostic data without the overhead of comprehensive logging.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent pre-calculates and stores hash digests of BIOS modules during the build process, so that during bootup only the pre-computed hash needs to be generated and compared, rather than performing complex analysis in real-time. This preliminary preparation reduces the runtime overhead.

Inventive Principle:
Principle #10Preliminary action

2Difficulty of detecting and measuring

If BIOS modules are monitored and traced, then debugging capability is improved, but trade secret protection is compromised

Engineering Contradiction:
Improvedebugging capabilityVSAvoidtrade secret protection
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of information

Solution Approach 1:

The patent introduces hash digests as an intermediary representation of BIOS modules. Instead of outputting the actual module code or detailed execution traces, the system outputs cryptographic hash values that uniquely identify each module without revealing its contents. This intermediary layer provides diagnostic information while maintaining security.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates simplified copies of the BIOS modules in the form of hash digests for output purposes. These hash copies contain enough information to identify module status and version without containing the actual proprietary code or implementation details, thus providing diagnostic capability while protecting trade secrets.

Inventive Principle:
Principle #26Copying

3Measurement precision

If comprehensive trace data is collected during bootup, then debugging precision is improved, but system performance decreases

Engineering Contradiction:
Improvedebugging precisionVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements partial action by collecting only the specific trace data elements needed for debugging (module hash digests and identifiers) rather than comprehensive logging of all BIOS operations. This selective approach provides sufficient debugging precision without the performance penalty of exhaustive tracing.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10977158B1Firmware boot tracing
Publication Date: 2021.04.13 QUANTA COMPUTER INC
  • US10977158B1 patent drawing
  • US10977158B1 patent drawing
  • US10977158B1 patent drawing

AI summary

Firmware can be built to be capable of generating and outputting trace data, during execution, to assist in debugging firmware problems without substantially slowing operation of the firmware and without potentially disclosing secret information associated with the firmware. The firmware (e.g., BIOS) can output hash digests of various modules within the firmware, which can be compared with a pre-established mapping table to identify modules that successfully completed or did not successfully complete during execution of the firmware, such as during a startup procedure. The hash digest can be a one-way hash, which can be rapidly executable during operation of the firmware and can keep the code of the modules hidden from unauthorized reverse engineering.