{
  "slug": "nvme-firmware-slot",
  "term": "NVMe firmware slot",
  "aliases": [
    "firmware slot (NVMe)"
  ],
  "definition": "An NVMe firmware slot is a numbered storage location for a controller firmware image, distinct from the revision currently executing.",
  "note": "Firmware Image Download transfers an image but does not activate it. Firmware Commit can replace a slot without activation, select an image for next-reset activation, or request activation without a reset. The chosen action, device support and completion status matter. [nvme-cli216-fw-download] [nvme-cli216-fw-commit]\n\nIn Base 2.2, firmware slots are shared within a domain, not assigned per namespace. The Firmware Slot Information log identifies the slot from which the active image was loaded. Its next-slot field refers to activation at the next Controller Level Reset; zero means not indicated, not proof that no update is pending. Read Identify Controller's Firmware Revision field to determine the executing revision. [nvme-base22-firmware-slots]\n\nIdentify Controller reports the supported slot count, whether slot 1 is read-only, and reset-free activation support. [windows-nvme-identify-firmware] An all-zero FRS field (zero bytes) means an unsupported slot or no valid revision; it is not the ASCII revision string 00000000. [windows-nvme-firmware-log]",
  "related": [
    "drive-firmware-revision",
    "nvme"
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "Several slots do not guarantee rollback: activation can be prohibited, including a disallowed downgrade.",
      "citationIds": [
        "nvme-base22-firmware-slots"
      ]
    }
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-07",
  "citations": [
    {
      "id": "nvme-base22-firmware-slots",
      "title": "NVM Express Base 2.2 (11 March 2025): section 1.5.42; sections 5.1.8, 5.1.9 and 5.1.12.1.4; Figures 184, 209 and 313",
      "url": "https://nvmexpress.org/wp-content/uploads/NVM-Express-Base-Specification-Revision-2.2-2025.03.11-Ratified-1.pdf",
      "accessed": "2026-11-07"
    },
    {
      "id": "nvme-cli216-fw-download",
      "title": "nvme-cli v2.16: Firmware Image Download manual",
      "url": "https://github.com/linux-nvme/nvme-cli/blob/v2.16/Documentation/nvme-fw-download.1",
      "accessed": "2026-11-07"
    },
    {
      "id": "nvme-cli216-fw-commit",
      "title": "nvme-cli v2.16: Firmware Commit actions and reset handling",
      "url": "https://github.com/linux-nvme/nvme-cli/blob/v2.16/Documentation/nvme-fw-commit.1",
      "accessed": "2026-11-07"
    },
    {
      "id": "windows-nvme-identify-firmware",
      "title": "Microsoft NVME_IDENTIFY_CONTROLLER_DATA: FR and FRMW capabilities",
      "url": "https://learn.microsoft.com/en-us/windows/win32/api/nvme/ns-nvme-nvme_identify_controller_data",
      "accessed": "2026-11-07"
    },
    {
      "id": "windows-nvme-firmware-log",
      "title": "Microsoft NVME_FIRMWARE_SLOT_INFO_LOG: next-slot and revision fields",
      "url": "https://learn.microsoft.com/en-us/windows/win32/api/nvme/ns-nvme-nvme_firmware_slot_info_log",
      "accessed": "2026-11-07"
    }
  ],
  "provenance": [
    "Version-scoped specification and documentation review, not a device test, update recipe or claim that the historical SAS advisories apply to NVMe.",
    "Use the vendor-supported maintenance procedure. Neither a transferred image nor a stored slot revision alone establishes remediation."
  ]
}
