IP Library Granted Patent US 9,262,197
Granted Patent B2
US 9,262,197 · App. 14/333,343 · Granted Feb 16, 2016

System and method for input/output acceleration device having storage virtual appliance (SVA) using root of PCI-E endpoint

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 9,262,197
App. No.
14/333,343
Granted
Feb 16, 2016
Kind
B2
Abstract

Methods and systems for I/O acceleration using an I/O accelerator device on a virtualized information handling system include pre-boot configuration of first and second device endpoints that appear as independent devices. After loading a storage virtual appliance that has exclusive access to the second device endpoint, a hypervisor may detect and load drivers for the first device endpoint. The storage virtual appliance may then initiate data transfer I/O operations using the I/O accelerator device. The data transfer operations may be read or write operations to a storage device that the storage virtual appliance provides access to. The I/O accelerator device may use direct memory access (DMA).

Claims (62)

1. A method for accelerating data transfer operations, the method comprising:

prior to booting a hypervisor on a processor subsystem having a root complex, configuring a first Peripheral Component Interconnect Express (PCI-E) endpoint and a second PCI-E endpoint associated with an accelerator device, wherein the accelerator device is a physical PCI-E device exclusively accessible to the processor subsystem;

booting the hypervisor using the processor subsystem;

loading a storage virtual appliance (SVA) as a virtual machine on the hypervisor, wherein the hypervisor assigns the second PCI-E endpoint for exclusive access by the SVA using a second root port of the root complex;

activating the first PCI-E endpoint by the SVA using a first root port of the root complex via the second PCI-E endpoint;

responsive to activating the first PCI-E endpoint, loading a hypervisor device driver for the first PCI-E endpoint, wherein the first PCI-E endpoint appears to the hypervisor as a logical hardware adapter accessible via the hypervisor device driver; and

initiating, by the SVA, a data transfer operation between the first PCI-E endpoint and the second PCI-E endpoint.

2. The method of claim 1 , wherein the data transfer operation is between a first virtual machine and a second virtual machine executing on the hypervisor.

3. The method of claim 2 , wherein the first PCI-E endpoint is associated with a first address space for the first virtual machine and the second PCI-E endpoint is associated with a second address space for the second virtual machine, wherein the accelerator device performs address translation transactions between the first address space and a physical memory address space and between the second address space and the physical memory address space.

4. The method of claim 3 , wherein the accelerator device performs address translation caching for the address translation transactions, wherein the address translation caching is performed before the data transfer operation is initiated.

5. The method of claim 1 , wherein the data transfer operation includes a direct memory access (DMA) operation performed by the accelerator device, and wherein initiating the data transfer operation includes:

causing, by the SVA, DMA parameters for the DMA operation to be sent the accelerator device.

6. The method of claim 1 , wherein the data transfer operation includes a programmed input/output (PIO) operation performed by the accelerator device.

7. The method of claim 1 , further comprising, by the SVA via the second PCI-E endpoint:

when the data transfer operation is in progress, terminating the data transfer operation;

deactivating the first PCI-E endpoint;

programming, on the accelerator device, a first personality profile for the first PCI-E endpoint and a second personality profile for the second PCI-E endpoint, wherein a personality profile includes configuration information for a PCI-E endpoint;

restarting the second PCI-E endpoint; and

responsive to restarting the second PCI-E endpoint, restarting the first PCI-E endpoint.

8. The method of claim 1 , wherein the data transfer operation includes data processing operations performed by the accelerator device, wherein the data processing operations are selected from:

encryption;

compression;

checksum; and

malicious code detection.

9. The method of claim 1 , wherein the SVA uses the second PCI-E endpoint to access a private device on the accelerator device, the private device selected from:

a memory device;

a network interface adapter;

a storage adapter; and

a storage device.

10. The method of claim 2 , wherein the SVA programs the accelerator device to generate interrupts associated with the data transfer operation.

11. An information handling system, comprising:

an accelerator device that is a physical Peripheral Component Interconnect Express (PCI-E) device;

a processor subsystem having access to a memory subsystem and having exclusive access to the accelerator device, wherein the memory subsystem stores instructions executable by the processor subsystem for accelerating data transfer operations on a hypervisor using the accelerator device, the instructions, when executed by the processor subsystem, cause the processor subsystem to:

prior to executing instructions to boot the hypervisor, configure a first PCI-E endpoint and a second PCI-E endpoint associated with the accelerator device;

boot the hypervisor using the processor subsystem;

load a storage virtual appliance (SVA) as a virtual machine on the hypervisor, wherein the hypervisor assigns the second PCI-E endpoint for exclusive access by the SVA;

activate the first PCI-E endpoint by the SVA via the second PCI-E endpoint;

responsive to the instructions to activate the first PCI-E endpoint, load a hypervisor device driver for the first PCI-E endpoint, wherein the first PCI-E endpoint appears to the hypervisor as a logical hardware adapter accessible via the hypervisor device driver; and

initiate, by the SVA, a data transfer operation between the first PCI-E endpoint and the second PCI-E endpoint.

12. The information handling system of claim 11 , wherein the data transfer operation is between a first virtual machine and a second virtual machine executing on the hypervisor.

13. The information handling system of claim 12 , wherein the first PCI-E endpoint is associated with a first address space for the first virtual machine and the second PCI-E endpoint is associated with a second address space for the second virtual machine, wherein the accelerator device performs address translation transactions between the first address space and a physical memory address space and between the second address space and the physical memory address space.

14. The information handling system of claim 13 , wherein the accelerator device performs address translation caching for the address translation transactions, wherein the address translation caching is performed before the data transfer operation is initiated.

15. The information handling system of claim 11 , wherein the data transfer operation includes a direct memory access (DMA) operation performed by the accelerator device, and wherein the instructions to initiate the data transfer operation include instructions to:

cause, by the SVA, DMA parameters for the DMA operation to be sent the accelerator device.

16. The information handling system of claim 11 , wherein the data transfer operation includes a programmed input/output (PIO) operation performed by the accelerator device.

17. The information handling system of claim 11 , further comprising instructions executed by the SVA via the second PCI-E endpoint to:

when the data transfer operation is in progress, terminate the data transfer operation;

deactivate the first PCI-E endpoint;

program, on the accelerator device, a first personality profile for the first PCI-E endpoint and a second personality profile for the second PCI-E endpoint, wherein a personality profile includes configuration information for a PCI-E endpoint;

restart the second PCI-E endpoint; and

responsive to the instructions to restart the second PCI-E endpoint, restart the first PCI-E endpoint.

18. The information handling system of claim 11 , wherein the data transfer operation includes data processing operations performed by the accelerator device, wherein the data processing operations are selected from:

encryption;

compression;

checksum; and

malicious code detection.

19. The information handling system of claim 11 , wherein the SVA uses the second PCI-E endpoint to access a private device on the accelerator device, the private device selected from:

a memory device;

a network interface adapter;

a storage adapter; and

a storage device.

20. The information handling system of claim 12 , wherein the SVA programs the accelerator device to generate interrupts associated with the data transfer operation.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF REEL 033625 FRAME 0748 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0050 →
RELEASE OF REEL 033625 FRAME 0688 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0757 →
RELEASE OF REEL 033625 FRAME 0711 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040016/0903 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033625/0748 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 033625/0688 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033625/0711 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2014
From: CHAWLA, GAURAV; HORMUTH, ROBERT WAYNE; IYER, SHYAMKUMAR T.; KIM, DUK M.; MAK, NELSON
To: DELL PRODUCTS L.P.
Reel/Frame 033328/0115 →