IP Library Granted Patent US 9,626,324
Granted Patent B2
US 9,626,324 · App. 14/326,122 · Granted Apr 18, 2017

Input/output acceleration in virtualized information handling systems

Inventors: Gaurav Chawla (Austin, TX); Robert Wayne Hormuth (Cedar Park, TX); Michael Karl Molloy (Round Rock, TX); Shyam T. Iyer (Austin, TX)
Assignee: Dell Products L.P.
G06F13/4027G06F9/45558G06F13/102G06F13/28G06F13/4221G06F9/4411G06F13/4022G06F2009/45579
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,626,324
App. No.
14/326,122
Granted
Apr 18, 2017
Kind
B2
Abstract

Methods and systems for I/O acceleration on a virtualized information handling system include loading a storage virtual appliance as a virtual machine on a hypervisor. The hypervisor may execute using a first processor and a second processor. The storage virtual appliance is accessed by the hypervisor using a PCI-E device driver that is mapped to a first PCI-E NTB logical endpoint at the first processor. A second PCI-E device driver may be loaded on the storage virtual appliance that accesses the hypervisor and is mapped to a second PCI-E NTB logical endpoint at the second processor. A data transfer operation may be executed between a first memory space that is mapped to the first PCI-E NTB logical endpoint and a second memory space that is mapped to the second PCI-E NTB logical endpoint. The data transfer operation may be a read or a write operation.

Claims (55)

1. A method executed using at least two processors, including a first processor and a second processor, the method comprising:

loading a storage virtual appliance as a virtual machine on a hypervisor executing using the first processor and the second processor, wherein the storage virtual appliance is accessed by the hypervisor using a second Peripheral Component Interconnect Express (PCI-E) device driver that is mapped to a PCI-E non-transparent bridge (NTB) at a second PCI-E NTB logical endpoint at the second processor;

loading a first PCI-E device driver on the storage virtual appliance that accesses the hypervisor and is mapped to the PCI-E NTB at a first PCI-E NTB logical endpoint at the first processor;

loading a first storage driver on the storage virtual appliance that accesses a first central processing unit (CPU) direct memory access (DMA) of the first processor for a first DMA data transfer operation of a plurality of first CPU DMA data transfer operations; and

executing the first DMA data transfer operation between a first memory space that is mapped to the first PCI-E NTB logical endpoint and a second memory space that is mapped to the second PCI-E NTB logical endpoint,

wherein the hypervisor executes in the second memory space,

wherein the storage virtual appliance executes in the first memory space, and

wherein the PCI-E NTB provides address translation between the first memory space and the second memory space.

2. The method of claim 1 , wherein the first DMA data transfer operation is initiated from one of: the first memory space and the second memory space.

3. The method of claim 1 , further comprising:

loading a second storage driver on the hypervisor that accesses a second central processing unit (CPU) direct memory access (DMA) of the second processor for a second DMA data transfer operation of a plurality of second CPU DMA data transfer operations; and

executing the second DMA data transfer operation between the first memory space and the second memory space.

4. The method of claim 3 , wherein the first DMA data transfer operation occurs from the first memory space to the second memory space.

5. The method of claim 3 , wherein the first DMA data transfer operation occurs from the second memory space to the first memory space.

6. The method of claim 1 , wherein the first DMA data transfer operation includes a programmed input/output (PIO).

7. The method of claim 1 , wherein the first processor is associated with a first physical memory bank and the second processor is associated with a second physical memory bank;

wherein loading the storage virtual appliance includes specifying the first processor for the first CPU DMA data transfer operations; and

wherein the first PCI-E NTB logical endpoint is exclusively mapped to the first physical memory bank.

8. An article of manufacture comprising a non-transitory computer-readable medium storing instructions, that, when executed by at least two processors, including a first processor and a second processor, cause the two processors to:

load a storage virtual appliance as a virtual machine on a hypervisor executing using the first processor and the second processor, wherein the storage virtual appliance is accessed by the hypervisor using a second Peripheral Component Interconnect Express (PCI-E) device driver that is mapped to a PCI-E non-transparent bridge (NTB) at a second PCI-E NTB logical endpoint at the second processor;

load a first PCI-E device driver on the storage virtual appliance that accesses the hypervisor and is mapped to the PCI-E NTB at a first PCI-E NTB logical endpoint at the first processor;

load a first storage driver on the storage virtual appliance that accesses a first central processing unit (CPU) direct memory access (DMA) of the first processor for a first DMA data transfer operation of a plurality of first CPU DMA data transfer operations; and

execute the first DMA data transfer operation between a first memory space that is mapped to the first PCI-E NTB logical endpoint and a second memory space that is mapped to the second PCI-E NTB logical endpoint,

wherein the hypervisor executes in the second memory space,

wherein the storage virtual appliance executes in the first memory space, and

wherein the PCI-E NTB provides address translation between the first memory space and the second memory space.

9. The article of manufacture of claim 8 , wherein the first DMA data transfer operation is initiated from one of: the first memory space and the second memory space.

10. The article of manufacture of claim 8 , further comprising:

load a second storage driver on the hypervisor that accesses a second central processing unit (CPU) direct memory access (DMA) of the second processor for a second DMA data transfer operation of a plurality of second CPU DMA data transfer operations; and

execute the second DMA data transfer operation between the first memory space and the second memory space.

11. The article of manufacture of claim 10 , wherein the first DMA data transfer operation occurs from the first memory space to the second memory space.

12. The article of manufacture of claim 10 , wherein the first DMA data transfer operation occurs from the second memory space to the first memory space.

13. The article of manufacture of claim 8 , wherein the first DMA data transfer operation includes a programmed input/output (PIO).

14. The article of manufacture of claim 8 , wherein the first processor is associated with a first physical memory bank and the second processor is associated with a second physical memory bank;

wherein loading the storage virtual appliance includes specifying the first processor for the first CPU DMA data transfer operations; and

wherein the first PCI-E NTB logical endpoint is exclusively mapped to the first physical memory bank.

15. An information handling system comprising:

a processor subsystem having access to a memory subsystem, the processor subsystem including a first processor and a second processor, wherein the memory subsystem stores instructions executable by the processor subsystem, that, when executed by the processor subsystem, cause the processor subsystem to:

load a storage virtual appliance as a virtual machine on a hypervisor executing using the first processor and the second processor, wherein the storage virtual appliance is accessed by the hypervisor using a second Peripheral Component Interconnect Express (PCI-E) device driver that is mapped to a PCI-E non-transparent bridge (NTB) at a second PCI-E NTB logical endpoint at the first second processor;

load a first PCI-E device driver on the storage virtual appliance that accesses the hypervisor and is mapped to the PCI-E NTB at a first PCI-E NTB logical endpoint at the first processor;

load a first storage driver on the storage virtual appliance that accesses a first central processing unit (CPU) direct memory access (DMA) of the first processor for a first DMA data transfer operation of a plurality of first CPU DMA data transfer operations; and

execute the first DMA data transfer operation between a first memory space that is mapped to the first PCI-E NTB logical endpoint and a second memory space that is mapped to the second PCI-E NTB logical endpoint,

wherein the hypervisor executes in the second memory space,

wherein the storage virtual appliance executes in the first memory space, and

wherein the PCI-E NTB provides address translation between the first memory space and the second memory space.

16. The information handling system of claim 15 , wherein the first DMA data transfer operation is initiated from one of: the first memory space and the second memory space.

17. The information handling system of claim 15 , further comprising:

load a second storage driver on the hypervisor that accesses a second central processing unit (CPU) direct memory access (DMA) of the second processor for a second DMA data transfer operation of a plurality of second CPU DMA data transfer operations; and

execute the second DMA data transfer operation between the first memory space and the second memory space.

18. The information handling system of claim 17 , wherein the first DMA data transfer operation occurs from the first memory space to the second memory space.

19. The information handling system of claim 17 , wherein the first DMA data transfer operation occurs from the second memory space to the first memory space.

20. The information handling system of claim 15 , wherein the first DMA data transfer operation includes a programmed input/output (PIO).

21. The information handling system of claim 15 , wherein the first processor is associated with a first physical memory bank and the second processor is associated with a second physical memory bank;

wherein loading the storage virtual appliance includes specifying the first processor for the first CPU DMA data transfer operations; and

wherein the first PCI-E NTB logical endpoint is exclusively mapped to the first physical memory bank.

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 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 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 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 (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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2014
From: CHAWLA, GAURAV; HORMUTH, ROBERT WAYNE; MOLLOY, MICHAEL KARL; IYER, SHYAM T.
To: DELL PRODUCTS L.P.
Reel/Frame 033264/0305 →
Continuity (1)
Related Publication 20160012003A1 · Jan 14, 2016