Konstantin Emelyanov - Fotolia
Storage briefing: NVMe vs SATA and SAS
NVMe brings blistering performance gains over existing HDD-era disk protocols, and is a straight swap-in for PCIe server-side flash with array and hyper-converged products on the way
The rise of flash storage has been a dominant theme in the datacentre in recent years. And rightly so, with performance in the order of 100 times better than spinning disk media.
But there are always going to be choke points in the input/output (I/O) path from app to media, and a key bottleneck has been the protocols used to address storage on disk.
These have largely settled onto SAS and SATA for spinning disk hard disk drives (HDDs), and these formats have also been adopted as protocols utilised by flash media drives.
But SAS (based on the SCSI command set) and SATA (based on the ATA command set) are historic protocols developed for mechanical media. They do not have the characteristics to take advantage of the benefits of flash media.
So, the industry has come up with a standard, non-volatile memory express (NVMe), built for flash and complete with a number of performance advantages.
NVMe is a standard based on peripheral component interconnect express (PCIe), and is built for physical slot architecture. As they launched PCIe server flash products, suppliers each developed proprietary protocols to manage traffic. NVMe is a largely successful exercise in the replacement of such disparate proprietary protocols with a true standard.
NVMe also allows for the use of 2.5in format solid state drives via the U.2 connector on the card body.
Of course, NVMe-equipped cards can be aggregated into an array-type format in a similar way to EMC’s DSSD D5 and startup E8’s D24. In fact, NVMe format cards could be added to array controllers now. However, any such array product that wanted to take advantage of NVMe would require controller hardware that did not act as a bottleneck itself.
Key benefits of NVMe over SATA and SAS
In short, NVMe provides much greater bandwidth than SAS and SATA, with vastly improved queuing.
SATA, in its SATA III incarnation, provides 6Gbps and 600Mbps throughput. SAS provides 12Gbps and 8Gbps throughput.
More on flash and PCIe storage
- We run the rule over PCIe SSD and assess its potential as a server-side alternative to all-flash storage, as cache in conjunction with shared storage and in hyperscale environments.
- The PCIe SSD market is still important, but PCIe flash drive makers are split between those that continue to develop their products and those for whom product evolution has stalled.
NVMe has data transfer performance characteristics of PCIe Gen 3 and therefore has bandwidth of around 1Gbps per lane – up to 16Gbps in a 16-lane configuration. PCIe Gen 4 will likely double that and is set for release in 2017.
At the same time, NVMe is built to handle more queues than SAS and SATA at the drive, with 65,000 queues and 65,000 command queue depths possible. This compares to one queue for SAS and SATA, and queue depths of 254 and 32 respectively.
This means NVMe-equipped storage should not experience the performance degradation that SAS and SATA can go through if overloaded with I/O requests.
NVMe key use cases
In summary, NVMe offers blistering performance for flash storage over the existing SAS and SATA drive connection protocols. Its ability to handle a high number of queues and commands makes it eminently suitable for applications that batter storage I/O with large queue depths, such as databases and some web operations.
Currently, however, it is mostly a server flash technology, although its use in arrays and hyper-converged infrastructure and as addressable shared storage (via NVMf – NVMe over fabrics) is coming.