nvme-command-identifier · shipping · also NVMe CID

NVMe Command Identifier

An NVMe Command Identifier is a host-assigned 16-bit value that distinguishes outstanding commands within a submission queue.

Related Observatory article: NVMe Command Identifier on hesela.com

Scope: CID is queue-scoped, not globally unique. On the memory-based path, SQID and CID together identify the completed command. SQID is reserved in NVMe over Fabrics. [1]

Lifetime: SPDK v24.09 assigns a tracker CID to a request and, after non-retry completion processing, returns the tracker to its free list for reuse. A CID is therefore not a permanent request identifier. [2]

Reuse: Do not infer CID retirement from SQHD; that field reports consumed command slots, not command completion. A driver tracker index also does not make CID the submission-ring slot number. [1] [2]

Relations

related
NVMe, NVMe submission queue, NVMe completion queue, NVMe Phase Tag

Citations

  1. NVM Express Base 2.0d, sections 3.3.1.2, 3.3.2.1.1-2 and 3.3.3; copyright 2008-2024 NVM Express, Inc., all rights reserved (accessed 2026-10-23)
  2. SPDK v24.09: PCIe tracker completion, retirement and CID assignment (accessed 2026-10-23)
Sources & caveats
  • Versioned sources explain protocol and implementation behavior; no hardware experiment or performance claim.

JSON: /data/terms/nvme-command-identifier.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. NVMe Command Identifier. Hesela. 2026-10-23. https://hesela.dev/terms/nvme-command-identifier/