NVMe Persistent Event Log
The NVMe Persistent Event Log records supported significant subsystem events in log page 0Dh, retaining information across power cycles and resets.
Support is optional; inspect Identify Controller LPA bit 4 (PES) and the Supported Events Bitmap. Firmware commits, power-on/reset events and SMART snapshots are distinct event types. The log is global to the NVM subsystem. [1] [2]
Persistence is not complete history. Repeated events may be suppressed above an implementation-specific frequency; capacity limits can cause selected events to be deleted. Sanitize may alter or remove records, and the specification recommends minimizing event loss on power failure rather than guaranteeing zero loss. [1]
A reporting context selects the events returned during a retrieval. Supported events remain subject to logging and suppression rules; events logged after context creation are excluded from that existing view. Context lifetime is separate from stored-event persistence. For a multi-command read, compare Generation Number before and after the body; a mismatch calls for rereading because the context may have been lost. [1]
In Base 2.3, action 0 reads an existing context, 1 establishes one and reads, 2 releases it, and 3 creates a context if needed and returns a 512-byte header with prior-context status. Release is not an erase operation. Total Log Length includes the header and describes available bytes; Identify Controller PELS describes maximum size in 64 KiB units. [1]
Action 3 and Generation Number support are indicated by ECRH, bit 0 of the PEL-specific parameter in Supported Log Pages. A controller supporting PEL and compliant with Base 2.0 or later must set ECRH; PEL support alone on older devices does not establish these extensions. [1]
Relations
- related
- NVMe SMART log, NVMe Error Information Log, NVMe Error Information Log Entries, Drive firmware revision, NVMe sanitize
Limitations
- A missing event does not establish that the corresponding real-world incident never occurred. [1]
Citations
- NVM Express Base 2.3, section 5.2.12.1.14, Figures 229-232 and 328: retention, context, ECRH and PELS
- NVM Express: changes in NVMe 1.4, optional Persistent Event Log
Sources & caveats
- Protocol semantics follow NVM Express Base 2.3; capability and decoder support must be checked for the actual device and software.