nvme-asynchronous-event-request · shipping · also NVMe AER, Asynchronous Event Request

NVMe Asynchronous Event Request

An NVMe Asynchronous Event Request is a host-submitted administrative command that a controller completes when it has an asynchronous event to report.

Related Observatory article: NVMe Asynchronous Event Request on hesela.com

For events cleared through an associated log, successful Get Log Page completion with Retain Asynchronous Event (RAE)=0 clears the event, while RAE=1 retains it. An unsuccessful command retains the event. Immediate events require an outstanding request when they occur; one-shot events clear when reported. Identical reports may be coalesced, so notification counts are not incident counts. [1]

Notification receipt, complete log acquisition and acknowledgement are separate outcomes. RAE does not guarantee a consistent snapshot: multi-command ANA retrieval checks its change count, while controller-initiated telemetry checks generation and continued availability. [1]

In libnvme 1.15 and 1.16.2, nvme_get_log_page modifies the supplied length, offset, buffer pointer and RAE fields. Reusing that structure after a failed chunk can successfully retrieve less than the original request. A deliberate full retry reconstructs the original arguments and checks capture completeness. [2]

Relations

related
NVMe SMART log, NVMe Error Information Log, NVMe Persistent Event Log

Limitations

  • A notification stream alone does not establish a complete incident history. [1]

Citations

  1. NVM Express Base 2.3: section 5.2.2, Figure 201, sections 5.2.12.1.13 and 8.1.29 (accessed 2026-11-06)
  2. libnvme v1.16.2: nvme_get_log_page implementation (accessed 2026-11-06)
  3. Hesela: pinned libnvme command traces and byte-coverage results (accessed 2026-11-07)
Sources & caveats
  • The library experiment uses synthetic payloads and a mocked ioctl, not an NVMe controller or io_uring. Its 336 constructed cases are not field incident frequencies. [3]

JSON: /data/terms/nvme-asynchronous-event-request.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. NVMe Asynchronous Event Request. Hesela. 2026-11-07. https://hesela.dev/terms/nvme-asynchronous-event-request/