Per-Processor Microcode Version Selection via BIOS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In information handling systems with multiple processors, existing microcode updates do not allow for selective loading of different microcode versions across processors, leading to performance degradation due to security fixes being applied universally, which may not be necessary for all workloads.

Innovation Solution

A BIOS system that enables users to select and load different microcode versions on each processor, allowing for customized microcode updates based on user preferences, with the option to choose between current and older versions depending on workload requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If microcode updates are applied universally to all processors, then security vulnerabilities are corrected, but processor performance decreases

Engineering Contradiction:
Improvesecurity vulnerability correctionVSAvoidprocessor performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables different microcode versions to be loaded on different processors within the same information handling system. This allows selective application of microcode updates - processors handling security-sensitive workloads receive updated microcode with security fixes, while processors handling performance-critical workloads can continue running on older microcode versions without performance degradation. The BIOS is modified to support per-processor microcode version selection based on workload characteristics.

Inventive Principle:
Principle #3Local quality

2Reliability

If latest microcode versions are loaded on all processors, then security is improved, but workload compatibility may be compromised

Engineering Contradiction:
ImprovesecurityVSAvoidworkload compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system allows different microcode versions to be assigned to different processors based on their specific workload requirements. Security-sensitive workloads can be assigned to processors running latest microcode versions, while legacy or performance-optimized workloads can run on processors with older microcode versions that have better compatibility. This per-processor customization resolves the conflict between security improvement and workload compatibility.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If microcode updates are integrated into BIOS update, then update management is simplified, but selective application to different processors is not possible

Engineering Contradiction:
Improveupdate managementVSAvoidselective microcode application
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the microcode update process from the BIOS update process. While the BIOS still receives updates through traditional channels, the system now maintains a repository of multiple microcode versions and allows selective loading of different versions on different processors. This segmentation enables both simplified BIOS update management and selective microcode application - the BIOS update mechanism remains simple, but the microcode application becomes flexible and adaptive to different processor workloads.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11023217B2Systems and methods for support of selective processor microcode updates
Publication Date: 2021.06.01 DELL PROD LP
  • US11023217B2 patent drawing
  • US11023217B2 patent drawing

AI summary

An information handling system may include a plurality of processors, a basic input/output system (BIOS) comprising a program of instructions executable by one or more of the plurality of processors configured to, when executed, cause the one or more of the plurality of processors, to initialize one or more information handling resources of the information handling system, wherein the BIOS is further configured to receive a user selection of respective microcode versions desired to be loaded on each of the plurality of processors and cause each of the plurality of processors to load a respective microcode version in accordance with the user selection such that the respective microcode version loaded by a first of the plurality of processors is different than the respective microcode version loaded by a second of the plurality of processors.