System and method for virtualizing hot-swappable PCIe devices for virtual machines
AssigneeEMC IP Holding Company LLC
InventorsBradley K. Goodman, Thomas N. Dibb
Life of this patent
Estimating the term…
Abstract
A method, computer program product, and computing system for establishing a connection between a virtualization device and a virtual machine infrastructure. The virtualization device may be configured to be communicatively coupled to one or more PCIe devices. A virtual machine may be executed on the virtual machine infrastructure. Control of the virtualization device may be passed through the virtual machine infrastructure to the virtual machine.
Claims14
A computer-implemented method, executed on a computing device, comprising:
- establishing, via the computing device, a connection between a virtualization device and a virtual machine infrastructure, wherein the virtualization device is configured to be communicatively coupled to one or more Peripheral Component Interconnect Express (PCIe) devices and wherein the virtualization device is configured to abstract the one or more PCIe devices, communicatively coupled to the virtualization device, from the virtual machine infrastructure to prevent the one or more PCIe devices from being claimed and operated from the virtual machine infrastructure;
- executing a virtual machine on the virtual machine infrastructure;
- passing control of the virtualization device through the virtual machine infrastructure to the virtual machine,
- wherein passing control of the virtualization device through the virtual machine infrastructure to the virtual machine includes:
- preventing an error from the one or more PCIe devices communicatively coupled to the virtualization device from being received by the virtual machine infrastructure, and
- enabling the virtual machine to access the one or more PCIe devices communicatively coupled to the virtualization device by configuring, via the virtual machine, the configuration of the one or more PCIe devices directly from the virtual machine;
- and
- modifying the configuration of the one or more PCIe devices communicatively coupled to the virtualization device during runtime of the virtual machine without restarting the virtual machine.
A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
- establishing, via the computing device, a connection between a virtualization device and a virtual machine infrastructure, wherein the virtualization device is configured to be communicatively coupled to one or more PCIe devices and wherein the virtualization device is configured to abstract the one or more PCIe devices, communicatively coupled to the virtualization device, from the virtual machine infrastructure to prevent the one or more PCIe devices from being claimed and operated from the virtual machine infrastructure;
- executing a virtual machine on the virtual machine infrastructure;
- passing control of the virtualization device through the virtual machine infrastructure to the virtual machine,
- wherein passing control of the virtualization device through the virtual machine infrastructure to the virtual machine includes:
- preventing an error from the one or more PCIe devices communicatively coupled to the virtualization device from being received by the virtual machine infrastructure, and
- enabling the virtual machine to access the one or more PCIe devices communicatively coupled to the virtualization device by configuring, via the virtual machine, the configuration of the one or more PCIe devices directly from the virtual machine;
- and
- modifying the configuration of the one or more PCIe devices communicatively coupled to the virtualization device during runtime of the virtual machine without restarting the virtual machine.
A computing system including a processor and memory configured to perform operations comprising:
- establishing, via the computing device, a connection between a virtualization device and a virtual machine infrastructure, wherein the virtualization device is configured to be communicatively coupled to one or more PCIe devices and wherein the virtualization device is configured to abstract the one or more PCIe devices communicatively coupled to the virtualization device, from the virtual machine infrastructure to prevent the one or more PCIe devices from being claimed and operated from the virtual machine infrastructure;
- executing a virtual machine on the virtual machine infrastructure;
- passing control of the virtualization device through the virtual machine infrastructure to the virtual machine,
- wherein passing control of the virtualization device through the virtual machine infrastructure to the virtual machine includes:
- preventing an error from the one or more PCIe devices communicatively coupled to the virtualization device from being received by the virtual machine infrastructure, and
- enabling the virtual machine to access the one or more PCIe devices communicatively coupled to the virtualization device by configuring, via the virtual machine, the configuration of the one or more PCIe devices directly from the virtual machine;
- and
- modifying the configuration of the one or more PCIe devices communicatively coupled to the virtualization device during runtime of the virtual machine without restarting the virtual machine.
Dependencies are inferred from the claim text.