BIOS Boot Latency via Security Co-Processor Driver

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The latency associated with booting a computing device due to waiting for responses from security co-processors, such as TPMs, is significant and contradicts standards requiring quick boot times and minimal downtime.

Innovation Solution

A computing device architecture that allows the BIOS to continue initializing other components while waiting for responses from the security co-processor by using a security co-processor driver module to manage communication and a timer module to establish periodic interrupts, enabling the system to check for response readiness and proceed with other initialization tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the BIOS waits for responses from the security co-processor before continuing initialization, then security co-processor commands are executed correctly, but boot time increases significantly

Engineering Contradiction:
Improvesecurity co-processor command executionVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The BIOS submits security co-processor commands to a command list in advance and continues initialization without waiting for responses. The responses are retrieved later through periodic interrupts, allowing the BIOS to perform preliminary actions (submitting commands) without blocking subsequent operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A command list structure serves as an intermediary between the BIOS and security co-processor. The BIOS interacts with the command list rather than directly waiting for the co-processor, allowing asynchronous operation where commands are queued and responses are collected at convenient intervals.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If the BIOS continuously polls the security co-processor for responses, then response availability is quickly detected, but system performance decreases due to frequent interruptions

Engineering Contradiction:
Improveresponse detection timeVSAvoidinitialization speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

Instead of continuous polling, the system uses periodic interrupts at defined intervals to check for security co-processor responses. This periodic approach balances timely response detection with reduced system overhead, allowing initialization to proceed efficiently without constant interruptions.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP2973139B1Security co-processor boot performance
Publication Date: 2020.04.22 INTEL CORP
  • EP2973139B1 patent drawingFigure 1~2
  • EP2973139B1 patent drawingFigure 3
  • EP2973139B1 patent drawingFigure 4

AI summary

Technologies for improving platform initialization on a computing device include beginning initialization of a platform of the computing device using a basic input/output system (BIOS) of the computing device. A security co-processor driver module adds a security co-processor command to a command list when a security processor command is received from the BIOS module. The computing device establishes a periodic interrupt of the initialization of the platform to query the security co-processor regarding the availability of a response to a previously submitted security co-processor command, forward any responses received by the security co-processor driver module to the BIOS module, and submit the next security co-processor command in the command list to the security co-processor.