NVM Express (NVMe) is already giving a lot of talk between companies and consumers, but some are wondering if this ultrafast protocol of solid state drives (SSD) will also have some future in the framework of integrated solutions. Designed with speed in mind, NVMe has been surpassing all performance benchmarks since the first day. Focusing on parallelism, it has been able to take advantage of the full potential of today's best business and consumer SSDs. However, the markets for integrated and industrial solutions present very different objectives to those of companies and consumers. Instead of speed, implementations of integrated and industrial applications often focus on aspects such as reliability, power consumption and format.
What is NVMe?
Launched in 2012, NVMe is a storage protocol designed for flash drives that runs on a PCI Express (PCIe) electric bus. While previous protocols, such as SATA, were conceived in the era of spinning disks, NVMe was designed from the start to take advantage of the full potential of flash storage. For this, it takes advantage of the parallelism inherent to current computer systems, as well as the random access character of flash storage. Instead of the single SATA command queue, which supports up to 32 commands, NVMe supports up to 64,000 queues, each of which can contain up to 64,000 commands. Since it works through the PCIe bus, NVMe is a fully scalable interface that supports very high maximum speeds.
With lanes with data rates of 1 GB / s that support third-generation PCIe, performance can be multiplied several times. NVMe is a protocol that runs directly on the PCIe bus, so it does not need an I / O controller or a host bus adapter, as SATA or SCSI do. In this way, both the latency and the overall energy consumption of the system are reduced. Unlike SATA, its main competitor, which defines a connector, a bus and a logical protocol (AHCI), NVMe simply describes a logical protocol layer that runs through the PCIe electrical bus. NVMe devices can be presented in many formats and be connected through a physical connector PCIe, M.2 or U.2. Compared to SATA, NVMe not only offers higher speeds, but it works with greater efficiency in general. While AHCI requires four non-cacheable record readings to issue a command, NVMe does not require any, which again allows for lower latency.
It also uses a simplified set of commands that requires less than half the CPU clock cycles of SATA to process an I / O request. Small random I / O operations can also be processed more efficiently. A read request of 4 kB requires two instructions in the case of SATA, while with NVMe only one is needed.
Integrated implementation of NVMe
Although the advantages of NVMe for the storage of high profile companies and consumers are obvious, what is not so clear at first glance is whether NVMe is suitable for implementation in modern integrated applications. After all, SATA has been used successfully for many years and, if something works, why change it? However, NVMe offers more than just speed. Although initially designed with the specific needs of enterprise customers in mind, the intrinsic efficiencies presented by the protocol offer tangible benefits for integrated solution engineers who use handheld oscilloscope.
Energy aspects
Integrated low energy applications are a huge market. Whether for IoT devices, Bluetooth beacons, smartphones or portable technology, these are devices that generally operate on battery and in which energy saving is a key factor. In this market, speed is usually not the main thing. Instead, the fundamental objectives are high reliability, a compact format and, above all, a reduced energy consumption. NVMe has advanced error management and notification functions, including comprehensive data protection. This protection uses metadata tags to ensure that the data that is written to the unit and the data that is read from that unit in the system are correct; a very useful feature for those applications in which the integrity of the data is essential. Although NVMe does not require limiting itself to a particular size and shape, it is compatible with the M.2 format, one of the smallest and most dense SSD formats on the market. The M.2 standard allows modules with widths of 12 to 30 mm and lengths between 16 and 110 mm. While the M.2 SSDs of consumption usually have to resort to longer formats to offer greater capacity, M.2 allows to work with integrated systems that do not require such ample capacities and, therefore, can use extremely small SSDs. In addition to M.2, NVMe SSDs can be presented in BGA packages, allowing them to compete directly with the eMMC SSDs. NVMe technology also allows very low power consumption.
Since record readings without caching are eliminated and write operations require a maximum of one record reading, small random I / O operations can also be extremely efficient. The simplified protocol and the fast performance of NVMe allows greater energy efficiency when the unit is active. In addition, its compatibility with PCIe power management features increases efficiency even when the unit is idle. The PCIe link can consume a large amount of power (up to 50 mW) even in its usual L1 idle state, and for this reason, advanced power management modes were added which further reduced consumption in the idle mode. Sub-state L1.1 reduces the use of energy while maintaining the common mode voltage,
Since they support these two modes, NVMe SSDs can achieve an idle mode power consumption of only 2.5 mW, 50% less than the corresponding DevSLP idle mode of most SATA SSDs. In addition, while SATA DevSLP requires a signal sent by the operating system to enter the power saving mode, the NVMe units can use autonomous power state transitions, programmed into the unit controller. In this way, the unit can quickly enter and exit autonomously from the energy saving mode at the hardware level, thereby maximizing the time in idle mode and minimizing activation latencies of the unit. Although NVMe is not such a strong competitor to eMMC flash from the point of view of the most affordable low-energy integrated devices,
NVMe for mobile devices and peripheral computing
In addition to low-power devices, mobile and peripheral computing ("edge computing") are growing sectors within integrated solutions. These applications include smartphones, tablets, laptops, routers and gateways designed to process and analyze data at the periphery of the network. Mobile devices run on batteries and have limited energy reserves, but the storage capacity is remarkable and performance in this regard is important. For these devices, NVMe is a very good option thanks to its performance, its reduced format and its low power consumption, as well as its direct integration without the need for a host storage controller chip. NVMe 1.2 has also introduced the Host Memory Buffer (HMB) function.
Thanks to this feature, the NVMe SSD can be smaller, significantly cheaper and more efficient from the energy point of view, without sacrificing fast storage performance. Along with mobile computing, peripheral computing is another area in which storage capacity and performance are paramount. Present in autonomous vehicles, drones, routers and gateways that process data, peripheral computing starts from the premise that not everything can, or should, be done in the cloud. In a highly automated factory, an IoT gateway can send production data to the cloud to analyze large amounts of data ("big data"), but it can also perform some basic analysis on that data that provides information in real time, in order to to improve manufacturing efficiency.
In this case, the response from the cloud may take too long for the processed data to be useful. These gateways may not have the same performance requirements as enterprise servers, but latency and bandwidth are still extremely important when performing real-time data processing. In this sense, NVMe is an obvious alternative.
NVMe for integrated storage
The integrated storage market is wide and diverse, with different needs ranging from low power consumption to performance at the level of desktops or even servers. Although NVMe has focused especially on the high input / output operations per second (IOPS) for data centers and the like, the efficiencies of this new protocol make it an increasingly attractive solution for integrated storage applications. In the case of low-energy integrated devices, NVMe can be adjusted to the smallest formats. Its lightweight software stack and its direct interface with the PCIe bus mean speed, efficiency and ease of implementation. Its ability to support low-energy states of PCIe also helps maintain a minimum power consumption.
Although NVMe will probably never replace eMMC, its advantages make it a good candidate for applications that currently use mSATA. Thanks to its PCIe Gen3 x4 NVMe interface, the Intel NAND SSD Series 600p 3D module is up to 17 times faster than an HDD and 3 times faster than conventional SATA-based SSDs. It allows to reduce the power consumption by more than 90% compared to an HDD and thus significantly extend the battery life. At the Flash Memory Summit 2017, held this summer, Swissbit presented its N-10. It is a prototype NVMe PCIe M.2 SSD module with a 2-lane, 4-channel layout specifically designed for system designs with energy and space limitations in the integrated environment.
What is NVMe?
Launched in 2012, NVMe is a storage protocol designed for flash drives that runs on a PCI Express (PCIe) electric bus. While previous protocols, such as SATA, were conceived in the era of spinning disks, NVMe was designed from the start to take advantage of the full potential of flash storage. For this, it takes advantage of the parallelism inherent to current computer systems, as well as the random access character of flash storage. Instead of the single SATA command queue, which supports up to 32 commands, NVMe supports up to 64,000 queues, each of which can contain up to 64,000 commands. Since it works through the PCIe bus, NVMe is a fully scalable interface that supports very high maximum speeds.
With lanes with data rates of 1 GB / s that support third-generation PCIe, performance can be multiplied several times. NVMe is a protocol that runs directly on the PCIe bus, so it does not need an I / O controller or a host bus adapter, as SATA or SCSI do. In this way, both the latency and the overall energy consumption of the system are reduced. Unlike SATA, its main competitor, which defines a connector, a bus and a logical protocol (AHCI), NVMe simply describes a logical protocol layer that runs through the PCIe electrical bus. NVMe devices can be presented in many formats and be connected through a physical connector PCIe, M.2 or U.2. Compared to SATA, NVMe not only offers higher speeds, but it works with greater efficiency in general. While AHCI requires four non-cacheable record readings to issue a command, NVMe does not require any, which again allows for lower latency.
It also uses a simplified set of commands that requires less than half the CPU clock cycles of SATA to process an I / O request. Small random I / O operations can also be processed more efficiently. A read request of 4 kB requires two instructions in the case of SATA, while with NVMe only one is needed.
Integrated implementation of NVMe
Although the advantages of NVMe for the storage of high profile companies and consumers are obvious, what is not so clear at first glance is whether NVMe is suitable for implementation in modern integrated applications. After all, SATA has been used successfully for many years and, if something works, why change it? However, NVMe offers more than just speed. Although initially designed with the specific needs of enterprise customers in mind, the intrinsic efficiencies presented by the protocol offer tangible benefits for integrated solution engineers who use handheld oscilloscope.
Energy aspects
Integrated low energy applications are a huge market. Whether for IoT devices, Bluetooth beacons, smartphones or portable technology, these are devices that generally operate on battery and in which energy saving is a key factor. In this market, speed is usually not the main thing. Instead, the fundamental objectives are high reliability, a compact format and, above all, a reduced energy consumption. NVMe has advanced error management and notification functions, including comprehensive data protection. This protection uses metadata tags to ensure that the data that is written to the unit and the data that is read from that unit in the system are correct; a very useful feature for those applications in which the integrity of the data is essential. Although NVMe does not require limiting itself to a particular size and shape, it is compatible with the M.2 format, one of the smallest and most dense SSD formats on the market. The M.2 standard allows modules with widths of 12 to 30 mm and lengths between 16 and 110 mm. While the M.2 SSDs of consumption usually have to resort to longer formats to offer greater capacity, M.2 allows to work with integrated systems that do not require such ample capacities and, therefore, can use extremely small SSDs. In addition to M.2, NVMe SSDs can be presented in BGA packages, allowing them to compete directly with the eMMC SSDs. NVMe technology also allows very low power consumption.
Since record readings without caching are eliminated and write operations require a maximum of one record reading, small random I / O operations can also be extremely efficient. The simplified protocol and the fast performance of NVMe allows greater energy efficiency when the unit is active. In addition, its compatibility with PCIe power management features increases efficiency even when the unit is idle. The PCIe link can consume a large amount of power (up to 50 mW) even in its usual L1 idle state, and for this reason, advanced power management modes were added which further reduced consumption in the idle mode. Sub-state L1.1 reduces the use of energy while maintaining the common mode voltage,
Since they support these two modes, NVMe SSDs can achieve an idle mode power consumption of only 2.5 mW, 50% less than the corresponding DevSLP idle mode of most SATA SSDs. In addition, while SATA DevSLP requires a signal sent by the operating system to enter the power saving mode, the NVMe units can use autonomous power state transitions, programmed into the unit controller. In this way, the unit can quickly enter and exit autonomously from the energy saving mode at the hardware level, thereby maximizing the time in idle mode and minimizing activation latencies of the unit. Although NVMe is not such a strong competitor to eMMC flash from the point of view of the most affordable low-energy integrated devices,
NVMe for mobile devices and peripheral computing
In addition to low-power devices, mobile and peripheral computing ("edge computing") are growing sectors within integrated solutions. These applications include smartphones, tablets, laptops, routers and gateways designed to process and analyze data at the periphery of the network. Mobile devices run on batteries and have limited energy reserves, but the storage capacity is remarkable and performance in this regard is important. For these devices, NVMe is a very good option thanks to its performance, its reduced format and its low power consumption, as well as its direct integration without the need for a host storage controller chip. NVMe 1.2 has also introduced the Host Memory Buffer (HMB) function.
Thanks to this feature, the NVMe SSD can be smaller, significantly cheaper and more efficient from the energy point of view, without sacrificing fast storage performance. Along with mobile computing, peripheral computing is another area in which storage capacity and performance are paramount. Present in autonomous vehicles, drones, routers and gateways that process data, peripheral computing starts from the premise that not everything can, or should, be done in the cloud. In a highly automated factory, an IoT gateway can send production data to the cloud to analyze large amounts of data ("big data"), but it can also perform some basic analysis on that data that provides information in real time, in order to to improve manufacturing efficiency.
In this case, the response from the cloud may take too long for the processed data to be useful. These gateways may not have the same performance requirements as enterprise servers, but latency and bandwidth are still extremely important when performing real-time data processing. In this sense, NVMe is an obvious alternative.
NVMe for integrated storage
The integrated storage market is wide and diverse, with different needs ranging from low power consumption to performance at the level of desktops or even servers. Although NVMe has focused especially on the high input / output operations per second (IOPS) for data centers and the like, the efficiencies of this new protocol make it an increasingly attractive solution for integrated storage applications. In the case of low-energy integrated devices, NVMe can be adjusted to the smallest formats. Its lightweight software stack and its direct interface with the PCIe bus mean speed, efficiency and ease of implementation. Its ability to support low-energy states of PCIe also helps maintain a minimum power consumption.
Although NVMe will probably never replace eMMC, its advantages make it a good candidate for applications that currently use mSATA. Thanks to its PCIe Gen3 x4 NVMe interface, the Intel NAND SSD Series 600p 3D module is up to 17 times faster than an HDD and 3 times faster than conventional SATA-based SSDs. It allows to reduce the power consumption by more than 90% compared to an HDD and thus significantly extend the battery life. At the Flash Memory Summit 2017, held this summer, Swissbit presented its N-10. It is a prototype NVMe PCIe M.2 SSD module with a 2-lane, 4-channel layout specifically designed for system designs with energy and space limitations in the integrated environment.