US 11,868,209 B2
Method and system for sequencing data checks in a packet
Matthew Robert Erler, Portland, OR (US); Robert James Safranek, Portland, OR (US); Robert Joseph Toepfer, Portland, OR (US); Sandeep Brahmadathan, Dublin, CA (US); Shailendra Ramrao Chavan, Brentwood, CA (US); and Jonglih Yu, Sunnyvale, CA (US)
Assigned to Ampere Computing LLC, Santa Clara, CA (US)
Filed by Ampere Computing LLC, Santa Clara, CA (US)
Filed on Oct. 13, 2022, as Appl. No. 18/046,453.
Application 18/046,453 is a continuation of application No. 17/349,601, filed on Jun. 16, 2021, granted, now 11,481,270.
Prior Publication US 2023/0058854 A1, Feb. 23, 2023
Int. Cl. G06F 11/00 (2006.01); G06F 11/10 (2006.01); G06F 13/42 (2006.01)
CPC G06F 11/1004 (2013.01) [G06F 13/4221 (2013.01); G06F 13/4282 (2013.01); G06F 2213/0024 (2013.01); G06F 2213/0026 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of communication performed by a transmitting device, the method comprising:
obtaining data blocks, wherein each one of the data blocks includes a flow control unit (flit) or a hardware component message;
generating, for each one of the data blocks, a respective error check block based on data of the corresponding data block, the data of the corresponding data block being independently verifiable based on the error check block;
building a packet based on a communication protocol, the packet including a header and a payload, and the payload including the data blocks and the error check blocks, each one of the error check blocks sequentially following the corresponding one of the data blocks in the payload; and
transmitting the packet based on the communication protocol.