Access to storage resources using a virtual storage appliance
US-9405566-B2 · Aug 2, 2016 · US
US10078454B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10078454-B2 |
| Application number | US-201615183107-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 15, 2016 |
| Priority date | May 24, 2013 |
| Publication date | Sep 18, 2018 |
| Grant date | Sep 18, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods and systems for improved access to storage resources include installing a virtual storage appliance as a virtual machine on a hypervisor. The virtual storage appliance installs itself as a virtual PCI-E device and communicates with guest operating systems of the hypervisor using direct memory access via a PCI-E non-transparent bridge. The storage virtual appliance provides access to local and external storage resources with very high performance to applications running under the guest operating system, thereby overcoming performance barriers associated with native hypervisor driver models.
Opening claim text (preview).
What is claimed is: 1. A method executed by at least one processor comprising: requesting access to storage resources by an application executing on an operating system; routing the request for access to a storage virtual appliance using a storage virtual appliance block device driver; opening a logical connection between the storage resources and the operating system using a Peripheral Component Interconnect Express (PCI-E) non-transparent bridge (NTB); and enabling data to be transferred between the operating system and the storage resources using direct memory access (DMA) over the logical connection, wherein the storage virtual appliance has access to a first port of the PCI-E non-transparent bridge and the storage virtual appliance block device driver has access to a second port of the PCI-E non-transparent bridge. 2. The method of claim 1 , wherein the storage virtual appliance is a virtual PCI-E device in a system address space of a hypervisor. 3. The method of claim 1 , wherein the operating system executes on a multiprocessor system, and wherein the PCI-E non-transparent bridge spans across at least two processors in the multiprocessor system. 4. The method of claim 1 , further comprising: discovering, at the storage virtual appliance block device driver, the storage resources enabled for access by the storage virtual appliance, and reporting the storage resources to the operating system. 5. The method of claim 1 , wherein the step of requesting access to storage resources further comprises a plurality of operating systems executing as respective virtual machines under a hypervisor requesting access to storage resources, and the step of enabling data to be transferred further comprises enabling data to be transferred between the plurality of operating systems and the storage resources. 6. The method of claim 1 , wherein the storage resources comprise at least one of: a cache network shared among a plurality of multiprocessor servers; a storage area network; a flash memory solid state device; and an array of storage devices. 7. An article of manufacture comprising a non-transitory computer-readable medium storing instructions, that, when executed by a processor subsystem, cause the processor subsystem to: request access to storage resources using an application on an operating system; route the request for access to a storage virtual appliance using a storage virtual appliance block device driver; open a logical connection between the storage resources and the operating system using a Peripheral Component Interconnect Express (PCI-E) non-transparent bridge (NTB); and enable data to be transferred between the operating system and the storage resources using direct memory access (DMA) over the logical connection, wherein the storage virtual appliance has access to a first port of the PCI-E non-transparent bridge and the storage virtual appliance block device driver has access to a second port of the PCI-E non-transparent bridge. 8. The article of manufacture in claim 7 , wherein the storage virtual appliance is a virtual PCI-E device in a system address space of a hypervisor. 9. The article of manufacture in claim 7 , wherein the operating system executes on a plurality of processors and the PCI-E non-transparent bridge spans across at least two processors in the plurality of processors. 10. The article of manufacture in claim 7 , wherein the non-transitory computer-readable medium further stores instructions that cause the processor subsystem to: discover, at the storage virtual appliance device driver, the storage resources enabled for access by the storage virtual appliance; and report the storage resources to the operating system. 11. The article of manufacture in claim 7 , wherein the instructions that cause the processor subsystem to request access to storage resources further causes the processor subsystem to request access to the storage resources for a plurality of operating systems executing as respective virtual machines under a hypervisor, and wherein the instructions that cause the processor subsystem to enable data to be transferred further causes the processor subsystem to enable data to be transferred between the plurality of operating systems and the storage resources. 12. The article of manufacture in claim 7 , wherein the storage resources comprise at least one of: a cache network shared among a plurality of multiprocessor servers; a storage area network; a flash memory solid state device (SSD); and an array of storage devices. 13. The article of manufacture in claim 7 , wherein the storage resources comprise a cache network shared among a plurality of multiprocessor servers, wherein the cache network is accessed using at least one of: a flash memory solid state device (SSD); remote direct memory access (RDMA); an internet small computer system interface (iSCSI); a fibre channel (FC); and an ethernet. 14. An information handling system comprising: a processor subsystem having access to a memory subsystem, wherein the memory subsystem stores instructions executable by the processor subsystem, that, when executed by the processor subsystem, cause the processor subsystem to: request access to storage resources using an application on an operating system; route the request for access to a storage virtual appliance using a storage virtual appliance block device driver; open a logical connection between the storage resources and the operating system using a Peripheral Component Interconnect Express (PCI-E) non-transparent bridge (NTB); and enable data to be transferred between the operating system and the storage resources using direct memory access (DMA) over the logical connection, wherein the storage virtual appliance has access to a first port of the PCI-E non-transparent bridge and the storage virtual appliance block device driver has access to a second port of the PCI-E non-transparent bridge. 15. The information handling system of claim 14 , wherein the storage virtual appliance is a virtual PCI-E device in a system address space of a hypervisor. 16. The information handling system of claim 14 , wherein the operating system executes on a plurality of processors and the PCI-E non-transparent bridge spans across at least two processors in the plurality of processors. 17. The information handling system of claim 14 , wherein the memory subsystem further stores instructions that cause the processor subsystem to: discover, at the storage virtual appliance device driver, the storage resources enabled for access by the storage virtual appliance; and report the storage resources to the operating system. 18. The information handling system of claim 14 , wherein the instructions that cause the processor subsystem to request access to storage resources further causes the processor subsystem to request access to the storage resources for a plurality of operating systems executing as respective virtual machines under a hypervisor, and wherein the instructions that cause the processor subsystem to enable data to be transferred further causes the processor subsystem to enable data to be transferred between the plurality of operating systems and the storage resources. 19. The information handling system of claim 14 , wherein the storage resources comprise at least one of: a cache network shared among a plurality of multiprocessor servers; a storage area network; a flash memory solid state device (SSD); and an array of storage devices. 20. The information h
in relation to response time · CPC title
on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247) · CPC title
Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity · CPC title
at area level, e.g. provisioning of virtual or logical volumes · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.