Dynamic link width changes, entry/exit latency, DLLP negotiation, and Target Link Width
L0p is a new power state introduced in PCIe 6.0 that enables dynamic link width reduction while maintaining the link in an operational state. Unlike L0s or L1 which stop data transmission, L0p reduces the number of active lanes while continuing to transmit data on the remaining lanes.
| State | Traffic | Width | Exit Latency | Power Saving |
|---|---|---|---|---|
| L0 | Full | Full | N/A | None |
| L0p | Reduced | Reduced | < 1 μs | Proportional |
| L0s | None | Full (idle) | < 1 μs | Moderate |
| L1 | None | N/A | 2-32 μs | High |
Traditional power management (L0s/L1) cannot save power when there is continuous low-bandwidth traffic. L0p enables power savings proportional to actual bandwidth usage by reducing active lanes while maintaining data flow.
Power
▲
│
Full │████████████████████████████████ L0 (Full Width)
│
3/4 │████████████████████████ x12 from x16
│
1/2 │████████████████ L0p (Half Width)
│
1/4 │████████ L0p (Quarter Width)
│
└──────────────────────────────────► Traffic Load
L0p enables power proportional to bandwidth need
| Trained Width | L0p Width Options |
|---|---|
| x16 | x8, x4, x2, x1 |
| x8 | x4, x2, x1 |
| x4 | x2, x1 |
| x2 | x1 |
| x1 | (L0p not applicable) |
Port A Port B
│ │
│ 1. Decision to reduce width │
│ │
│──── L0p Width Request DLLP ────────────►│
│ (Target Width = x4) │
│ │
│◄─── L0p Width Ack DLLP ─────────────────│
│ (Accepted) │
│ │
│ 2. Both ports prepare for width change │
│ │
│──── Flit with L0p Entry ───────────────►│
│ (on all active lanes) │
│ │
│ 3. Transition to reduced width │
│ Lanes 4-15 enter electrical idle │
│ │
│◄═══ Data on x4 (Lanes 0-3) ═══════════►│
│ │
Port A Port B
│ │
│ 1. Decision to increase width │
│ (traffic demand increased) │
│ │
│──── L0p Width Request DLLP ────────────►│
│ (Target Width = x16) │
│ │
│◄─── L0p Width Ack DLLP ─────────────────│
│ │
│ 2. Wake idle lanes (4-15) │
│ Short retraining if needed │
│ │
│ 3. Resume full width operation │
│ │
│◄═══ Data on x16 (Lanes 0-15) ═════════►│
│ │
| Value | Target Width |
|---|---|
| 0001b | x1 |
| 0010b | x2 |
| 0100b | x4 |
| 1000b | x8 |
| 1111b | Full (trained) width |
L0p reduces available bandwidth. Software must carefully manage width changes to avoid performance impact during bandwidth-intensive operations. Hysteresis and traffic prediction can help optimize L0p usage.