{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-15",
  "slug": "native-command-queuing",
  "term": "Native Command Queuing",
  "aliases": [
    "NCQ"
  ],
  "definition": "Native Command Queuing (NCQ) allows multiple tagged ATA commands to be outstanding so a supporting device can schedule their execution.",
  "note": "Linux's documented NCQ error path uses log page 0x10 to identify the failed tag, while other affected commands may be retried. In v6.12, attribution is conditional on a readable log, an active tag and the port state. Several recovery messages do not establish several independent device failures. NCQ is not a write-durability guarantee.",
  "related": [
    "sata",
    "ahci",
    "io-timeout"
  ],
  "citations": [
    {
      "id": "ata-doc",
      "title": "Linux v6.12: libata device, NCQ and bus error documentation",
      "url": "https://raw.githubusercontent.com/torvalds/linux/adc218676eef25575469234709c2d87185ca223a/Documentation/driver-api/libata.rst",
      "accessed": "2026-10-15"
    },
    {
      "id": "ata-sata",
      "title": "Linux v6.12: ata_eh_analyze_ncq_error and failed-tag attribution",
      "url": "https://raw.githubusercontent.com/torvalds/linux/adc218676eef25575469234709c2d87185ca223a/drivers/ata/libata-sata.c",
      "accessed": "2026-10-15"
    },
    {
      "id": "hesela-link",
      "title": "SATA link errors: what CRC flags, NCQ recovery and PHY counters prove",
      "url": "https://hesela.com/analyses/sata-sas-link-failure-signatures/",
      "accessed": "2026-10-15"
    }
  ]
}
