Virtual Hot Plug Controller for PCIe Integrated Endpoints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional PCIe hot plug mechanisms are limited by the need for physical switches and on-site actions, which are not feasible in modern datacenter environments where adaptability and remote configuration are required, especially with the increasing capabilities of FPGAs that host multiple Physical Functions.
Innovation Solution
A virtual hot plug controller manages a pool of Physical Functions in a PCIe integrated endpoint, allowing for remote configuration and dynamic allocation without a physical switch, by adding or removing virtual endpoints on a virtual downstream port and initiating PCIe interrupts to inform the host of topology changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a physical PCIe switch is used to support hot plug functionality, then hot add and hot remove capabilities are provided, but device complexity and cost increase
Solution Approach 1:
The patent creates a virtual copy of the PCIe switch functionality through software/firmware in the PCIe integrated endpoint system. The virtual hot plug controller emulates the hot plug mechanism, allowing multiple virtual downstream ports to be created without physical hardware. This copying approach provides the same hot plug capabilities while eliminating the need for expensive physical switches.
Solution Approach 2:
The patent replaces the mechanical/physical PCIe switch system with a virtual/software-based system. Instead of using physical cables, slots, and switch hardware, the invention uses virtual endpoints and software-controlled connectivity management. This substitution eliminates mechanical complexity while maintaining hot plug functionality through virtual device creation and destruction.
2Adaptability or versatility
If a physical PCIe switch with hot plug mechanism is deployed, then device connectivity is enabled, but on-site physical action is required which is not feasible for remote data centers
Solution Approach 1:
The PCIe integrated endpoint system performs hot plug operations autonomously through software control. The system can self-manage the creation and destruction of virtual downstream ports and virtual endpoints without requiring external physical intervention. This self-service capability enables remote configuration where the system automatically responds to hot plug events based on software logic rather than requiring on-site manual cable manipulation.
3Productivity
If FPGAs host multiple Physical Functions, then resource consolidation is achieved, but dynamic allocation of individual Physical Functions becomes difficult with conventional hot plug mechanisms
Solution Approach 1:
The patent segments the consolidated Physical Functions into individually manageable virtual endpoints. Each Physical Function can be dynamically assigned to or removed from specific virtual downstream ports through software control. This segmentation allows the system to maintain resource consolidation benefits while providing fine-grained dynamic allocation of individual Physical Functions to different virtual devices as needed.
Solution Approach 2:
The patent implements dynamic allocation by making the assignment of Physical Functions to virtual endpoints flexible and changeable at runtime. The virtual hot plug controller can dynamically create, modify, and destroy virtual downstream ports and their associated Physical Functions based on changing requirements. This dynamic approach contrasts with static conventional hot plug mechanisms and enables adaptive resource allocation in virtualized environments.
Data Source
AI summary
A method for managing a pool of physical functions in a PCIe integrated endpoint includes receiving a configuration instruction indicating a topology for a PCIe connected integrated endpoint (IE), and implementing the topology on the IE. The method further includes receiving a hot plug instruction, and, based at least in part, on the hot plug instruction, adding or removing a virtual endpoint (vEP) to or from a virtual downstream port (vDSP) on the IE.


