Here's how NVMe is making your SSD faster
Traditional, mechanical hard disk drives (HDDs) are a long way from being obsolete. However, sales of chip-based solid state drives (SSDs) are constantly increasing and are widely considered to be the future of data storage.
Experts from Gartner are expecting that total revenue from SSDs will exceed those from HDDs for the first time in history this year. Although not all experts in the market agree with that forecast, they do agree on the prediction that SSDs will continue their positive momentum in the market. Some journalists state that the battle between the HDD and the SSD is therefore already over, with SSDs having won the fight due to the increase in data transfer speeds.
It’s worth bearing in mind that just using NAND flash SSDs (or other chips based on more advanced non-volatile storage technology) is not enough to boost your storage system or server. Performance and input/output (I/O) gains can only be achieved when more advanced interface protocols are used in conjunction with the storage media itself. That’s where Non-Volatile Memory express (NVMe) comes into play. But before we look at what NVMe offers, let’s step back and take a look at where it all began.
The origins of data storage
When SSDs were first introduced, they were used mainly just in laptops and simple desktop computers, but now more manufacturers are also using them in high-end server storage systems. This is because the price of SSD storage has fallen dramatically in the last few years, closing the traditionally large price gap between it and its HDD counterpart.
Until SSD technology emerged on the market, the concept of reading and writing data on a traditional HDD was based on the idea that (simply put) every block of data should be found, addressed and then saved or copied successively.
As traditional HDDs have a read/write head built into the device, the data is found on the disk, the head is physically moved to the correct position on the drive and the data is then read/written using a certain protocol especially developed for this task. This method is functional, but is quickly becoming inefficient compared with more modern technologies.
Eliminating the bottlenecks
With the (parallel) ATA interface and IDE bus, it was possible to transfer the data in 16-bit packs. However, those 16 parallel data lanes of ATA posed problems transferring the data, most notably asynchrony of the lanes and undesirable mutual interferences between them. As a result, ‘Serial ATA’ (SATA) was since invented as its successor. With SATA, only one data lane is used for transferring the data bit-by-bit (for example, back and from the disk with one command).
With modern CPUs and RAM getting faster, the data transfer rates over these old bus interfaces and standards is one of the main bottlenecks of HDD storage technology. There is an increasing need in today’s IT world for the use of software which is able to almost instantly access, calculate or store vast quantities of data at once (e.g. ‘big data’), therefore input/output (I/O) speeds are becoming even more important.
While the idea of transmission protocols such as SATA (based on the ATA command set) and SAS (based on SCSI) worked fine for more than 15 years, this technology is quickly becoming obsolete. This is because it is now possible (and makes more sense) that the logic behind an operating system can view all content saved on a single chip or several chips on a SSD at once.
Additionally, while it was only possible to process one command in a queue with SATA, the new NVMe protocol standard makes it possible for 65,000 commands to be handled simultaneously. These command queue depths drastically outperform SAS (254) and SATA (32), making NVMe the obvious choice for speed.
Increased bandwidth and performance
Example of an NVMe storage SSD card by Samsung: SSD 960 EVO
NVMe is a standard that is connected with the peripheral component interconnect express (PCIe) bus. The main benefit of this standard is that is achieves much greater bandwidth than SATA and SAS. While SATA III provides a total throughput of 6Gbps/600Mbps and SAS offers 12Gbps/8Gbps, NVMe offers a data transfer performance of around 1Gbps per lane – that is 16Gbps in a 16 lane configuration.
With this increase in I/O performance and throughput it is obvious that storage systems equipped with NVMe should be less likely to experience overloads and performance degradation due to too many I/O requests.
This is one of the reasons why PCIe SSD cards with the NVMe protocol are doing well in the market right now. Developed especially for ‘all flash’ storage systems; many of which are built into storage or server systems and store or access data and information faster than ever before.
On the other side of the coin, producers of SATA and SAS based SSD storage cards are still fighting a hard battle with their new opponent and are far from giving up yet. Many SSDs are being bought on the market based on these old standard concepts, however NVMe will most likely triumph in the long run.