Method and computer system to allocate actual memory area from storage pool to virtual volume
US-2015242134-A1 · Aug 27, 2015 · US
US11736565B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11736565-B2 |
| Application number | US-202117145321-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 9, 2021 |
| Priority date | Sep 28, 2020 |
| Publication date | Aug 22, 2023 |
| Grant date | Aug 22, 2023 |
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.
Some embodiments provide a method of providing distributed storage services to a host computer from a network interface card (MC) of the host computer. At the NIC, the method accesses a set of one or more external storages operating outside of the host computer through a shared port of the NIC. In some embodiments, the method accesses the external storage set by using a network fabric storage driver that employs a network fabric storage protocol to access the external storage set. The method presents the external storage as a local storage of the host computer to a set of programs executing on the host computer. In some embodiments, the method presents the local storage by using a storage emulation layer on the NIC to create a local storage construct that presents the set of external storages as a local storage of the host computer.
Opening claim text (preview).
We claim: 1. A non-transitory machine readable medium storing a program for emulating a local storage for a set of one or more processes executing on a host computer from a network interface card (NIC) of the host computer, the NIC comprising a processing unit and a hardware offload unit (HOU), the program for execution by the processing unit of the NIC, the program comprising sets of instructions for: accessing, through a network fabric storage driver, an external storage operating outside of the host computer; and using a module operating in a kernel space of the program to identify an HOU driver for processing commands received from the external storage through the network fabric storage driver, said HOU driver (i) using the HOU of the NIC to convert the received commands from a network fabric storage driver format to a local storage driver format, in order to reduce load on the processing unit of the NIC, and (ii) providing the received commands to a local bus of the host computer for passing to the set of processes of the host computer. 2. The non-transitory machine readable medium of claim 1 , wherein the program further comprises a set of instructions for using the kernel-space module to identify the network fabric storage driver to process commands that the HOU driver passes from the set of processes to the local storage, the HOU driver using the HOU to convert egress commands from the local storage driver format of the local storage to the network fabric storage driver format and providing the converted commands to the kernel-space module for passing to the network fabric storage driver. 3. The non-transitory machine readable medium of claim 2 , wherein the set of instructions for using the kernel-space module to identify the network fabric storage driver comprises a set of instructions to identify the network fabric storage driver from a plurality of network fabric storage drivers. 4. The non-transitory machine readable medium of claim 3 , wherein the plurality of network fabric storage drivers comprises an NVMe (non-volatile memory express) RDMA (remote direct memory access) driver and an NVMe TCP (transport control plane) driver. 5. The non-transitory machine readable medium of claim 2 , wherein the kernel-space module serves as a bridge between the HOU driver and a plurality of network fabric storage drivers. 6. The non-transitory machine readable medium of claim 1 , wherein the local bus is a PCIe (peripheral component interconnect express) and the local storage driver format is a PCIe format. 7. The non-transitory machine readable medium of claim 6 , wherein the local storage driver is an NVMe (non-volatile memory express) PCIe driver, and the emulated local storage is a emulated local NVMe-PCIe storage. 8. The non-transitory machine readable medium of claim 7 , wherein different NVMe-PCIe drivers are used to read from and to write to different external storages that are emulated, through the NIC, as different local NVMe-PCIe storages for the set of processes. 9. The non-transitory machine readable medium of claim 7 , wherein the host computer executes a multi-path module that identifies and uses a plurality of paths to access one external storage through a plurality of different NVMe-PCIe drivers of the host computer. 10. The non-transitory machine readable medium of claim 6 , wherein the host computer executes a virtual device emulation module that presents, as one local storage, a plurality of external storages that are accessed through a plurality of NVMe-PCIe drivers. 11. The non-transitory machine readable medium of claim 10 , wherein the host computer executes a distributed storage service module that performs distributed storage services that account for the set of processes lack of knowledge regarding plurality of external storages being used to emulate the local storage. 12. The non-transitory machine readable medium of claim 1 , wherein the HOU driver converts commands to emulate the external storage as a local virtual disk. 13. The non-transitory machine readable medium of claim 1 , wherein the set of processes comprise at least a set of processes of an operating system of the host computer or a set of processes of a hypervisor of the host computer. 14. The non-transitory machine readable medium of claim 1 , wherein the program is an operating system executing on the NIC or a hypervisor executing on the NIC. 15. A method for emulating a local storage for a set of one or more processes executing on a host computer from a network interface card (NIC) of the host computer, the NIC comprising a processing unit and a hardware offload unit (HOU), the method comprising: at a program executed by the processing unit of the NIC: accessing, through a network fabric storage driver, an external storage operating outside of the host computer; and using a module operating in a kernel space of the program to identify an HOU driver for processing commands received from the external storage through the network fabric storage driver, said HOU driver (i) using the HOU of the NIC to convert the received commands from a network fabric storage driver format to a local storage driver format, and (ii) providing the received commands to a local bus of the host computer for passing to the set of processes of the host computer. 16. The method of claim 15 further comprising using the kernel-space module to identify the network fabric storage driver to process commands that the HOU driver passes from the set of processes to the local storage, the HOU driver using the HOU to convert egress commands from the local storage driver format of the local storage to the network fabric storage driver format and providing the converted commands to the kernel-space module for passing to the network fabric storage driver. 17. The method of claim 16 , wherein using the kernel-space module to identify the network fabric storage driver comprises identifying the network fabric storage driver from a plurality of network fabric storage drivers. 18. The method of claim 17 , wherein the plurality of network fabric storage drivers comprises an NVMe (non-volatile memory express) RDMA (remote direct memory access) driver and an NVMe TCP (transport control plane) driver. 19. The method of claim 16 , wherein the kernel-space module serves as a bridge between the HOU driver and a plurality of network fabric storage drivers. 20. The method of claim 15 , wherein the local bus is a PCIe (peripheral component interconnect express) and the local storage driver format is a PCIe format.
Buffering arrangements · CPC title
Switch interfaces, e.g. port details · CPC title
Protocols for games, networked simulations or virtual reality · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.