non-volatile memory (NVM)
Non-volatile memory (NVMe) is a semiconductor technology that does not require a continuous power supply to retain the data or program code stored in a computing device.
System manufacturers use different types of non-volatile memory chips for a variety of purposes. For instance, one type of NVM might store the controller program code for devices such as hard disk drives (HDDs) and tape drives. Another type of NVM is commonly used for data storage in solid-state drives (SSDs), USB drives and memory cards in digital cameras, cell phones and other devices.
Solid-state storage typically uses a variant of non-volatile memory known as NAND flash. SSDs have no moving parts, and they are capable of higher performance than mechanically addressed HDDs and tape, which use a head to read and write data to magnetic storage media. SSDs directly connected to a computer's processor through a PCI Express (PCIe) bus offer lower latency than Serial-Attached SCSI (SAS)- or Serial Advanced Technology Attachment (SATA)-based SSDs plugged into external drive bays.
Types of non-volatile memory
Many types of non-volatile memory are in use today to read and write data to and from enterprise and consumer systems, and each one offers advantages and disadvantages.
NAND flash, the most common type used in data storage, includes several variations, including single-level cell (SLC), or one bit per cell; multi-level cell (MLC), or two bits per cell; triple-level cell (TLC), or three bits per cell; and quad-level cell (QLC), or four bits per cell.
Manufacturers have continued to develop NAND flash technologies with the goal of reducing the cost per bit. They introduced 3D NAND flash when they encountered difficulty in scaling two-dimensional NAND, which has a single layer of memory cells. Newer 3D NAND flash technology stacks memory cells in vertical layers to achieve greater storage density.
Technology vendors also continue to work on additional non-volatile memory technologies to lower costs, improve performance, increase storage density, raise endurance levels and reduce power consumption.
What's the difference between volatile memory and non-volatile memory?
Volatile memory is a semiconductor technology that requires a continuous power supply to retain stored data. Prominent examples of volatile memory are static random access memory (SRAM) and dynamic RAM (DRAM). Manufacturers sometimes add battery power to volatile memory devices to support persistent data storage.
Enterprise and client computer systems often use a combination of volatile and non-volatile memory technologies, and each memory type has its strengths and weaknesses.
For instance, SRAM is faster than DRAM, and is well suited to high-speed caching. DRAM, a successor to SRAM, is cheaper to produce and requires less power than SRAM in active mode. A common use case for DRAM is storing the main program code that a computer processor needs to function.
Non-volatile NAND flash is slower than DRAM and SRAM for writing and reading data. However, NAND flash is far less expensive to produce than DRAM and SRAM, making the technology a better fit for persistent data storage in business systems and consumer devices.
NVM vs. NVMe
The terms non-volatile memory and non-volatile memory express (NVMe) are similar sounding, but they are separate and distinct in meaning. NVM is a semiconductor technology that emerged in the late 1940s, while NVMe is a host controller interface and storage protocol that a consortium of technology vendors began developing in 2009.
The NVM Host Controller Interface Work Group published the 1.0 NVMe specification on March 1, 2011. NVMe is designed to speed the transfer of data between host systems and SSDs over a computer's PCIe bus. NVMe supports the use of different types of non-volatile memory, such as NAND flash and the 3D XPoint technology developed by Intel and Micron.
NVMe is an alternative to the Small Computer System Interface (SCSI) standard and the Advanced Technology Attachment (ATA) standard in use with SAS and SATA drives, respectively. NVMe uses fewer than half the number of CPU instructions than the SCSI and ATA command sets. NVMe-based PCIe SSDs offer lower latency, higher IOPS and potentially lower power consumption than SAS- and SATA-based SSDs.