In this era of over-marketing and misinformation, it can be refreshing to clarify things for customers.
Allow me to be refreshing regarding NVMe 🙂
NVMe is simply a protocol. Just like SCSI is a protocol. NVMe is most assuredly not a media type. Yet, storage vendors keep talking about “NVMe drives” and customers often think those devices are equal as long as “NVMe” is mentioned.
Alas, that’s not how things work…
Strictly speaking, there’s no such thing as an NVMe drive. Or, at the very least, calling something an “NVMe drive” isn’t enough to describe what that media is, and it’s especially not enough to describe how fast it may be.
The media that use the NVMe protocol are not the same.
Just like with SCSI, there can be a rather extreme variance in the capabilities of the devices speaking that protocol.
For example, consider these two drives. Both speak the SCSI protocol. Both are “SCSI drives”:
One is an old 7200 RPM drive, and one is a modern SSD that has orders of magnitude lower latency.
Indeed, one could build a spinning 7200RPM drive that speaks the NVMe protocol. It would still be a valid “NVMe Drive”. Does anyone think it would offer the same performance as a modern flash drive?
Media is defined by a lot more than the protocol used to access it.
A rather simplified list of media characteristics:
- access latency – that’s a big one
- Physical connection type
- Access protocol
I don’t expect anyone to use all these characteristics every time they want to mention their drives in a sentence. But, at a minimum, it’s a good idea to start getting used to saying things like: “it’s a NAND drive that uses the NVMe protocol to connect over PCI”. Just like in the olden days we used to say “a 15K RPM SCSI drive”, since rotational speed was the biggest differentiator between drives back then.
Even between similar class devices (say, NVMe NAND SSDs) there is tremendous variance. For instance, what is the internal parallelism of the device? How many PCI lanes does it support, and is that internal parallelism enough to feed those PCI lanes? Stuff like that.
Why This is Important
Because of the advent of Storage Class Memory devices (SCM). An NVMe SCM device has about 10x less latency than an NVMe NAND device. Which is a pretty serious difference. Indeed, SCM is fast enough that it makes sense to put in the memory bus as a DIMM for even lower latency vs the NVMe variant, but I digress beyond the NVMe nomenclature point of the article.
So – the next time a vendor says “we use NVMe drives”, hold them accountable and ask for clarification. Even laptops use NVMe drives these days… 🙂