PCIe Virtual Device Runtime Reconfiguration via Simulated Bus Reset

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current PCIe compliant systems lack the ability to dynamically reconfigure virtual devices at runtime without rebooting the server, limiting flexibility and causing downtime, especially in environments requiring zero downtime or rapid repurposing of servers.

Innovation Solution

The method involves a simulated secondary bus reset mechanism, where a PCIe compliant virtual device is reconfigured by issuing a simulated secondary bus reset, allowing changes to device attributes and configurations without rebooting the server, using a VIC adapter and driver software to manage the reconfiguration process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a traditional PCIe system is used, then system stability is maintained, but the ability to dynamically reconfigure virtual devices at runtime is lost, causing server downtime

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

Solution Approach 1:

The patent changes the state parameters of PCIe virtual devices by issuing simulated secondary bus resets, allowing configuration parameters to be modified at runtime without physical device changes or server reboots, thus achieving dynamic reconfiguration while maintaining system availability

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary mechanism that traps simulated secondary bus reset signals and intercepts configuration space reads/writes, acting as a mediator between the PCIe system and virtual devices to enable runtime reconfiguration without disrupting system operation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the server is rebooted to reconfigure virtual devices, then complete reconfiguration is achieved, but service downtime increases

Engineering Contradiction:
Improvereconfiguration easeVSAvoidserver downtime
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by trapping the simulated secondary bus reset signal and preparing the configuration space before actually reconfiguring the virtual device, allowing the reconfiguration to proceed smoothly without requiring server reboot and minimizing service interruption

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuity of useful action by enabling configuration changes to take effect immediately during runtime without interrupting server operation, allowing the system to continue providing services while virtual devices are being reconfigured

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If virtual device configuration is changed at runtime, then flexibility is improved, but PCIe topology consistency may be compromised

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidPCIe topology stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent implements feedback mechanisms where configuration space reads are intercepted and validated, ensuring that any configuration changes maintain PCIe topology consistency and that the reconfigured virtual devices remain properly integrated into the system architecture

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10333865B2Transformation of peripheral component interconnect express compliant virtual devices in a network environment
Publication Date: 2019.06.25 CISCO TECHNOLOGY INC
  • US10333865B2 patent drawing
  • US10333865B2 patent drawing
  • US10333865B2 patent drawing

AI summary

An example method for transformation of Peripheral Component Interconnect Express (PCIe) compliant virtual devices in a server in a network environment is provided and includes receiving, during runtime of the server, a request to change a first configuration of a PCIe compliant virtual device to a different second configuration, identifying a bridge on a PCIe topology below which the virtual device is located, issuing a simulated secondary bus reset to the bridge, the virtual device being reconfigured according to the change in configuration after the simulated secondary bus reset is issued, re-enumerating below the bridge after the change in configuration completes without rebooting the server, and updating the PCI topology with the virtual device in the second configuration. A virtual interface card adapter traps the simulated secondary bus reset, removes the virtual device from the PCI topology, and reconfigures the virtual device from the first configuration to the second configuration.