PCI Express components must have a retry buffer for transmitted transaction layer packets (TLPs) storage to support data link layer retry. A PCI Express component may optionally support end-to-end cyclic redundancy checking (ECRC) for data integrity protection of TLPs across one or more PCI Express links. ECRC is optional because it adds latency, increases integrated circuit chip area, requires both source and destination PCI Express components to support it, and requires PCI Express specific software to enable ECRC. While the industry PCI Express Specification defines the concept of a retry buffer and when TLPs must be retired or retried from the retry buffer, the PCI Express standard does not define how to handle uncorrectable errors detected when data is read from this buffer and ECRC is not utilized. If one of the PCI Express components doesn't support ECRC and/or there is no enabling PCI Express ECRC software (both of which are common in the industry), it is possible that a PCI Express compliant component could send corrupted data from the retry buffer. Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.
USPTO Backgrounds
USPTO Backgrounds