PCIe Device Runtime Provisioning via Programmable Fabric

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedynamic provisioning capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedevice reconfiguration capabilityVSAvoidsystem availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If proprietary host software is used for device provisioning, then runtime device scaling is enabled, but portability and ease of deployment are reduced

Engineering Contradiction:
Improveruntime device scalingVSAvoiddeployment simplicity
Core Design Contradiction:
ProductivityVSEase of manufacture

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Device complexity

If static device configuration is used in bare metal servers, then system simplicity is maintained, but adaptability to different workloads is limited

Engineering Contradiction:
Improvesystem simplicityVSAvoidworkload flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20220156211A1Dynamic provisioning of pcie devices at run time for bare metal servers
Publication Date: 2022.05.19 ALTERA CORP
  • US20220156211A1 patent drawing
  • US20220156211A1 patent drawing
  • US20220156211A1 patent drawing

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.