IP Library Granted Patent US 12,008,391
Granted Patent B2
US 12,008,391 · App. 17/330,000 · Granted Jun 11, 2024

System and method for virtualizing hot-swappable PCIe devices for virtual machines

Inventors: Bradley K. Goodman (Nashua, NH); Thomas N. Dibb (Rutland, MA)
Assignee: EMC IP Holding Company, LLC
G06F9/45558G06F13/4022G06F13/4081G06F2009/45595G06F2213/0026G06F2213/0058G06F2213/3808
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,008,391
App. No.
17/330,000
Granted
Jun 11, 2024
Kind
B2
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.

Claims (35)

1. 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.

2. The computer-implemented method of claim 1 , wherein the virtual machine is configured to operate when no PCIe devices are communicatively coupled to the virtualization device.

3. The computer implemented method of claim 1 , wherein modifying the configuration of the one or more PCIe devices communicatively coupled to the virtualization device during runtime of the virtual machine includes adding at least one PCIe device during runtime of the virtual machine.

4. The computer implemented method of claim 1 , wherein modifying the configuration of the one or more PCIe devices communicatively coupled to the virtualization device during runtime of the virtual machine includes removing at least one PCIe device during runtime of the virtual machine.

5. The computer implemented method of claim 1 , wherein passing control of the virtualization device through the virtual machine infrastructure to the virtual machine includes preventing the one or more PCIe devices communicatively coupled to the virtualization device from being accessible to the virtual machine infrastructure.

6. The computer implemented method of claim 1 , wherein a number of PCIe devices communicatively coupled to the virtualization device is greater than a virtual machine infrastructure-imposed limit on a number of pass through devices associated with the virtual machine infrastructure.

7. 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.

8. The computer program product of claim 7 , wherein the virtual machine is configured to operate when no PCIe devices are communicatively coupled to the virtualization device.

9. The computer program product of claim 7 , wherein modifying the configuration of the one or more PCIe devices communicatively coupled to the virtualization device during runtime of the virtual machine includes adding at least one PCIe device during runtime of the virtual machine.

10. The computer program product of claim 7 , wherein modifying the configuration of the one or more PCIe devices communicatively coupled to the virtualization device during runtime of the virtual machine includes removing at least one PCIe device during runtime of the virtual machine.

11. The computer program product of claim 7 , 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.

12. The computer program product of claim 7 , wherein a number of PCIe devices communicatively coupled to the virtualization device is greater than a virtual machine infrastructure-imposed limit on a number of pass through devices associated with the virtual machine infrastructure.

13. 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.

14. The computing system of claim 13 , wherein the virtual machine is configured to operate when no PCIe devices are communicatively coupled to the virtualization device.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
Continuity (2)
Continuation 16263121 · Jan 31, 2019
Related Publication 20210279092A1 · Sep 9, 2021