{
  "slug": "pcie-active-state-power-management",
  "term": "PCIe Active State Power Management",
  "aliases": [
    "ASPM",
    "PCIe ASPM"
  ],
  "definition": "PCIe Active State Power Management reduces link power during inactivity through supported low-power link states.",
  "note": "Link scope: ASPM includes L0s and L1 link states, with additional L1 substates where supported. It is separate from the NVMe controller's power-state table. Linux v6.12 checks link capabilities and acceptable exit latencies when deciding which states may be enabled. [linuxaspm]\n\nPlatform policy: Link power settings can differ between AC and battery operation. An enabled NVMe APST policy therefore does not establish the PCIe link policy, and disabling APST does not by itself disable ASPM. [stornvme]\n\nDiagnostic inference: A first request after inactivity can encounter both link and controller wake paths. Configuration identifies permitted behavior, not proof that a specific transition caused a measured delay. [stornvme]",
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "related": [
    "nvme-autonomous-power-state-transition",
    "thermal-throttling-ssd"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "linuxaspm",
      "title": "Linux v6.12: PCIe ASPM capability and latency checks",
      "url": "https://github.com/torvalds/linux/blob/v6.12/drivers/pci/pcie/aspm.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": [
    "Linux v6.12 implementation and Microsoft platform documentation are used for scope distinctions, not a universal latency estimate."
  ],
  "updated": "2026-10-21"
}
