While Transaction Layer Packets (TLPs) move the heavy data payloads across a PCI Express (PCIe) topology, Data Link Layer Packets (DLLPs) are the localized messengers working behind the scenes to keep the link healthy and efficient.
Because DLLPs are used exclusively for critical, nearest-neighbor communication, a receiver must treat them very differently than standard data packets. When a neighboring device receives a DLLP, it follows four strict rules to ensure the link operates without interruption.
Rule 1: Immediate Processing and No Flow Control
When DLLPs arrive at a receiver, they are processed immediately. Because these packets carry vital link management information—such as flow control credits and Ack/Nak routing—their flow cannot be restricted. This means that unlike TLPs, DLLPs are never subject to flow control mechanisms.
Rule 2: Strict 16-bit CRC Error Checking
Before a receiver trusts the contents of a DLLP, it must check the packet for errors, starting at the Physical Layer and finishing at the Data Link Layer. The receiver independently calculates what the 16-bit Cyclic Redundancy Check (CRC) should be and compares it to the 16-bit CRC value attached to the incoming packet. If these values do not match, the DLLP is considered corrupted and is immediately discarded.
Rule 3: The “No Acknowledgement” Policy
One of the most fascinating aspects of DLLPs is what happens when they fail the CRC check: absolutely nothing. Unlike TLPs, there is no acknowledgement protocol for DLLPs.
If a receiver discards a corrupted DLLP, it has no mechanism to send a “Nak” to ask the transmitter for a replay. Instead, the PCIe specification relies on defined time-out mechanisms to facilitate recovery from failed packets. Furthermore, because DLLPs are typically sent periodically, the link simply waits; the next successful DLLP of that same type will arrive shortly and seamlessly update the missing information.
Rule 4: Routing to Internal Logic
If a DLLP is received with no errors, the receiver determines the DLLP type and immediately passes it to the appropriate internal logic. Depending on the packet’s type field, it is routed to manage one of four tasks:
- Ack/Nak notification to verify TLP transmission status.
- Flow Control notification to update available receiver buffer space.
- Power Management settings to negotiate link power states.
- Vendor-specific information.
Summary By enforcing immediate processing, strict error discarding, and a “no-acknowledgement” policy, the receiver ensures that DLLPs consume as little overhead as possible. This lightweight processing allows the Data Link Layer to continuously manage power, flow control, and data integrity without slowing down the primary data pipelines.
