This blog provides information/ideas about PCI Express Data Link Layer.

We changed!Check out our new look!

Monday, August 18, 2008

Sequence Number

The Data Link Layer assigns a 12-bit sequence number to each TLP as it is passed from the transmit side of its Transaction Layer. The Data Link Laver applies the sequence number, along with a 4-bit reserved field to the front of the TLP. Refer to Figure for the sequence number format. To accomplish this, the transmit side of this layer needs to implement two simple counters, one indicating what the next transmit sequence number should be, and one indicating the most recently acknowledged sequence number. When a sequence number is applied to an outgoing TLP. the Data Link Layer refers to its next sequence counter for the ap­propriate value. Once that sequence number is applied, the Data Link Layer increments its next sequence counter by one.

On the receiver side, the Data Link Layer receives incoming TLPs from the Physical Layer, then checks the sequence number and LCRC. If they check out properly, the TLP is passed on to the Transaction Layer. If the sequence number (or LCRC) is incorrect, the Data Link Layer requests a retry. To accomplish this, the receive side of this layer needs to implement a counter for the next receiver sequence number, which in­dicates the next expected sequence number. If the sequence number of the received TLP matches that counter (and the LCRC checks), the Data Link Layer then removes the sequence number, associated reserved bits, and the LCRC. Once the layer removes that data, it forwards the incom­ing TLP on to the receive side of the Transaction Layer. When this oc­curs, the Data Link Layer increments its next receiver sequence counter.

If the sequence number does not match the value stored in the re­ceiver's next sequence counter, that Data Link Layer discards that TLP. The Data Link Layer checks to see if the TLP is a duplicate. If it is, it schedules an acknowledgement (Ack) DLLP to be sent out for that packet. If the TLP is not a duplicate, it schedules a negative acknowl­edgement (Nak) DLLP to report a missing TLP. Then "Retry" process takes place.


The Data Link Layer does not differentiate among types of TLP when assigning the sequence number. Transactions destined to I/O space do
not have a different set of sequence numbers than memory transactions. Nor are sequence numbers dependent on the ultimate completer of the transaction. The Data Link Layer of the transmitting device is the sole de­terminant of the sequence number assigned to a TLP.

1 comment:

Anonymous said...

Lucky Club Casino Site - Lucky Club
Lucky Club is an online gambling website in Indonesia, offering various types of casino games. Learn more about luckyclub.live its games and get a bonus. Rating: 4.6 · ‎7 votes

DISCLAMIER

Verilog Course Team does not warrant or assume any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed. No warranty of any kind, implied, expressed or statutory, including to fitness for a particular purpose and freedom from computer virus, is given with respect to the contents of this blog or its hyper links to other Internet resources. Reference in this blog to any specific commercial products, processes, or services, or the use of any trade, firm or corporation name is for the information, and does not constitute endorsement, recommendation, or favoring.