NVM Express, the particular group behind the NVMe protocol, has announced the NVMe 1.3 specification. This new update is the most significant update to the protocol since the NVMe 1.2 specification released in 2014. The new NVMe 1.3 will start getting implemented in SSDs, motherboards, and HBA cards starting late-2017 or 2018, introduces several major features that increase performance, endurance, and manageability of flash-based storage devices, such as SSDs.
The NVMe 1.3 adds a drive self-test feature similar to SMART, which allows host machine to command the drive to perform a self-test without having to mount volumes and expose their contents to OS-based utilities. The self-test parameters can be left up to the drive vendor, and could include hardware tests in addition to data integrity tests. The protocol also adds much-needed support for boot-partitions, without needing the motherboard UEFI firmware to store it. The current implementation of motherboards with NVMe booting support involves storing a tiny boot partition with the bootloader on the SPI flash chip of the motherboard which stores the UEFI firmware.
Another new included in the NVMe 1.3 protocol is the new “sanitize” command, which performs a hardware-level secure-erase, which wipes data from not just the NAND flash user-area, but also the controller memory buffer, overprovisioning area, DRAM cache, etc., ensuring a more reliable data wipe. The specification also adds Single-Root I/O Virtualization (SRIO-V) support.