Parallel BIOS Integrity Check via Sub-Controller Digest Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing storage capacity of BIOS memory in information processing apparatuses leads to longer system startup times due to increased time required for integrity checking of the BIOS program.

Innovation Solution

Incorporating a sub-controller with a digest computation unit that computes a digest value of the BIOS program data in parallel to the main controller's processes, allowing for parallel execution and reduced startup time by determining the validity of the BIOS program efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the storage capacity of BIOS memory is increased to accommodate more functions, then the functionality of the information processing apparatus is improved, but the time required for integrity checking increases, leading to longer system startup time

Engineering Contradiction:
ImprovefunctionalityVSAvoidsystem startup time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The sub-controller computes the digest value of the BIOS program in advance during the power-on self-test phase, before the main controller needs to perform integrity checking. This preliminary computation allows the main controller to quickly verify BIOS integrity by comparing pre-computed digest values, significantly reducing the time required during system startup while maintaining the ability to check larger BIOS programs stored in expanded memory

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If the BIOS program size is increased to support more functions, then the system capabilities are improved, but the integrity checking process becomes longer, increasing startup time

Engineering Contradiction:
ImproveBIOS program sizeVSAvoidintegrity checking time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

A sub-controller is introduced as an intermediary component that performs the computationally intensive digest value calculation of the BIOS program. This sub-controller operates independently from the main controller, allowing it to compute digest values for larger BIOS programs without delaying the main system startup process. The main controller only needs to perform a quick comparison of the computed digest value with stored reference values

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the main controller performs integrity checking sequentially after BIOS execution, then the checking accuracy is maintained, but the system startup time increases

Engineering Contradiction:
Improveintegrity checking accuracyVSAvoidstartup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The digest value computation is performed in advance during the power-on self-test phase by the sub-controller, before the main controller begins its normal operations. This preliminary action ensures that when the main controller needs to verify BIOS integrity, the computationally heavy lifting has already been completed, allowing for quick verification while maintaining checking accuracy through proper comparison of digest values

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10997046B2Integrity check staging
Publication Date: 2021.05.04 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US10997046B2 patent drawing
  • US10997046B2 patent drawing
  • US10997046B2 patent drawing

AI summary

An information processing apparatus includes a BIOS storage unit that stores at least a Basic Input Output System (BIOS) program, a main controller that starts up an operating system by executing the BIOS program, and a sub-controller that manages peripheral apparatuses and accesses the BIOS storage unit, in which the sub-controller includes a digest computation unit that computes a digest value on the basis of BIOS program data stored in the BIOS storage unit in parallel to execution of a process in the main controller, and in which the main controller determines validity of the BIOS program on the basis of the digest value.