What is in this article?:
- What's The Difference Between SATA And NVMe?
- NVMe History
- SATA History
- S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology)
- Dataset Management TRIM Command
- Port Expandability
- PCIe Transport Overview
- PCIe Extensions Applicable to Storage
- The Role of Virtualization
- NVMe Overview
- NVMe Operation
The growth of the PCI Express (PCIe) interface in compute markets is continuing at a brisk rate, with several analysts forecasting 10% to 40% growth in 2013. The big news is that PCIe solid-state drives (SSDs) are coming from almost every major supplier. However, not all is as it seems. Many of the solutions use a propriety protocol or a Raid-on-Chip (RoC) device to achieve optimal interface and storage performance. These solutions have served the industry well, but they lack standardization, low latency, and linear performance.
With the release of the Non-Volatile Memory Express (NVM Express or NVMe) specification version 1.0b, the industry now has a standardized, low-latency, open-sourced host driver and command set that enables interface and solid-state memories to achieve a level of performance that will make a difference to all computer systems (see NVM Express: Flash At PCI Express Speeds). The industry also gains compliance testing and a compliance test suite. But the industry has a long history with Serial ATA (SATA), which is by far the most dominant interface for storage in systems today, and the enterprise segment is adopting SAS/SCSI for higher data reliability and performance.
Current performance for SATA uses a serial 6Gbps physical layer (PHY) with an instruction set that is very useful for hard-disk drives (HDDs) and SSDs. However, the enormous growth in PCIe ports for client and server markets, and the growth in caching applications, have shown that it is necessary to upgrade current storage solutions. The ATA command set will also be paired with PCIe under the emerging SATA Express standard by the Serial ATA International Organization, mostly to leverage the performance and scalability of PCIe. Currently, Gen 3 PCIe single-lane performance is 8Gbps.
NVM Express is a scalable host controller interface designed to address the needs of enterprise and client systems using a PCI Express interface. NVM Express provides an easy-to-decode basic command set that is expandable using a defined standardized format. It includes support for parallel operation and can handle up to 64,000 outstanding requests, exceeding most application requirements today. SATA, in comparison, uses a command queue and has some capabilities to support multiple commands. However, there are limitations to the number of outstanding operations. This limitation is variable, based on implementation and whether or not SCSI is implemented.
In this paper we will compare the NVM Express and SATA solutions for solid-state storage and caching applications, and for client and server market applications. We will also examine the difference between these two standards and discuss why the time is right to look at a PCIe storage solution for the future.