Methods and apparatus to process commands from virtual machines
US-2020174819-A1 · Jun 4, 2020 · US
US2022121607A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2022121607-A1 |
| Application number | US-202117564064-A |
| Country | US |
| Kind code | A1 |
| Filing date | Dec 28, 2021 |
| Priority date | Jun 29, 2019 |
| Publication date | Apr 21, 2022 |
| Grant date | — |
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.
This application provides an IO request processing method, used in an external device. The external device includes a processor and a first hardware interface, and the first hardware interface is an interface that supports a PCIe protocol. The external device communicates with a physical host through the first hardware interface. The method includes: The processor synchronizes, through the first hardware interface, queue information in storage space of a virtual machine running on the physical host to storage space of the external device, where the queue information includes one or more input/output IO requests; and the processor sends the one or more IO requests to a storage server or a network server for processing. According to this application, all hardware resources of the physical host can be used to provide virtual machine services for users, thereby improving utilization of hardware resources of the physical host.
Opening claim text (preview).
1 . An input/output (IO) request processing method, wherein the method is used in an external device, the external device comprises a processor and a first hardware interface, the first hardware interface is an interface that supports a high-speed serial computer extended bus standard PCIe protocol, the external device communicates with a physical host through the first hardware interface, and the method comprises: synchronizing, by the processor through the first hardware interface, queue information in storage space of a virtual machine running on the physical host to storage space of the external device, wherein the queue information comprises one or more IO requests sent by the virtual machine; and sending, by the processor, the one or more IO requests to a storage server or a network server for processing. 2 . The method according to claim 1 , wherein the method further comprises: receiving, by the processor, a configuration message, wherein the configuration message is used to indicate to configure a protocol type of a first IO interface of the external device to a first IO protocol, a plurality of the first IO interface is run on the first hardware interface, the first IO interface is a virtual interface of the first hardware interface, the first IO interface corresponds to the virtual machine and is adapted to process the one or more IO requests sent by the virtual machine to the first IO interface, and at least one of a data type or a data size of the one or more IO requests in the storage space of the virtual machine is associated with the first IO protocol; and configuring, by the processor, the protocol type of the first IO interface to the first IO protocol based on the configuration message. 3 . The method according to claim 1 , wherein before the synchronizing, by the processor through the first hardware interface, queue information in storage space of a virtual machine running on the physical host to storage space of the external device, the method further comprises: receiving, by the first hardware interface, a PCIe message sent by the physical host, wherein the PCIe message is used to indicate to the external device that there is a to-be-processed IO request; and sending, by the first hardware interface, an interrupt request to the processor; wherein the synchronizing includes synchronizing, by the processor through the first hardware interface, the queue information in the storage space of the virtual machine to the storage space of the external device based on the interrupt request. 4 . The method according to claim 1 , wherein the synchronizing, by the processor through the first hardware interface, queue information in storage space of a virtual machine running on the physical host to storage space of the external device comprises: indicating, by the processor by using a direct memory access (DMA) technology, the first hardware interface to synchronize the queue information in the storage space of the virtual machine to the storage space of the external device. 5 . The method according to claim 2 , wherein the method further comprises: storing, by the processor, a quantity of IO requests processed by the first IO interface; and reloading, by the processor, the first IO protocol when the quantity of IO requests is 0. 6 . The method according to claim 1 , wherein the method further comprises: obtaining, from the storage server or the network server by the processor, an IO response corresponding to the IO request; and storing, by the processor, the IO response into the storage space of the virtual machine through the first hardware interface. 7 . The method according to claim 6 , wherein the storing, by the processor, the IO response into the storage space of the virtual machine through the first hardware interface comprises: indicating, by the processor by using a direct memory access (DMA) technology, the first hardware interface to store the IO response into the storage space of the virtual machine. 8 . The method according to claim 6 , wherein the method further comprises: storing, by the processor through the first hardware interface, IO responses corresponding to a plurality of the one or more IO requests into the storage space of the virtual machine, and sending a notification message to the physical host through the first hardware interface, wherein the notification message is used to notify the physical host that the plurality of IO requests have been processed. 9 . An external device, wherein the external device comprises an a receiver, a transmitter, and a first interface, wherein the first interface is adapted to communicate with a physical host, and the first interface is an interface module that supports a high-speed serial computer extended bus standard PCIe protocol; the receiver is adapted to synchronize, through the first interface, queue information in storage space of a virtual machine running on the physical host to storage space of the external device, wherein the queue information comprises one or more input/output (IO) requests sent by the virtual machine; and the transmitter is adapted to send the one or more IO requests to a storage server or a network server for processing. 10 . (canceled) 11 . The external device according to claim 9 , wherein the first interface is further adapted to: receive a PCIe message sent by the physical host, wherein the PCIe message is used to indicate to the external device that there is a to-be-processed IO request; and send an interrupt request to a processor in the external device based on the PCIe message; and the receiver is adapted to: synchronize, through the first interface, the queue information in the storage space of the virtual machine to the storage space of the external device based on the interrupt request. 12 . The external device according to claim 9 , wherein the receiver is adapted to: indicate, by using a direct memory access (DMA) technology, the first interface to synchronize the queue information in the storage space of the virtual machine to the storage space of the external device. 13 . (canceled) 14 . (canceled) 15 . (canceled) 16 . (canceled) 17 . An external device, comprising: at least one processor, a first hardware interface, and memory, wherein the memory is coupled to the processor and stores instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: synchronizing, through the first hardware interface, queue information in storage space of a virtual machine running on a physical host to storage space of the external device, wherein the queue information comprises one or more input/output (IO) requests sent by the virtual machine; and sending the one or more IO requests to a storage server or a network server for processing. 18 . The external device according to claim 17 , wherein the at least one processor is adapted to: receive a configuration message, wherein the configuration message is used to indicate to configure a protocol type of a first IO interface of the external device to a first IO protocol, a plurality of the first IO interface is run on the first hardware interface, the first IO interface is a virtual interface of the first hardware interface, the first IO interface corresponds to the virtual machine and is adapted to process the one or more IO requests sent by the virtual machine to the first IO interface, and at least one of a data type or a data size of the one or more IO requests in the storage space of the virtual
Hypervisor-specific management and integration aspects · CPC title
Memory management, e.g. access or allocation · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
using interrupt (G06F13/32 takes precedence) · CPC title
using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.