non-volatile memory (NVM)
What is non-volatile memory (NVM)?
Non-volatile memory (NVM) is a type of computer storage medium that retains data even in the absence of a power supply. The semiconductor technology used to build such devices ensures that a continuous power supply is not required to retain the data or program code stored in the device.
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.
NAND flash is one of the most common types of NVM. It 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 three-dimensional (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 NVM technologies to lower costs, improve performance, increase storage density, raise endurance levels and reduce power consumption. Today, some types of NVM are also available that can be programmed, erased and rewritten.
Prior to NAND, other forms of NVM were in use, such as magnetic core memory and non-volatile RAM. Magnetic core memory, itself a form of RAM, could retain data indefinitely without power and remained relatively unaffected by electromagnetic interference (EMI) or radiation. However, it was temperature-sensitive and troubleshooting any issues within it required running complicated, time-consuming diagnostic programs. Most modern RAM devices are volatile, although non-volatile RAMs are also available for certain applications.
Applications of non-volatile memory
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, cellphones and other devices.
SSDs typically use a NAND flash to store as blocks. 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. In SSDs, NVM improves loading times and system responsiveness.
Some other applications of NVM include the following:
- Archival storage.
- Embedded systems.
- Industrial systems.
- Digital advertising panels.
- Automotive systems.
- AI-enabled systems.
- Medical equipment.
In general, NVM is useful for storing firmware, boot code, configuration data and other types of critical or historical information that if lost might cause serious performance problems in a computing system.
What is the difference between volatile memory and non-volatile memory?
Volatile memory is a type of memory that requires a continuous power supply to retain stored data. Prominent examples of volatile memory are static RAM (SRAM) and dynamic RAM (DRAM). Manufacturers sometimes add battery power to volatile memory devices to support persistent data storage temporarily in the event of disruptions to the primary power supply. NVM does not require battery power or a continuous supply of main power to retain data.
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.
In general, volatile memory is faster but loses data when the system is powered off while NVM retains data but works slower. That said, NVM offers faster access times and reduced loading times than traditional HDDs.
Many enterprise and client computer systems often use a combination of volatile and non-volatile memory technologies to enable temporary data storage and fast data access along with long-term storage for certain types of files or applications. For this reason, it's overly simplistic (and even incorrect) to say that one type of memory is "better" than the other.
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 type of memory 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 Peripheral Component Interconnect Express (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 Serial-Attached SCSI (SAS) and Serial Advanced Technology Attachment (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.
Check out the guide to flash memory architecture, types and products. Learn about current use cases for the technology and explore future directions.