Fetching Query Results Through Cloud Object Stores
US-2024394271-A1 · Nov 28, 2024 · US
US10116746B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10116746-B2 |
| Application number | US-201615216477-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 21, 2016 |
| Priority date | Jun 20, 2014 |
| Publication date | Oct 30, 2018 |
| Grant date | Oct 30, 2018 |
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 storage method and a network interface card, where in this solution, buffered unsolicited data is written, in a direct memory access (DMA) manner, into storage space that corresponds to a destination address corresponding to the unsolicited data, and a rate of writing data in the DMA manner is higher than a rate of writing data in a copying manner. Therefore, time required in a data storage process is shortened and a storage efficiency is improved. In addition, because a write operation is performed by hardware of the network interface card, consumption of central processing unit (CPU) resources is reduced, which further reduces impact on processing rates of other application programs.
Opening claim text (preview).
What is claimed is: 1. A data storage method, comprising: acquiring, by a network interface card, unsolicited data; buffering, in a direct memory access (DMA) manner, the unsolicited data into a double data rate (DDR) synchronous dynamic random access memory (SDRAM) of the network interface card, the unsolicited data being to-be-stored data, for which a corresponding destination address is not acquired, among data received by the network interface card; acquiring, by the network interface card, a destination address corresponding to the unsolicited data; and writing, in the DMA manner, the unsolicited data into storage space that corresponds to the destination address corresponding to the unsolicited data. 2. The method of claim 1 , wherein the unsolicited data is data carried in a write data command received from a client. 3. The method of claim 1 , wherein the unsolicited data is data carried in an unsolicited DATA_OUT message received from a client, the unsolicited DATA_OUT message is a message received by the network interface card after receiving a write data command from the client and before sending a ready to transfer (R2T) command to the client. 4. A data storage method, comprising: acquiring, by a network interface card, unsolicited data; buffering the unsolicited data into a buffer space of the network interface card, the unsolicited data is to-be-stored data, for which a corresponding destination address is not acquired, among data received by the network interface card; acquiring, by the network interface card, a destination address corresponding to the unsolicited data; acquiring, by the network interface card, a data integrity field (DIF) calculation rule corresponding to the unsolicited data; calculating, by the network interface card using the DIF calculation rule, a DIF value corresponding to the unsolicited data; determining, by the network interface card, that the DIF value obtained through calculation is equal to a preset DIF value corresponding to the unsolicited data; and writing, in a direct memory access (DMA) manner, the unsolicited data into storage space that corresponds to the destination address corresponding to the unsolicited data. 5. The method of claim 1 , wherein after writing the unsolicited data into the storage space that corresponds to the destination address corresponding to the unsolicited data, the method further comprises: determining, by the network interface card when there is to-be-stored data not written into the storage space, a size of the storage space corresponding to a destination address of the to-be-stored data; adding, by the network interface card, the size of the storage space to a ready to transfer (R2T) command; sending the R2T command to a client; receiving, by the network interface card, to-be-stored data that is returned by the client according to the R2T command; and writing, by the network interface card, the to-be-stored data into the storage space corresponding to the destination address of the to-be-stored data. 6. A network interface card, comprising: a communications interface; a memory configured to store program code; a communications bus coupled to the communications interface, and the memory; and a processor coupled to the communications bus and configured to execute the program code to: acquire unsolicited data and a destination address corresponding to the unsolicited data, the unsolicited data being to-be-stored data for which the destination address is not acquired; buffer, in a direct memory access (DMA) manner, the unsolicited data into a double data rate (DDR) synchronous dynamic random access memory (SDRAM) of the network interface card; and write, in the DMA manner, the unsolicited data into storage space that corresponds to the destination address corresponding to the unsolicited data. 7. The network interface card of claim 6 , wherein the unsolicited data is data carried in a write data command received from a client. 8. The network interface card of claim 6 , wherein the unsolicited data is data carried in an unsolicited DATA_OUT message received from a client, the unsolicited DATA_OUT message is a message that is received by the processor after receiving a write data command from the client and before sending a ready to transfer (R2T) command to the client. 9. The network interface card of claim 6 , wherein the processor is further configured to: acquire a data integrity field (DIF) calculation rule corresponding to the unsolicited data; calculate, using the DIF calculation rule, a DIF value corresponding to the unsolicited data; and determine that the DIF value obtained through calculation is equal to a preset DIF value corresponding to the unsolicited data. 10. The network interface card of claim 6 , wherein the processor is further configured to: determine a size of the storage space corresponding to a destination address of the to-be-stored data when there is to-be-stored data not written into the storage space; add the size of the storage space to a ready to transfer (R2T) command; send the R2T command to a client; receive to-be-stored data that is returned by the client according to the R2T command; and write the to be-stored data into the storage space corresponding to the destination address of the to-be-stored data. 11. The method of claim 4 , wherein buffering, by the network interface card, the unsolicited data into the buffer space of the network interface card further comprises buffering, by the network interface card and in the DMA manner, the unsolicited data into space of a double data rate (DDR) synchronous dynamic random access memory (SDRAM) of the network interface card. 12. The method of claim 4 , wherein the unsolicited data is data carried in a write data command received from a client. 13. The method of claim 4 , wherein the unsolicited data is data carried in an unsolicited DATA_OUT message received from a client, the unsolicited DATA_OUT message is a message received by the network interface card after receiving a write data command from the client and before sending a ready to transfer (R2T) command to the client. 14. The method of claim 4 , wherein after writing the unsolicited data into the storage space that corresponds to the destination address corresponding to the unsolicited data, the method further comprises: determining, by the network interface card when there is to-be-stored data not written into the storage space, a size of the storage space corresponding to a destination address of the to-be-stored data; adding, by the network interface card, the size of the storage space to a ready to transfer (R2T) command; sending the R2T command to a client; receiving, by the network interface card, to-be-stored data that is returned by the client according to the R2T command; and writing, by the network interface card, the to-be-stored data into the storage space corresponding to the destination address of the to-be-stored data.
Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] · CPC title
Electricity · mapped topic
using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title
for dedicated transfers to a network (for protocol converters G06F13/387) · 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
Related publications grouped by family.
Answers are generated from the same data shown on this page.