Input/output acceleration in virtualized information handling systems

US9626324B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9626324-B2
Application numberUS-201414326122-A
CountryUS
Kind codeB2
Filing dateJul 8, 2014
Priority dateJul 8, 2014
Publication dateApr 18, 2017
Grant dateApr 18, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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 tr

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title

  • using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus · CPC title

  • Configuring for operating with peripheral devices; Loading of device drivers · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9626324B2 cover?
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 …
Who is the assignee on this patent?
Chawla Gaurav, Hormuth Robert Wayne, Molloy Michael Karl, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).