Offload pipeline for data mirroring
US-10346337-B1 · Jul 9, 2019 · US
US2025013594A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2025013594-A1 |
| Application number | US-202418770598-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 11, 2024 |
| Priority date | Jun 29, 2019 |
| Publication date | Jan 9, 2025 |
| 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).
What is claimed is: 1 . A method for input/output (IO) request processing, wherein the method is used in an external device, the external device comprises at least one processor and a first hardware interface, the first hardware interface supports a high-speed serial computer extended bus standard peripheral component interconnect express (PCIe) protocol, the external device communicates with a physical host through the first hardware interface, and the method comprises: synchronizing, by the at least one 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 at least one 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 at least one 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, 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 at least one 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 at least one 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 at least one processor; wherein the synchronizing includes synchronizing, by the at least one 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 at least one 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 at least one 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 at least one processor, a quantity of IO requests processed by the first IO interface; and reloading, by the at least one 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 at least one processor, an IO response corresponding to one of the one or more IO requests; and storing, by the at least one 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 at least one processor, the IO response into the storage space of the virtual machine through the first hardware interface comprises: indicating, by the at least one 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 at least one 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 the one or more IO requests have been processed. 9 . An external device, wherein the external device comprises 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 supports a high-speed serial computer extended bus standard peripheral component interconnect express (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 . 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 at least one 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. 11 . 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. 12 . An external device, comprising: at least one processor, a first hardware interface, and at least one memory, wherein the at least one memory is coupled to the at least one processor and stores instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising: 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. 13 . The external device according to claim 12 , 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 I
Memory management, e.g. access or allocation · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title
using interrupt (G06F13/32 takes precedence) · 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.