PCIe Device Runtime Provisioning via Programmable Fabric
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Bare metal servers lack the ability to dynamically provision and remove PCIe devices and device types, which is essential for on-demand elastic scaling and is not supported by existing methods used in virtualized platforms, especially where virtualization software is disallowed.
Innovation Solution
A PCIe device Physical Function (PF) provisioning method that allows for runtime elastic scaling of exposed or hidden PFs and their device types, such as storage, networking, or accelerators, without using proprietary host software or system resets, utilizing a programmable fabric like a field-programmable gate array (FPGA) to manage PCIe devices dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtualization software is used to manage PCIe devices, then dynamic provisioning and removal of devices is enabled, but system complexity increases and security isolation weakens
Solution Approach 1:
The patent extracts the device provisioning functionality from the host system into a dedicated programmable fabric (FPGA). This separation allows dynamic device provisioning to be handled by the fabric without requiring full virtualization software on the host, thereby reducing system complexity while maintaining adaptability. The fabric acts as an independent intermediary that manages PCIe device exposure without involving the host's operating system or virtualization layer.
Solution Approach 2:
The programmable fabric serves as an intermediary between the PCIe switch and the host system. It mediates device provisioning requests by dynamically configuring PCIe functions and managing device exposure without requiring the host to run virtualization software. This intermediary approach enables dynamic provisioning while avoiding the complexity and security concerns associated with host-based virtualization.
2Adaptability or versatility
If host system reset is used to reconfigure PCIe devices, then device provisioning is achieved, but system availability decreases due to downtime
Solution Approach 1:
The patent implements dynamic device provisioning within the programmable fabric without requiring system reset. The fabric can reconfigure PCIe devices on-the-fly by modifying its internal configuration, allowing devices to be added or removed while the host system remains operational. This dynamic approach maintains system availability while enabling flexible device reconfiguration.
Solution Approach 2:
The programmable fabric pre-configures PCIe device functions and pathways before they are needed by the host. By having device provisioning capabilities ready and configured in advance within the fabric, the system can rapidly deploy or remove devices without requiring host system reset or downtime, thus maintaining continuous availability.
3Productivity
If proprietary host software is used for device provisioning, then runtime device scaling is enabled, but portability and ease of deployment are reduced
Solution Approach 1:
The programmable fabric performs device provisioning autonomously without requiring proprietary host software. The fabric's internal logic handles device configuration, exposure, and removal independently, allowing the system to scale devices at runtime using only standard PCIe interfaces and basic host drivers. This self-service approach eliminates the need for complex proprietary software while maintaining runtime scaling capabilities.
Solution Approach 2:
The patent implements a universal device provisioning mechanism in the programmable fabric that works with standard PCIe interfaces and generic host drivers. Rather than requiring proprietary software specific to each host system, the fabric provides multi-functional device management that is portable across different hardware platforms, simplifying deployment and improving ease of manufacture.
4Device complexity
If static device configuration is used in bare metal servers, then system simplicity is maintained, but adaptability to different workloads is limited
Solution Approach 1:
The patent segments the device configuration functionality into a separate programmable fabric module, independent of the host system's static configuration. This segmentation allows the fabric to dynamically adjust device provisioning based on workload requirements while the host system maintains its simple bare metal architecture. The separation enables adaptability without compromising system simplicity.
Solution Approach 2:
The programmable fabric introduces dynamic configuration capabilities into the otherwise static bare metal server architecture. The fabric can reconfigure PCIe devices in real-time based on workload demands, providing workload flexibility while the host system remains simple and unchanged. This dynamic layer adds adaptability without increasing the complexity of the core bare metal system.
Data Source
AI summary
Systems or methods of the present disclosure may provide a peripheral component interconnect express (PCIe) device that comprises a programmable fabric. The programmable fabric comprises multiple PCIe physical functions. The programmable fabric also includes switch circuitry having one or more embedded endpoints that dynamically hides or exposes one or more of the multiple PCIe physical functions from a bare metal mode host server without using a reset.


