Data storage method and apparatus, and server
US-2021200681-A1 · Jul 1, 2021 · US
US12014173B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12014173-B2 |
| Application number | US-202218062874-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 7, 2022 |
| Priority date | Jun 9, 2020 |
| Publication date | Jun 18, 2024 |
| Grant date | Jun 18, 2024 |
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.
A data processing method for a network adapter includes the network adapter that obtains a first input/output (I/O) command. The first I/O command instructs to write data stored in a local server to at least one remote server, and the first I/O command includes address information and length information that are of the data and that are stored in the local server. The network adapter splits the data based on the address information and the length information to obtain a plurality of groups of address information and length information. The network adapter obtains, from the local server based on the groups of address information and length information, data corresponding to the groups of address information and length information, and sends the data to the at least one remote server.
Opening claim text (preview).
What is claimed is: 1. A method implemented by a network adapter, wherein the method comprises: obtaining a first input/output (I/O) command instructing to write first data stored in a local server to at least one remote server, wherein the first I/O command comprises address information of the first data and length information of the first data; splitting, based on the address information and the length information, the first data to obtain a plurality of groups of address information and length information; obtaining, from the local server and based on the groups of address information and length information, second data corresponding to the groups of address information and length information; and sending the second data to the at least one remote server. 2. The method of claim 1 , further comprising further obtaining, from a first virtual machine (VM) that is in the local server and that delivers the first I/O command and based on an identifier corresponding to the first VM, the second data. 3. The method of claim 1 , further comprising not storing the second data in a memory on the network adapter. 4. The method of claim 1 , further comprising: receiving a plurality of second I/O commands; and selecting, from the second I/O commands and based on a storage address at which the second I/O commands are stored in the remote server, the first I/O command. 5. The method of claim 4 , further comprising further selecting, by a hardware engine in the network adapter, the first I/O command from the second I/O commands. 6. The method of claim 1 , further comprising: determining, based on context information of the first I/O command, whether a plurality of pieces of the second data are all written to the at least one remote server, wherein the context information comprises a storage status of the pieces of the second data in the at least one remote server; and sending, to the local server through an interface, an I/O write complete message when the pieces of the second data are all written to the at least one remote server. 7. The method of claim 1 , further comprising: receiving a plurality of second I/O commands; and selecting, from the second I/O commands and based on a storage address at which the second I/O commands are stored in a virtual machine (VM) that is in the local server and that delivers the second I/O commands, the first I/O command. 8. The computer program product of claim 7 , wherein the instructions that when executed by the processor further cause the network adapter to: receive a plurality of second I/O commands; and select, from the second I/O commands and based on a storage address at which the second I/O commands are stored in the at least one server or a virtual machine (VM) that is in the local server and that delivers the second I/O commands, the first I/O command. 9. A network adapter comprising: a memory configured to store instructions; and a processor coupled to the memory and configured to execute the instructions to cause the network adapter to: obtain a first input/output (I/O) command instructing to write first data stored in a local server to at least one server, wherein the first I/O command comprises address information of the first data and length information of the first data; split, based on the address information and the length information, the first data to obtain a plurality of groups of address information and length information; obtain, from the local server based on the groups of address information and length information, second data corresponding to the groups of address information and length information; and send the second data to the at least one server. 10. The network adapter of claim 9 , wherein a memory on the network adapter does not store the second data. 11. The network adapter of claim 9 , wherein the processor is further configured to execute the instructions to cause the network adapter to further obtain, from a first virtual machine (VM) that is in the local server and that delivers the first I/O command and based on the groups of address information and length information and an identifier corresponding to the first VM, the second data. 12. The network adapter of claim 9 , wherein the processor is further configured to execute the instructions to cause the network adapter to: receive a plurality of second I/O commands; and select, from the second I/O commands and based on a storage address at which the second I/O commands are stored in the at least one server or a virtual machine (VM) that is in the local server and that delivers the second I/O commands, the first I/O command. 13. The network adapter of claim 12 , further comprising a hardware engine coupled to the processor, wherein the processor is further configured to execute the instructions to cause the network adapter to select, using the hardware engine, the first I/O command. 14. The network adapter of claim 9 , wherein the processor is further configured to execute the instructions to cause the network adapter to: determine, based on context information of the first I/O command, whether a plurality of pieces of the second data are all written to the at least one server, wherein the context information comprises a storage status of the pieces of the second data in the at least one server; and send, to the local server through an interface, an I/O write complete message when the pieces of the second data are all written to the at least one server. 15. The network adapter of claim 9 , wherein the processor is further configured to execute the instructions to cause the network adapter to: receive a plurality of second I/O commands; and select, from the second I/O commands and based on a storage address at which the second I/O commands are stored in a virtual machine (VM) that is in the local server and that delivers the second I/O commands, the first I/O command. 16. A computer program product comprising instructions that are stored on a non-transitory computer readable medium and that when executed by a processor, causes a network adapter to: obtain a first input/output (I/O) command instructing to write first data stored in a local server to at least one server, wherein the first I/O command comprises address information of the first data and length information of the first data; split, based on the address information and the length information, the first data to obtain a plurality of groups of address information and length information; obtain, from the local server based on the groups of address information and length information, second data corresponding to the groups of address information and length information; and send the second data to the at least one server. 17. The computer program product of claim 16 , wherein a memory on the network adapter does not store the second data. 18. The computer program product of claim 16 , wherein the instructions that when executed by the processor further cause the network adapter to further obtain, from a first virtual machine (VM) that is in the local server and that delivers the first I/O command and based on the groups of address information and length information and an identifier corresponding to the first VM, the second data. 19. The computer program product of claim 18 , wherein the instructions that when executed by the processor further cause the network adapter to select, using a hardware engine coupled to the processor, the first I/O command. 20. The computer program product of claim 18 , wherein the instr
Improving or facilitating administration, e.g. storage management · CPC title
with address mapping · CPC title
for dedicated transfers to a network (for protocol converters G06F13/387) · CPC title
In-line storage system · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.