nvme-command-retry-delay · shipping · also NVMe CRD, Command Retry Delay

NVMe Command Retry Delay

NVMe Command Retry Delay is a two-bit completion-status selector for retry timing when advanced command retry is enabled and Do Not Retry is clear.

Related Observatory article: NVMe Command Retry Delay on hesela.com

Conditions: CRD is reserved if DNR=1 or Host Behavior Support ACRE=0. With DNR=0 and ACRE=1, 00b allows immediate retry; 01b, 10b and 11b select Identify Controller CRDT1, CRDT2 and CRDT3, each in 100 ms units. CRD is a selector, not a duration. [1]

Timing: The host should wait the selected interval, but an earlier retry is not a protocol error. This is not a completion deadline or a recovery guarantee. [1]

Implementation: Linux v6.12 nvme_retry_req indexes the selected CRDT value, multiplies it by 100 and requeues the request with a delay. This versioned function illustrates timing after a retry decision; it does not describe every host's retry policy. [2]

Relations

related
NVMe, NVMe completion queue, NVMe Do Not Retry, NVMe Error Information Log, I/O timeout, Retry budget

Citations

  1. NVM Express Base 2.3, section 4.2.3, Figure 100 and Identify Controller Figure 328: DNR, CRD and CRDT1-3 (accessed 2026-10-23)
  2. Linux v6.12, nvme_retry_req: CRD selection, 100 ms conversion and requeue (accessed 2026-10-23)
Sources & caveats
  • Based on Base 2.3 and a pinned Linux function; no host/device execution, latency measurement or success-rate claim.

JSON: /data/terms/nvme-command-retry-delay.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. NVMe Command Retry Delay. Hesela. 2026-10-23. https://hesela.dev/terms/nvme-command-retry-delay/