FPGA-Based PCIe Hot-Plug Configuration Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing server and storage systems face challenges in maintaining high availability and reliability when hot-plugging PCIe cards, as configuration differences between the PCIe card and the bus can disrupt system operations, leading to potential errors and restarts.

Innovation Solution

Storing configuration information for PCIe cards in an FPGA that manages the PCIe bus and CPU, allowing for validation and training of new cards without system restarts by accessing and matching configuration information from the FPGA with the card's information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If PCIe cards are hot-plugged into the system, then system availability is improved, but configuration mismatches between the card and bus can cause errors and system restarts

Engineering Contradiction:
Improvesystem availabilityVSAvoidconfiguration errors
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent stores configuration information for PCIe cards in an FPGA before the cards are physically inserted into the system. When a card is hot-plugged, the system retrieves the pre-stored configuration information from the FPGA to validate and train the card, preventing configuration mismatches and errors that would otherwise cause system restarts.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If configuration information is stored and validated for each PCIe card, then system stability is improved, but the complexity of the hot-plugging process increases

Engineering Contradiction:
Improvesystem stabilityVSAvoidhot-plugging process complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent introduces an FPGA as an intermediary component that stores configuration information for PCIe cards. The FPGA acts as a mediator between the PCIe bus and the configuration data, automatically retrieving and providing the correct configuration information when cards are hot-plugged, thereby simplifying the overall process while maintaining system stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If PCIe cards are replaced without system shutdown, then productivity is improved, but configuration validation becomes more critical to prevent errors

Engineering Contradiction:
Improvecard replacement efficiencyVSAvoidconfiguration accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the system retrieves configuration information from the FPGA, validates it against the hot-plugged PCIe card, and uses this feedback to determine whether the card can be successfully integrated. This feedback loop ensures configuration accuracy while enabling rapid card replacement without system shutdown.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10223318B2Hot plugging peripheral connected interface express (PCIe) cards
Publication Date: 2019.03.05 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10223318B2 patent drawing
  • US10223318B2 patent drawing
  • US10223318B2 patent drawing

AI summary

Examples provided herein relate to hot plugging PCIe cards. For example, a field programmable gate array ("FPGA") communicably coupled to a PCIe bus may detect a new PCIe card physically connected to the PCIe bus. The FPGA may access configuration information stored by the FPGA that is associated with the PCIe bus. The FPGA may determine, based on the accessed configuration information, whether to facilitate connection of the new PCIe card to the PCIe bus. Responsive to determining that connection of the new PCIe card to the PCIe bus should be facilitated, the new PCIe card may be trained to communicate with the PCIe bus and an upstream device communicably coupled to the PCIe bus.