All copies of transmitted TLPs must be stored in the Data Link Layer retry buffer. Once the transmitter receives an appropriate acknowledgement back, it purges the appropriate TLPs from its retry buffer. It also updates its acknowledgement sequence number counter.
TLPs may be retried for two reasons,
First, it is retried if the receiver sends back a Nak DLLP indicating some sort of transmission error.
The second reason for a retry deals with a replay timer, which helps ensure that forward progress is being made. The transmitter side of the Data Link Layer needs to implement a replay timer that counts the time since the last Ack or Nak DLLP was received. This timer runs anytime there is an outstanding TLP and is reset every time an Ack or Nak DLLP is received. When no TLPs are outstanding, the timer should reset and hold so that it does not unnecessarily cause a time-out. The replay timer limit depends upon the link width and maximum payload size. The larger the maximum payload size and the narrower the link width, the longer the replay timer can run before timing out (since each packet requires more time to transmit). If the replay timer times out, the Data Link Layer reports an error condition.
If either of these events occurs-either a Nak reception or a replay timer expiration-the transmitter's Data Link Layer begins a retry. The Data Link Layer increments a replay number counter. This is a 2-hit counter that keeps track of the number of times the retry buffer has been retransmitted. If the replay counter rolls over from 1 lb to 00b (that is, this is the fourth retry attempt) the Data Link Layer indicates an error condition that requires the Physical Layer to retrain the link. The Data Link Layer resets its replay counter every time it successfully receives an acknowledgement, so the retrain procedure only occurs if are try attempt continuously fails. In other words, four unsuccessful attempt s at a single retry create this error. Four unsuccessful retry attempts across numerous packets with numerous intermediate acknowledgements do not.