* Klicken Sie hier um auf die nächste Seite zu kommen. 

When do you need NVMe?

You might have heard that Non-Volatile Memory Express or NVM Express (NVMe) is the next must-have storage technology. Let’s look at what NVMe delivers. NVMe is a communications protocol for high rate storage systems that runs on top of the PCIe physical layer and allows host hardware and software to fully exploit the performance of high-end SSDs. Everyone needs to get it right now, right? Well, not so fast.

NVMe Background

First, some terminology. The PCIe physical layer consists of the silicon driver and receiver on either end of a wire that meets the voltage and signaling rate of the PCIe standard. NVMe is the protocol or language that is communicated over those wires. Those wires could also carry the PCIe protocol, but NVMe is a much more suitable way to communicate information pertaining to storage systems. It’s no surprise that the development of PCIe and NVMe came from the same group of sponsoring companies.

NVMe was designed to address the limitations of existing storage interfaces and protocols like PATA, SATA, SCSI and SAS. The origins of these protocols go back over 30 years and have evolved based on the limited abilities of traditional mechanical hard disk drives. These legacy interfaces have lasted this long due to the need for forward and backward compatibility in both hardware and drivers. NVMe was designed to be extensible to last just as long as these traditional interfaces that it will replace. The full performance potential that NVMe has to offer is just that, potential that is not yet realized.  Intel recently released their new Optane SSD drives based on the revolutionary 3D-XP memory technology. 3D-XP is orders of magnitude faster than NAND Flash and NVMe has ample performance headroom not only for the current generation of Optane but for many generations of newer, faster memory technologies.

NVMe enables systems to take advantage of lower data latency and internal parallelism of random access, memory-based storage. NVMe’s reduction in I/O overhead and performance improvements give it the ability to process multiple, long command queues, compared to being able to process just one queue with previous logical device interfaces. NVMe advances also include being able to use only a single message for 4KB transfers compared to two. This increases the speed for servers processing a lot of concurrent disk I/O requests.

System performance historically was limited by the performance of the storage - not the storage interface, but rather the storage media. In a mechanical hard disk the media performance is limited by the mechanics. No HDD is capable of saturating a SATA-III interface; the best ones come in at about 25%, which is the performance limit of SATA-I.  SATA-II and –III were scaled up to use a fraction of the potential performance of NAND Flash, but the SATA protocol is the limiting factor once you reach certain throughput levels. High throughput means that a larger number of transactions can occur, but the SATA protocol does not allow enough pointer space or queue size to handle the performance of an SSD. Since SATA is a bridge between PCIe (whose protocol is also a storage bottleneck) why not simply eliminate both SATA and PCIe? Which is, of course, exactly what NVMe is.