Large receive offload for virtual machines
US-2015261556-A1 · Sep 17, 2015 · US
US11593278B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11593278-B2 |
| Application number | US-202117145334-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 9, 2021 |
| Priority date | Sep 28, 2020 |
| Publication date | Feb 28, 2023 |
| Grant date | Feb 28, 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 (NIC) 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 that is not only used to access the set of external storages but also for forwarding packets not related to an external storage. 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 method for accessing an external storage that is not supported by an operating system (OS) of a host computer or an OS of a network interface card (NIC) of the host computer, the method comprising: deploying a machine to execute on the NIC over the OS of the NIC; deploying a third-party storage interface to execute on the machine; and configuring a driver executing on the NIC to direct a storage access command, which is received from a program executing on the host computer and is directed to the external storage, to the machine for the third-party storage interface to convert the storage access command from a first format that is not supported by the external storage to a second format that is supported by the external storage, said storage access command in the second format directed to the external storage through a port of the NIC. 2. The method of claim 1 , wherein the machine is a virtual machine executing over a hypervisor that executes on the NIC. 3. The method of claim 2 , wherein the hypervisor is the OS of the NIC. 4. The method of claim 1 , wherein the machine is a container. 5. The method of claim 1 , wherein the port is a shared port of the NIC that is also used for purposes other than accessing any external storage. 6. The method of claim 1 , wherein the driver is an NVMe (non-volatile memory express) driver and the storage access command is received at the NIC through a PCIe (peripheral component interconnect express) bus that connects the NIC to the host computer. 7. The method of claim 1 further comprising configuring the third-party storage interface to use a hardware offload unit (HOU) of the NIC to convert the storage access command. 8. The method of claim 1 , wherein the HOU converts the storage access command by removing header data associated with a bus connecting the NIC to the host computer. 9. The method of claim 1 further comprising configuring the third-party storage interface to convert the storage access command from the first format that is not supported by the external storage to the second format that is supported by the external storage. 10. The method of claim 9 further comprising configuring the third-party storage interface to convert a reply, from the external storage, to the storage access command from the second format to the first format. 11. A non-transitory machine readable medium storing sets of instructions for accessing an external storage that is not supported by an operating system (OS) of a host computer or an (OS) of a network interface card (NIC) of the host computer, the sets of instructions for execution by at least one processing unit of the NIC, the sets of instructions for: deploying a machine to execute over the OS of the NIC; deploying a third-party storage interface to execute on the machine; and configuring a driver executing on the NIC to direct a storage access command to the external storage to the machine for the third-party storage interface to convert the storage access command from a first format that is not supported by the external storage to a second format that is supported by the external storage, said storage access command in the second format directed to the external storage through a port of the NIC. 12. The non-transitory machine readable medium of claim 11 , wherein the machine is a virtual machine executing over a hypervisor that executes on the NIC. 13. The non-transitory machine readable medium of claim 12 , wherein the hypervisor is the OS of the NIC. 14. The non-transitory machine readable medium of claim 11 , wherein the machine is a container. 15. The non-transitory machine readable medium of claim 11 , wherein the port is a shared port of the NIC that is also used for purposes other than accessing any external storage. 16. The non-transitory machine readable medium of claim 11 , wherein the driver is an NVMe (non-volatile memory express) driver and the storage access command is received at the NIC through a PCIe (peripheral component interconnect express) bus that connects the NIC to the host computer. 17. The non-transitory machine readable medium of claim 11 , wherein the sets of instructions are further for configuring the third-party storage interface to use a hardware offload unit (HOU) of the NIC to convert the storage access command. 18. The non-transitory machine readable medium of claim 11 , wherein the HOU converts the storage access command by removing header data associated with a bus connecting the NIC to the host computer. 19. The non-transitory machine readable medium of claim 11 , wherein the sets of instructions are further for configuring the third-party storage interface to convert the storage access command from the first format that is not supported by the external storage to the second format that is supported by the external storage. 20. The non-transitory machine readable medium of claim 19 , wherein the sets of instructions are further for configuring the third-party storage interface to convert a reply, from the external storage, to the storage access command from the second format to the first format.
Hypervisor-specific management and integration aspects · CPC title
where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52) · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.