Patentable/Patents/US-10936405
US-10936405

Efficient networking for a distributed storage system

PublishedMarch 2, 2021
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A plurality of computing devices are communicatively coupled to each other via a network, and each of the plurality of computing devices is operably coupled to one or more of a plurality of storage devices. Data communication is made more efficient by removing the need to copy data in the networking stack, using hardware accelerated end-to-end checksum calculation, and supporting transmission formatting of data and header for special cases.

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A system for networking, comprising: a memory management unit configured to enable writing data and its header to a physical memory page, wherein the data in the physical memory page is a data block and the header in the physical memory page is a header block; a processor configured to generate and store a particular value as a header checksum seed in a header checksum field in the header block, wherein the particular value is generated such that a header checksum calculated according to the particular value is equal to zero; and a network adaptor configured to transmit the header block and the data block.

2

2. The system of claim 1 , wherein the network adaptor is configured to calculate a data checksum for the data block.

3

3. The system of claim 1 , wherein the processor is configured to generate the particular value while the header checksum seed is set to a pre-determined number.

4

4. The system of claim 1 , wherein: the processor is configured to use a partial checksum to generate the header checksum, the partial checksum being a checksum for baseline header fields, and the baseline header fields being pre-determined header fields in the header block that are not expected to change from a transmission of a first data block to a transmission of a second data block.

5

5. The system of claim 4 , wherein the processor is configured to generate a new partial checksum when one or more of the baseline header fields have changed for the second data block compared to the first data block.

6

6. The system of claim 4 , wherein the processor generates the header checksum by adding the partial checksum to a checksum of non-baseline header fields, the non-baseline header fields being one or more of the header fields in the header block that are not baseline header fields.

7

7. The system of claim 1 , wherein, if a number of bytes in the header block not used for storing the header is greater than a first pre-determined threshold, the processor is configured to set up a special frame for transmission prior to transmission of the data block.

8

8. The system of claim 7 , wherein the processor is configured to use an additional special frame when a number of data blocks to be transmitted is greater than a second pre-determined threshold.

9

9. The system of claim 7 , wherein the processor is configured to: copy a first number of bytes at a beginning of the data block to the special frame, the first number of bytes being the number of bytes in the header; and copy the header to the beginning of the data block.

10

10. The system of claim 1 , wherein the network adaptor is configured to: transmit inbound traffic directly to a child partition; and receive outbound traffic directly from the child partition, wherein the child partition is executing on the processor.

11

11. A method for networking, comprising: writing data and a header for the data to a physical memory page, wherein the data in the physical memory page is a data block and the header in the physical memory page is a header block; writing a particular value as a header checksum seed value in a header checksum field wherein the particular value is generated such that a header checksum calculated according to the particular value is equal to zero; and transmitting the header block and the data block.

12

12. The method of claim 11 , comprising using a network adaptor to calculate a data checksum for the data block.

13

13. The method of claim 11 , comprising generating the particular value while the header checksum seed is set to a pre-determined number.

14

14. The method of claim 11 , comprising using a partial checksum to generate the header checksum, wherein: the partial checksum is a checksum for baseline header fields, and the baseline header fields are pre-determined header fields in the header block that are not expected to change from a transmission of a first data block to a transmission of a second data block.

15

15. The method of claim 14 , comprising generating a new partial checksum when one or more of the baseline header fields have changed for the second data block compared to the first data block.

16

16. The method of claim 14 , wherein the header checksum is generated by adding the partial checksum to a checksum of non-baseline header fields, the non-baseline header fields being one or more of the header fields in the header block that are not baseline header fields.

17

17. The method of claim 11 , comprising, if a number of bytes in the header block not used for storing the header is greater than a first pre-determined threshold, transmitting a special frame prior to transmitting the data block.

18

18. The method of claim 17 , wherein an additional special frame is used when a number of data blocks to be transmitted is greater than a second pre-determined threshold.

19

19. The method of claim 17 , comprising: copying a first number of bytes at a beginning of the data block to the special frame, wherein the first number of bytes is the number of bytes in the header; and copying the header to the beginning of the data block.

20

20. The method of claim 11 , comprising a child partition executing on a processor receiving inbound traffic directly from a network adaptor and transmitting outbound traffic directly to the network adaptor.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

September 5, 2018

Publication Date

March 2, 2021

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Efficient networking for a distributed storage system” (US-10936405). https://patentable.app/patents/US-10936405

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.