{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-17",
  "slug": "nvme-discovery-controller",
  "term": "NVMe discovery controller",
  "aliases": [
    "Discovery Controller (NVMe)"
  ],
  "definition": "An NVMe discovery controller supplies information for locating NVM subsystems or other discovery services without exposing namespaces or implementing I/O queues.",
  "note": "Scope: Discovery records describe connection endpoints and can refer to another discovery service. Discovery controllers do not execute namespace I/O [base].\n\nIdentity: The well-known discovery NQN is not the only possible name; the architecture also supports unique Discovery Service NQNs [base].\n\nOperations: Discovery retrieves connection information. Path selection belongs to multipath logic, including ANA-state handling, so a discovery result alone does not demonstrate working failover [cli] [multipath].",
  "related": [
    "nvme-of",
    "nvme-tcp",
    "nvme-rdma",
    "nvm-subsystem",
    "nvme-subsystem-nqn",
    "multipath-nvme"
  ],
  "citations": [
    {
      "id": "base",
      "title": "NVM Express Base Specification 2.2, section 3.1.3.3: Discovery Controllers",
      "url": "https://nvmexpress.org/wp-content/uploads/NVM-Express-Base-Specification-Revision-2.2-2025.03.11-Ratified.pdf",
      "accessed": "2026-10-17"
    },
    {
      "id": "cli",
      "title": "nvme-cli v2.11: nvme-discover",
      "url": "https://github.com/linux-nvme/nvme-cli/blob/v2.11/Documentation/nvme-discover.txt",
      "accessed": "2026-10-17"
    },
    {
      "id": "multipath",
      "title": "Linux native NVMe multipath: ANA states and path-selection policies",
      "url": "https://docs.kernel.org/admin-guide/nvme-multipath.html",
      "accessed": "2026-10-17"
    }
  ],
  "provenance": [
    "Controller scope and naming are pinned to Base 2.2. The failover distinction is an architectural inference from the separate discovery and path-selection roles."
  ]
}
