{
  "slug": "nvme-autonomous-power-state-transition",
  "term": "NVMe Autonomous Power State Transition",
  "aliases": [
    "APST",
    "NVMe APST"
  ],
  "definition": "NVMe Autonomous Power State Transition lets a configured controller enter non-operational power states after specified idle intervals.",
  "note": "Idle policy: APST uses Feature Identifier 0Ch. The idle threshold ITPT is in milliseconds; zero disables the transition from that state. Its target ITPS must be non-operational. Idle means no outstanding commands in any I/O Submission Queue. [base20e]\n\nHost policy: Linux v6.12 filters EXLAT against ps_max_latency_us; explicit-timeout mode also screens ENLAT + EXLAT against separate tolerances. Heuristic mode uses that sum to choose the idle delay. Capabilities and quirks also matter. [linuxapst]\n\nSeparate controls: PCIe ASPM governs the link, while HCTM responds to temperature. [base20e] The documented StorNVMe Modern Standby policy excludes devices with APST enabled; idle power management is not universally APST. [stornvme]",
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "related": [
    "nvme-non-operational-power-state",
    "pcie-active-state-power-management",
    "host-controlled-thermal-management",
    "thermal-throttling-ssd"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "base20e",
      "title": "NVM Express Base Specification 2.0e: sections 5.27.1.9 and 8.15, including HCTM",
      "url": "https://nvmexpress.org/wp-content/uploads/NVM-Express-Base-Specification-2.0e-2024.07.29-Ratified.pdf",
      "accessed": "2026-10-21"
    },
    {
      "id": "linuxapst",
      "title": "Linux v6.12: nvme_configure_apst and power-state latency policy",
      "url": "https://github.com/torvalds/linux/blob/v6.12/drivers/nvme/host/core.c",
      "accessed": "2026-10-21"
    },
    {
      "id": "stornvme",
      "title": "Microsoft Learn: StorNVMe power management, idle states and PCIe ASPM",
      "url": "https://learn.microsoft.com/en-us/windows-hardware/design/component-guidelines/power-management-for-storage-hardware-devices-nvme",
      "accessed": "2026-10-21"
    }
  ],
  "provenance": [
    "Source review of NVMe Base 2.0e and pinned Linux v6.12 code; neither is claimed to be the latest revision.",
    "Microsoft documentation describes StorNVMe behavior, not every Windows driver or platform. [stornvme]"
  ],
  "updated": "2026-10-21"
}
