Non-Volatile Memory Express or NVMe is a high-performance and scalable protocol mostly used in flash memory technology and solid-state drive implementation. This protocol has been integrated into high-end desktop and laptop computers, external storage peripherals, as well as mid-level and flagship mobile devices such as smartphones and tablet computers.
Pros of Non-Volatile Memory Express: Advantages of NVMe
Generally a Faster Flash Storage Protocol
One of the reasons why iPhones and iPads are relatively faster than most Android smartphones and tablets is that Apple has used NVMe for its flash storage while most Android manufacturers use the Universal Flash Storage or UFS standard.
Note that UFS started to become a new standard in 2014 because it has specific advantages over Embedded MultiMediaCard or eMMC. Comparisons revealed that UFS 2.0 has a sequential read of 350 MB/s and sequential write of 150 MB/s while eMMC 5.1 has a sequential read of 250 MB/s and sequential write of 125 MB/s.
The Universal Flash Storage also reads and writes at the same time, unlike eMMC. It is also twice as energy-efficient when not in operation. This standard soon became widely used in external flash drives and internal SSD storage of laptops. The first smartphone that used UFS was Samsung Galaxy S6 that was released in 2015. Other Android manufacturers followed suit.
However, Non-Volatile Memory Express emerged as a better standard for flash storage than UFS. It first became popular in high-end laptops equipped with solid-state drives. Manufacturers prefer this protocol because it is inherently faster. Examples include MacBook devices from Apple and high-end Windows-based laptops.
The release of the iPhone 6S in 2015 proved the advantage of NVMe over UFS. This device uses an internal storage based on Triple Level Cell NAND connected via Non-Volatile Memory Express. Speed test results revealed that iPhone 6S outcompeted other flagship smartphones of that time with its sequential read speed of 402 MB/s and sequential write of 163 MB/s.
Works Efficiently With Solid-State Drives
Most solid-state drives used buses to include Serial ATA or SATA, Serial Attached SCSI or SAS, or Fibre Channel to interface with a computer system. The mass availability of SSDs resulted in the wider utilization and preference for the SATA bus interface because of its advantages over SAS and Fiber Channel.
However, similar to SAS, SATA was designed primarily for hard disk drives or HDDs. Thus, because it is not a native interface and a legacy technology for solid-state drives, it held back the advantages and potentials of using storage systems based on flash memory.
Non-Volatile Memory Express used over PCI Express or PCIe was introduced as a solution to maximize the advantage of SSDs. It was designed specifically from the ground up and for NAND solid-state drives based on PCIe. The intention was to introduce a particular interfacing protocol that will efficiently work with SSDs.
Understanding the advantages of Non-Volatile Memory Express requires understanding how it differs from SATA. Hence, as a backgrounder, although the SATA protocol serves as a bridge between flash memory and the computer system, there are other application layers in between to include flash controller, SATA driver, and software RAID.
NVMe uses a shorter technology stack by removing unnecessary application layers to establish a direct link between the flash memory and the computer system. This shorter stack supports data transport efficiency and reduces latency. This characteristic is useful in operating systems that constantly read and produce small bits of data.
Flexibility in Implementation and Applications
This protocol also comes in different form factors. Most early NVMe SSDs with “half height, half length” and “full height, and full length” add-in card form factors while U.2 and U.3 were introduced as a response to newer iterations to PCIe and evolving hardware requirements.
Note that the M.2 form factor emerged as a more modern type of internally mounded expansion card. It is interesting to note that this form factor can use either the standard SATA interface or the faster PCIe interface, depending on its type and functionality. An M.2 device used for SSD takes lesser space and looks cleaner than form factors.
It is also worth mentioning that the Non-Volatile Memory Express protocol supports different hardware environments to include internal desktop and laptop storage, as well as external storage. It also supports various operating systems such as Windows from Microsoft, macOS from Apple, Linux distributions such as Debian and Ubuntu, and Chrome OS from Google.
Apple has demonstrated the use of this protocol in mobile devices and a mobile operating system with the introduction of the iPhone 6S. Of course, it was impossible to fit a standard SSD in a smartphone. As a workaround, what the company did was to modify the NVMe protocol and develop their own custom PCIe controller.
Cons of Non-Volatile Memory Express: Disadvantages of NVMe
Non-Volatile Memory Express is undeniably superior over Embedded Multimedia Card and Universal Flash Storage. This protocol also maximizes the advantages of solid-state drives over hard disk drives. There are still some notable drawbacks and limitations.
Take note of the following disadvantages of NVMe:
Considerably Expensive than Other Protocols
Hard disk drives are cheaper than solid-state drives because they are based on older and established technologies that have promoted manufacturing efficiency and helped drive down manufacturing costs. Lower production costs translate to lower end-user prices. The existing demand also helps bring down the end-user price further.
The costs and end-use price-points of SSDs or flash memory and related technologies are starting to go down due to emerging demand from portable devices such as laptops, smartphones, and tablets, as well as end-user demand from the general consumers.
However, when comparing different interfacing protocols, a notable disadvantage of NVMe is that it is more expensive than SATA, eMMC, and UFS technologies and protocols. This is the reason why flash memory storages or solid-state storages based on Non-Volatile Memory Express are often found in mid-level to top-tier devices.
The protocol also depends on more expensive high-performance SSDs. Furthermore, it is not cost-effective in situations that require storing large volumes of memory. Of course, Non-Volatile Memory Express is a newer technology than the three. Furthermore, there is a smaller demand for storages based on this protocol because it is relatively new.
Legacy and Other Compatibility Issues
Utilizing flash or solid-state storages based on PCIe and NVMe on older desktop and laptop computers, as well as data servers and other machines, might be not feasible or practical due to the cost implications. Several older devices use motherboards with more established interfaces such as SATA and form factors such as U.2.
What this means is that there is a need to replace these older motherboards to accommodate high-performing storages. Another option is to replace these machines as part of a storage system upgrade. Doing either of these two is undeniably costly. The second option can be impractical for machines that are still working and remain serviceable.
Availability is also an issue despite the inherent flexibility and possible applications of NVMe. Data servers and other client machines that use this protocol use the M.2 format. This limits the selection of storage devices compared to other storage protocols and solutions.
It is also worth mentioning that implementing flash storage based on Non-Volatile Memory Express in smartphones and tablets is not readily doable. Remember that Apple has to design a modified PCIe controller to fit the entire technology within a small real estate.