| CPC G06F 11/1443 (2013.01) [G06F 13/4221 (2013.01); G06F 2201/86 (2013.01); G06F 2213/0026 (2013.01)] | 19 Claims |

|
1. A system, comprising:
a communication device including a bus controller configured to manage a Peripheral Component Interconnect Express (PCIe) port, and a link layer reliability (LLR) circuit configured to provide resilience to a PCIe link established on the PCIe port; and
a peer device coupled to the PCIe link,
wherein the LLR circuit is further configured to:
track transactions received from the peer device via the PCIe link using a sequence number counter;
receive a link down indication from the bus controller that a link down event has occurred on the PCIe link;
prevent the link down event from triggering a reset to configuration space registers for the PCIe link;
instruct the bus controller to restore the PCIe link on the PCIe port;
receive an indication from the PCIe port that the PCIe link has been restored; and
send a first control packet on the PCIe link to the peer device, the first control packet including a retry request and an expected sequence number associated with a transaction that the peer device was expecting when the PCIe link went down, the expected sequence number being based on the sequence number counter; and
wherein the peer device is further configured to:
upon receiving the retry request, send a second control packet on the PCIe link to the communication device, the second control packet including a retry acknowledgement and the expected sequence number to the communication device; and
send a protocol packet on the PCIe link to the communication device, the protocol packet including payload data for the transaction associated with the expected sequence number.
|