Efficient link layer retry protocol utilizing implicit acknowledgements

US9819452B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9819452-B2
Application numberUS-201615184277-A
CountryUS
Kind codeB2
Filing dateJun 16, 2016
Priority dateDec 6, 2013
Publication dateNov 14, 2017
Grant dateNov 14, 2017

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.

Methods, apparatus, and systems for implementing a link layer retry protocol utilizing implicit ACKnowledgements (ACKs). Peer link interfaces are configured to facilitate confirmed error-free delivery of link-layer packets through use of implicit ACKs, while also providing retransmission of packets for which errors are detected and guaranteeing the link control data is either successfully received or data transfer over the link is prevented. In conjunction with transmitting packets, reliable packets are copied into sequential slots in a replay buffer. Each link interface tracks the slot at which each reliable packet is buffered, and in response to detection of an error, a retry request is sent to the transmit-side to retransmit the errant packet. The previously buffered copy of the errant packet is retrieved from the replay buffer and retransmitted. Through use of a link roundtrip detection mechanism, absence of a retry request by the time a replay buffer has returned to the slot of a reliable packet (plus a predetermined number of additional transfer cycles, if applicable) provides an implicit ACK that the packet was received without error.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus, comprising: a link interface to support bi-directional communication over a link with a link peer, the link interface including a replay buffer, the link interface to, store in the replay buffer a copy of a packet to be transmitted over the link to the link peer; transmit the packet over the link to the link peer; determine that the packet has been received without error at the link peer without use of an explicit Acknowledgement (ACK) received from the link peer; allow the copy of the packet in the replay buffer to be overwritten if it is determined the packet has been received at the link peer without error; and determine an implicit ACK that a packet has been received by the link peer without error prior to allowing the copy of the packet in the replay buffer to be overwritten, wherein the buffer comprises a circular buffer having a depth, and in which copies of packets are written into respective slots in a sequence that is restarted when the end of the circular buffer is reached, and wherein the link interface to detect an implicit ACK by performing operations comprising: tracking, for the packet, a slot at which a copy of the packet was written to in the circular buffer; and detecting that a retry request for a retransmission of a packet copied to a given slot has not been received by the time the sequence for writing copies of packets into the circular buffer has returned to the given slot. 2. The apparatus of claim 1 , wherein the link interface is further to: determine that a number of slots in the circular buffer that would be written to during a roundtrip transmission between interface ports of the apparatus and the link peer is less than or equal to a depth of the circular buffer. 3. An apparatus, comprising: a link interface to support bi-directional communication over a link with a link peer, the link interface including a replay buffer, the link interface to, store in the replay buffer a copy of a packet to be transmitted over the link to the link peer; transmit the packet over the link to the link peer; determine that the packet has been received without error at the link peer without use of an explicit Acknowledgement (ACK) received from the link peer; allow the copy of the packet in the replay buffer to be overwritten if it is determined the packet has been received at the link peer without error; and determine an implicit ACK that a packet has been received by the link peer without error prior to allowing the copy of the packet in the replay buffer to be overwritten, wherein the buffer comprises a circular buffer having a depth, and in which copies of packets are written into respective slots in a sequence that is restarted when the end of the circular buffer is reached, and wherein the link interface is to detect an implicit ACK by, tracking, for each of multiple transmitted packets, a slot at which a copy of the packet was written to in the circular buffer; and detecting that a retry request for a retransmission of a packet copied to a given slot has not been received by the time the sequence for writing copies of packets into the circular buffer has returned to the given slot plus n additional packet transfer cycles, wherein n is an integer >0. 4. The apparatus of claim 3 , wherein the link interface is to determine the n additional packet transfer cycles by performing operations comprising: sending a first packet to the link peer, the first packet including indicia to solicit return of a roundtrip marker from the link peer in response to receipt of the first packet; beginning at a starting slot, transmitting packets retrieved from slots in the replay buffer to the link peer, wherein each packet transfer cycle advances the slot in the replay buffer by one until a last slot in the replay buffer is reached, at which point the replay buffer slot wraps to a first slot; while transmitting the packets, detecting receipt of the roundtrip marker from the link peer; and if the buffer slot has returned to the starting slot prior to receiving the roundtrip marker, starting a counter and transmitting additional packets to the link peer until the roundtrip marker is received, wherein the counter is incremented by one for each additional packet that is transmitter and wherein n is the value of the counter when the roundtrip marker is received. 5. The apparatus of claim 3 , wherein the link interface is to determine the n additional packet transfer cycles by performing operations comprising: sending a first packet to the link peer, the first packet including indicia to solicit return of a roundtrip marker from the link peer in response to receipt of the first packet; beginning at a starting slot, transmitting packets retrieved from slots in the replay buffer to the link peer, wherein each packet transfer cycle advances the slot in the replay buffer by one until a last slot in the replay buffer is reached, at which point the replay buffer slot wraps to a first slot; while transmitting the packets, detecting receipt of the roundtrip marker from the link peer; and if the roundtrip marker is received prior to the buffer slot returning to the starting slot, starting a counter at a value m and transmitting additional packets to the link peer until the buffer slot has returned to the starting slot, wherein the counter is decremented by one for each additional packet that is transmitted and wherein m is the value of the counter when the roundtrip marker is received. 6. The apparatus of claim 1 , wherein the link interface is to: receive and process packets transmitted from the link peer when operating in a normal active link transfer state; detect sequential received packets are errant packets; and in response to detecting sequential errant packets, performing at least one of taking the link offline, initiating retraining of the link, and initiating reinitialization of the link; and wherein the link interface is further to send link transfer control packets in sequential pairs such that at least one of the sequential pair of link transfer control packets is either received without error or the link is taken offline, retraining of the link is initiated, or reinitialization of the link is initiated. 7. The apparatus of claim 1 , wherein the link interface is further to: receive packets transmitted from the link peer; detect that an errant packet containing errant data has been received; and send a retry request to the link peer requesting the link peer resend the errant packet. 8. The apparatus of claim 7 , wherein the link interface is further to: determine a buffer location in a replay buffer in the link peer at which a non-errant copy of the errant packet is stored; and embed indicia in the retry request identifying the buffer location. 9. The apparatus of claim 7 , wherein the link interface is further to: in response to detecting the errant packet, switch a state of the link interface to a tossing mode under which received packets are discarded; and return the state of the link interface to a normal receive mode to receive a retransmission of the errant packet from the link peer. 10. The apparatus of claim 9 , wherein the link interface is further to: receive a retry marker sent from the link peer while the receive port is in tossing mode; and prepare to return the state of the link interface to a normal receive mode after receiving the retry marker, wherein the retry marker indicates how many packets following transmission of the retry marker will be transmitted from the link peer prior to retransmission of the non-errant copy of the errant packet. 11. The apparatus of claim 10 , wherein the link in

Assignees

Inventors

Classifications

  • by repeating transmission, e.g. Verdan system {(H04L1/1858 and H04L1/189 take precedence)} · CPC title

  • Peer-to-peer [P2P] networks · CPC title

  • H04L1/1657Primary

    Implicit acknowledgement of correct or incorrect reception, e.g. with a moving window · CPC title

  • Buffer management · CPC title

  • Arrangements specially adapted for the transmitter end · 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 US9819452B2 cover?
Methods, apparatus, and systems for implementing a link layer retry protocol utilizing implicit ACKnowledgements (ACKs). Peer link interfaces are configured to facilitate confirmed error-free delivery of link-layer packets through use of implicit ACKs, while also providing retransmission of packets for which errors are detected and guaranteeing the link control data is either successfully recei…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L1/1657. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 14 2017 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).