As you guys know, NVM Express (NVMe) is a logical device interface specification for accessing non-volatile storage media attached via a PCI Express (PCIe) bus. The protocol is used on your M2 SSD for example to gain such high performance. NVMe 1.3 has just been finalized.
As it seems Version 1.3 is a massive update of the protocol ever since the last one was released in 2014 and wil offer new features found in other storage protocols including the venerable ATA and SATA, as well as the low-end eMMC. Tech report has a nice write up on the topic:
Perhaps one of the coolest features in the new spec is support for streams. Simplifying: with the current spec, if multiple files are being written to a drive simultaneously, chances are that their individual blocks will end up interleaved on the drive. With support for the streams directive, the controller can tell the drive how to physically store the data it’s sending. Using the previous example, all the data for each file could end up physically sequential on the drive, possibly improving read speeds and potentially lowering write amplification. The concept should be familiar to anyone that’s old enough to have watched a defragmentation graph.
The new specification also includes a device self-test feature, similar to the SMART features present in ATA and SATA drives since the mid-1990s. The spec calls for short and long tests. The tests may temporarily decrease device performance but won’t disrupt device availability. The short test must finish in less than two minutes without disturbing the contents of the device. The long tests may write to the device, but all user data must be preserved and drives have to offer an estimate of the time until the test completes.
Another new feature is a sanitize command, also already available on SATA devices. The sanitize feature renders all data on a drive unrecoverable and ensures that any data in the drive’s cache or buffers is equally cleared. Systems may also specify what kind of method the drive should use for wiping the data: block erase, overwriting, or encryption key destruction (on applicable drives).
New namespace, virtualization, telemetry, and thermal management features are also included in the new specification.
Storage enthusiasts and wel true g33ks can read a summary of the new features here, and the true masochists can read the complete 282-page specification document. Be warned though, it’s a tough read.