Data storage method and network interface card

US10116746B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10116746-B2
Application numberUS-201615216477-A
CountryUS
Kind codeB2
Filing dateJul 21, 2016
Priority dateJun 20, 2014
Publication dateOct 30, 2018
Grant dateOct 30, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10116746B2 cover?
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 stor…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 30 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).