Storage Technology Explained: SATA vs. NVMe

In the era of digital transformation, critical business and technology decisions are essentially driven by better and faster data access. Enterprise systems must meet the growing demand for resilient IoT solutions that provide real-time insights, workload consolidation and minimal latencies.  

Solid-state drives (SSDs) are a type of computer storage device. Unlike a traditional hard disk drive (HDD) that relies on a spinning platter, the SSD uses semiconductor chips to store and retrieve memory. Without any moving parts, the SSD exhibits a more rugged infrastructure and can access data much faster than an HDD. 

Image 1: HDD vs. SSD

There are two predominant methods for writing and reading data: SATA and NVMe. With a mission to increase bandwidth and reduce latencyNVMe was developed specifically for SSDs to access fast storage media. On the other hand, SATA is a well-established storage protocol for connecting SSDs, HDDs and optical drives. However, SATA SSD requires an interface controller, which can bottleneck data transfer and limit CPU performance. NVMe is much more efficient, scalable and delivers low latency storage access compared to other legacy interfaces including SATA.  

In this blog, we will explain the storage technologies: NVMe and SATA, their key differences, why NVMe is important for rugged edge computing, and how Premio is incorporating NVMe into rugged edge computing. 

What is NVMe?

NVMe, or Non-Volatile Memory Express, is a data storage protocol that connects the host to the memory subsystem via PCI Express (PCIe) bus (1). This interface specification alleviates a great amount of data bottlenecks, bringing various performance improvements including multiple command queues and reduced latency. 

NVMe Form Factor and Standards

A form factor refers to the physical dimensions of the SSD. The NVMe specification is the industry standard for PCIe solid state drives (SSDs) in all form factors, which include (2): 

  • Standard 2.5-inch U.2 drives. 
  • M.2 modules, formerly known as Next Generation Form Factor (NGFF). 
  • Add-in Card (AIC). 
  • Enterprise and Data Center SSD Form Factors (EDSFF). 

Image 2: M.2 Form Factor

Additionally, the NVMe interface has the following attributes for enterprise capabilities such as end-to-end data protection, improved error reporting, and virtualization (3) 

  • Priority associated with each I/O Queue with well-defined arbitration mechanism. 
  • Efficient and streamlined command set.  
  • Support for multiple namespaces. 
  • Efficient support for I/O virtualization architectures. 
  • Support for multi-path I/O and namespace sharing. 

For more information on features of NVMe interface, read the NVMe 1.4a Specification from nvmexpress.org.   

What is SATA?

SATA, or Serial ATA, is a well-established protocol for connecting SSDs, HDDs and optical drives. Since its launch in 2000, the standard has undergone several performance-enhancing revisions. For instance, SATA I can transfer data at a rate of up to 150 MB/s, while SATA III can hit the speeds of up to 600 MB/s 

Nevertheless, SATA SSD requires an interface controller, which can bottleneck data transfer and limit CPU performance. Specifically, SATA uses the Advanced Host Controller Interface (AHCI), which contains a single queue block I/O layer that sends data from the host to the SSD. Figure 1 below compares the type of block I/O layer that supports SATA and NVMe SSDs in the host. 

Figure 1: Type of Block I/O Layer (4)

As Figure 1 shows, the key difference between the AHCI and NVMe interface controller is the type of block I/O layer. The AHCI features a single-queue I/O block layer (Figure 1a), meaning that all I/O requests from tasks running on each CPU core were handled via a single request queue. This fundamentally causes bottleneck as the single queue could not sufficiently exploit the full potentiality of storages. On the other hand, the NVMe utilizes a multi-queue block I/O layer, which significantly improves scalability. To reduce latency, the multi-queue block I/O layer employs two levels of queues (Figure 1b): Software queues (SWQs) and hardware queues (HWQs). Tasks running on any CPU core can be sent to the corresponding SWQ mapped to the core, thus eliminating the latency attributed to CPU cores competing for a single request queue. In sum, NVMe SSD has a highly scalable architecture that fully utilizes the internal parallelism of SSDsthus alleviating problems associated with performance bottleneck.  

Communication Drivers: SATA vs. NVMe  

Given the fundamental difference in architecture between these communication drivers, they feature different traits in various aspects including their compatibility with storage devices, performance, and data latency.  Key differences between SATA and NVMe are summarized below 

Figure 2Computer Storage Technology

Key Benefits of NVMe  

  • Low Latency: With the increased bandwidth and internal parallelism, NVMe eliminates I/O bottlenecks that persisted in the legacy storage protocolsthus reducing latency in reading and writing data.  
  • Scalable Performance: NVMe delivers data via direct contact with PCIe 3.0 lanes, which alleviates data bottlenecking that can occur with connection technology. This feature offers scalable performance that is required for reflexive inference analysis at the edge.  
  • Reliable Storage: NVMe stores data in flash memory with no moving parts. This minimizes the chance of a disastrous failure and contributes to the ruggedness of edge devices.  
  • Power Efficient: NVMe architecture contains features to regulate the power of SSDsEfficient power management will help enterprises achieve an optimal total cost of ownership (TCO) and extend battery life (5).

 Why is NVMe Important for Rugged Edge Computing?  

NVMe technology grants new applications at the rugged edge. As the number of smart devices increases, more bandwidth and processing power are required for edge computing. With NVMe’s ability to deliver scalable performance and low latency data transfers, smart applications will reap significant benefits through faster and efficient data processing. For instance, machine learning algorithms will require fast non-volatile storage for AI training and inferencing. Simultaneously, valuable data will be filtered back to the data center for advanced IoT management, driving the need for faster storage at the core. Hence, employment of NVMe technology will not be merely a ‘nice-to-have', but potentially a necessity given the perpetual growth of data and wide adoption of IoT devices.  

How is Premio Incorporating NVMe into Rugged Edge Computing? 

Premio has joined the next generation of processing and storage technologies with our VCO-6131E-4M2 AI Edge Inference Computer. Its rapid NVMe storage and high-speed I/O expandability drive efficient data collection and processing for training intelligent machines, quickly offloading essential data to cloud archives for more advanced IoT management. Powerful GPU expandability applies the informed algorithms toward inference analysis tasks at key edge network positions in real-time. In addition, ruggedized hardware architecture safeguards the AI Edge Inference Computer in harsh environment, while seamless connectivity ensures reliable communication from remote and decentralized locations. Hence, the AI Edge Inference Computer represents the ideal rugged edge solution for various applications including industrial automation, metrology and defect detection, surveillance, and smart city, and smart retail.   

References: 

  1. Hernandez (2018). NVMe vs SATA: Comparing Storage Technologies. 
  2. Metz and Lynn (2018). NVMe™ Form Factors Blog Series Part II: “NVMe Building Blocks – Controller, Buffer Memory, Media and Form Factors”.
  3. NVM Express Base Specification. NVM ExpressTM Revision 1.4a.
  4. Kim, S., Kim, K., Shin, H., & Kim, T. (2020). Practical Enhancement of User Experience in NVMe SSDs. Applied Sciences, 10(14), 4765.  
  5. NVMe™ Technology Power Management Features.