{
  "slug": "nvme-host-read-commands",
  "term": "NVMe Host Read Commands",
  "aliases": [
    "Host Read Commands",
    "HRC"
  ],
  "definition": "NVMe Host Read Commands is the SMART / Health Information log counter of completed commands in the I/O command set's designated host-read class.",
  "note": "Base 2.3 places this 128-bit command count at bytes 64-79 of log 02h; it is not a byte quantity. Completed does not by itself mean successful. [nvme-base-2-3-smart]\n\nNVM Command Set 1.2 includes Compare, Copy and Read, whereas Data Units Read includes Compare, Read and Verify. Check the implemented revision before using these lists. [nvm-read-accounting]\n\nThe pinned smartctl implementation names this field nvme_smart_health_information_log.host_reads and also exports host_reads.commands at the JSON root. The neighboring host_reads.units is a different quantity; retain the full path in a collector. [smartctl-read-fields]\n\nThe similarly named Endurance Group Host Read Command class also includes Verify in NVM Command Set 1.2 section 1.4.2.1. It is not interchangeable with the SMART class above; retain the log identifier and collection scope, not only a shortened field name. [nvm-read-accounting]",
  "status": "shipping",
  "advantages": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "nvme-base-2-3-smart",
      "title": "NVM Express Base Specification 2.3, Figure 210, p. 215: read-data and command counters",
      "url": "https://nvmexpress.org/wp-content/uploads/NVM-Express-Base-Specification-Revision-2.3-2025.08.01-Ratified.pdf",
      "accessed": "2026-10-26"
    },
    {
      "id": "nvm-read-accounting",
      "title": "NVM Express NVM Command Set 1.2, sections 1.4.2.1, 1.4.2.7-1.4.2.8 and 3.3.5: distinct read-command classes",
      "url": "https://nvmexpress.org/wp-content/uploads/NVM-Express-NVM-Command-Set-Specification-Revision-1.2-2025.08.01-Ratified.pdf",
      "accessed": "2026-10-26"
    },
    {
      "id": "smartctl-read-fields",
      "title": "smartmontools pinned nvmeprint.cpp: distinct data_units_read and host_reads JSON fields",
      "url": "https://github.com/smartmontools/smartmontools/blob/fd31eef5b715c107837ae7d51465334d4d99b5da/src/nvmeprint.cpp#L449-L465",
      "accessed": "2026-10-26"
    }
  ],
  "updated": "2026-10-26",
  "limitations": [
    {
      "text": "A cumulative command count is neither application IOPS nor a latency distribution; do not apply the Data Units Read byte multiplier to it.",
      "citationIds": [
        "nvme-base-2-3-smart",
        "smartctl-read-fields"
      ]
    }
  ],
  "related": [
    "nvme-smart-log",
    "nvme-data-units-read",
    "nvme-controller-busy-time"
  ]
}
