nvme-do-not-retry · shipping · also NVMe DNR, Do Not Retry bit

NVMe Do Not Retry

NVMe Do Not Retry is a completion-status flag indicating that resubmitting the same command to any controller in the NVM subsystem is expected to fail.

Related Observatory article: NVMe Do Not Retry on hesela.com

Meaning: DNR=1 concerns the same command, not a diagnosis that the whole SSD has permanently failed. DNR=0 means a retry may succeed, not that it will. Interpret the flag with Status Code Type and Status Code. [1]

Recovery: The specification recommends DNR=0 when a command is aborted by time-limited error recovery. A clear DNR bit does not require unlimited retries. Command Retry Delay supplies separate timing guidance only when its prerequisites hold. [1]

Host decision: Linux v6.12 nvme_decide_disposition also stops failed requests for a block-layer no-retry condition or an exhausted retry limit. Later branches distinguish authentication and multipath failover from ordinary requeueing. DNR=0 alone does not establish that this host will retry. [2]

Relations

related
NVMe, NVMe completion queue, NVMe Command Retry Delay, 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_decide_disposition: stop, authenticate, fail over or retry (accessed 2026-10-23)
Sources & caveats
  • Versioned protocol interpretation, not a device failure diagnosis or hardware experiment.

JSON: /data/terms/nvme-do-not-retry.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. NVMe Do Not Retry. Hesela. 2026-10-23. https://hesela.dev/terms/nvme-do-not-retry/