Datasheet
Intel
®
Xeon
®
Processor C5500/C3500 Series
February 2010 Datasheet, Volume 1
Order Number: 323103-001 131
Interfaces
When a transaction times out or receives a UR/CA response on a request outstanding
on PCI Express, recovery in hardware is not attempted. UR/CA received does not cause
any error escalation via AER mechanism and cause error escalation. A completion
timeout condition is treated as a normal non-fatal error condition (and not as an
advisory condition). An unexpected completion received from PCI Express port is
treated as an advisory non-fatal error if the severity of it is set to non-fatal. If the
severity is set to fatal, then unexpected completions are NOT treated as advisory but as
fatal.
2.6.20 Data Link Layer Specifics
2.6.20.1 Ack/Nak
The Data Link layer is responsible for ensuring that TLPs are successfully transmitted
between PCI Express agents. PCI Express implements an Ack/Nak protocol to
accomplish this. Every TLP is decoded by the physical layer (8b/10b) and forwarded to
the link layer. The CRC code appended to the TLP is then checked. If this comparison
fails, the TLP is “retried”. See the PCI Express Base Specification, Revision 2.0 for
details.
If the comparison is successful, an Ack is issued back to the transmitter and the packet
is forwarded for decoding by the receiver’s Transaction layer. The PCI Express protocol
allows that Acks can be combined and the IIO implements this as an efficiency
optimization.
Generally, Naks are sent as soon as possible. Acks, however, will be returned based on
a timer policy such that when the timer expires, all unacknowledged TLPs to that point
are Acked with a single Ack DLLP. The timer is programmable.
2.6.20.2 Link Level Retry
The PCI Express Base Specification, Revision 2.0 lists all the conditions where a TLP
gets Nak’d. One example is on a CRC error. The Link layer in the receiver is responsible
for calculating 32b CRC (using the polynomial defined in the PCI Express Base
Specification, Revision 2.0 ) for incoming TLPs and comparing the calculated CRC with
the received CRC. If they do not match, then the TLP is retried by Nak’ing the packet
with a Nak DLLP specifying the sequence number of the corrupt TLP. Subsequent TLPs
are dropped until the reattempted packet is observed again.
When the transmitter receives the Nak, it is responsible for retransmitting the TLP
specified with the Sequence number in the DLLP + 1. Furthermore, any TLPs sent after
the corrupt packet will also be resent since the receiver has dropped any TLPs after the
corrupt packet.
2.6.21 Ack Time-out
Packets can get “lost” if the packet is corrupted such that the receiver’s physical layer
does not detect the framing symbols properly. Frequently, lost TLPs are detectable with
non-linearly incrementing sequence numbers. A time-out mechanism exists to detect
(and bound) cases where the last TLP packet sent (over a long period of time) was
corrupted. A replay timer bounds the time a retry buffer entry waits for an Ack or Nak.
See the PCI Express Base Specification, Revision 2.0 for details on this mechanism.
2.6.22 Flow Control
The PCI Express flow control types are described in Table 76.