Dynamic PCIe Hot-Plug Configuration via OS Register Records

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for configuring Peripheral Component Interconnect Express (PCIe) devices that are hot-plugged into information handling systems do not support platform-specific changes to PCIe configuration space registers, particularly for settings like completion timeout values, as they rely on static Hot Plug Parameter Extensions (_HPX) methods that only cover registers defined in PCIe specification version 1.1, not supporting newer or platform-specific additions.

Innovation Solution

An Information Handling System (IHS) with a processing system and memory that includes instructions to detect hot-plugged PCIe devices, use PCIe setting records to determine register locations and values, and write changes to PCIe configuration space registers, enabling dynamic configuration of PCIe devices by the operating system, even for registers not predefined in earlier specifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the existing static _HPX method is used to configure PCIe devices, then the configuration process is simple and straightforward, but it cannot support platform-specific changes to PCIe configuration space registers added after version 1.1

Engineering Contradiction:
Improvesupport for platform-specific PCIe registersVSAvoidconfiguration system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent transforms the static _HPX method into a dynamic configuration system where the operating system can adaptively configure PCIe devices based on platform-specific requirements. The system dynamically determines register locations and values during device hot-plug events, allowing flexibility to support both legacy and newer PCIe registers without being constrained by pre-defined static configurations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces new parameters including register location information, AND masks, OR masks, and default values that enable flexible modification of PCIe configuration space registers. These parameter changes allow the system to support platform-specific registers added after PCIe specification version 1.1 while maintaining compatibility with existing devices.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If platform firmware configures PCIe devices during boot, then all PCIe configuration space registers can be properly initialized, but hot-plugged PCIe devices cannot receive platform-specific configuration changes

Engineering Contradiction:
ImprovePCIe device configuration reliabilityVSAvoidhot-plug operation capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent prepares PCIe setting records with register location information, AND masks, OR masks, and default values in advance during system initialization. When a PCIe device is hot-plugged, the operating system retrieves these pre-prepared settings and applies them immediately, ensuring that hot-plugged devices receive proper platform-specific configuration without requiring system reboot or firmware intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces PCIe setting records as an intermediary data structure that bridges the gap between platform firmware requirements and operating system configuration capabilities. These records contain all necessary information (register locations, masks, default values) to enable the operating system to perform platform-specific configuration of hot-plugged PCIe devices, eliminating the need for firmware involvement during hot-plug events.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If the OS attempts to configure PCIe devices independently, then hot-plug operations are supported, but platform-specific register settings cannot be applied

Engineering Contradiction:
Improvehot-plug device supportVSAvoidplatform-specific configuration accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the operating system uses AND masks to preserve existing register values and OR masks to apply platform-specific settings. This feedback approach allows the OS to independently configure hot-plugged PCIe devices while ensuring that platform-specific requirements are met by comparing current register values against the desired configuration and applying only the necessary changes.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11341076B2Hot-plugged PCIe device configuration system
Publication Date: 2022.05.24 DELL PROD LP
  • US11341076B2 patent drawing
  • US11341076B2 patent drawing
  • US11341076B2 patent drawing

AI summary

A hot-plugged PCIe device configuration system includes a PCIe device with a PCIe configuration space having PCIe configuration space registers. A computing system includes a PCIe connector and a PCIe setting record database storing a first PCIe setting record having a first register write location value and first register value information. The computing system detects that the PCIe device has been hot-plugged into the PCIe connector, and uses the first register write location value in the first PCIe setting record to determine a location in the PCIe configuration space that provides a first PCIe configuration space register. The computing system then uses the first register value information in the first PCIe setting record to determine at least one register value change for the first PCIe configuration register, and writes the at least one register value change to the first PCIe configuration space register using the location.