{
  "slug": "deallocated-read-behavior",
  "term": "Deallocated read behavior",
  "aliases": [
    "Read after deallocation"
  ],
  "definition": "The interface-defined data or error returned when a host reads a deallocated logical block.",
  "note": "In NVMe 1.4a, DLFEAT describes deallocated data values and DULBE controls the supported deallocated/unwritten-block error. This concerns the logical interface, not direct inspection of physical media.",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "Linux discard_zeroes_data always returns zero and should not be used to infer readback semantics.",
      "citationIds": [
        "linux-abi"
      ]
    }
  ],
  "related": [
    "discard",
    "trim",
    "scsi-unmap",
    "nvme",
    "data-sanitization"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "nvme-1-4a",
      "title": "NVM Express 1.4a: sections 6.7, 6.7.1.1 and Figure 247",
      "url": "https://nvmexpress.org/wp-content/uploads/NVM-Express-1_4a-2020.03.09-Ratified.pdf",
      "accessed": "2026-10-11"
    },
    {
      "id": "linux-abi",
      "title": "Linux 6.12: stable sysfs block ABI, discard attributes",
      "url": "https://raw.githubusercontent.com/torvalds/linux/v6.12/Documentation/ABI/stable/sysfs-block",
      "accessed": "2026-10-11"
    },
    {
      "id": "hesela-discard",
      "title": "Hesela: Discard is not zeroing",
      "url": "https://hesela.com/analyses/discard-is-not-zeroing/",
      "accessed": "2026-10-11"
    }
  ]
}
