Non-Volatile Memory (NVM) is a type of computer memory that holds the data even if power is turned off. Contrasting to NVM is Volatile Memory which needs to be periodically refreshed to hold the data. NVM is commonly used as secondary storage memory or long-term storage. NVM has lower performance and high cost which makes them unsuitable for primary storage. Examples of NVM are flash memories, read-only memory (ROM), magnetic storages like floppy drive and hard disk drive.
NVM is very important for electronic systems as it requires some data to be present on the memory when the system is turned on. Typical uses of NVM is in USB memory storage, hard disk drives and memory cards in digital cameras, cellphones and other devices. Semiconductor memory is the backbone of modern electronics. Reprogrammable NVM in areas other than code storage, like sensing, power management, and wireless connectivity devices use NVM for calibration, configuration, data logging, user settings, and storing security information.
NVM typically stores data in semiconductor memory cells made of floating-gate MOSFET (Metal-Oxide-Semiconductor Field Effect Transistor), including flash memory (NAND or NOR flash memory) and ROM chip such as EPROM (Erasable Programmable ROM) and EEPROM (Electrically Erasable Programmable ROM). In floating gate based memory, a bit of data is stored using the presence or absence of charge which leads to more positive or more negative threshold voltage.
Figure 1: Floating Gate Memory Cell
Types of NVM
Non-volatile memory can be classified into two types:
Mechanically addressed systems
Mechanically addressed systems make use of a contact structure to write and read on a selected storage medium. The amount of data stored this way is much larger than what’s possible in electrically addressed systems. A few examples of mechanically addressed systems are optical disks, hard disks, holographic memory and magnetic tapes. They are affordable but slow since it involves mechanical parts. Access time is longer than electrically addressed systems. Cost per bit of data stored is very low.
Electrically addressed systems
Electrically addressed systems are categorized based on the write mechanism. They offer higher performance but at higher cost. A few examples of electrically addressed systems are Flash memory and EEPROM.
Some examples of NVM include:
PROM (Programmable Read-Only Memory)
This type of memory can be programmed only once after it is manufactured. The data remains there forever after it is programmed.
EPROM (Erasable Programmable Read-Only Memory)
The content of EPROM can be erased with UV light. This type of memory can be reprogrammed. A special device called PROM burner is required to erase or write into the memory. EPROM enable manufacturers to change the content before the memory is shipped. This allows bugs to be fixed in newer version of code shortly before delivery.
EEPROM (Electrically Erasable Programmable Read-Only Memory)
EEPROM can be erased by exposing to electrical charge. It is similar to Flash Memory but differs in that write and erase operations are done on a byte by byte basis.
Flash memories uses two technologies – NAND and NOR. Flash memory are used in modern PC and modems which can be easily updated when necessary. NOR flash provides high-speed random access, reading and writing data in specific memory locations; it can retrieve as little as a single byte. NAND flash reads and writes sequentially at high speed, handling data in small blocks, however it is slower on read when compared to NOR. NAND Flash Memory is widely used NVM.
Synopsys DesignWare® Non-Volatile Memory (NVM) IP provides One-Time Programmable (OTP), Few-Time Programmable (FTP) and Multi-Time Programmable (MTP) NVM supporting 16 bits to 1 Mbit in standard CMOS, BCD, high voltage (HV), embedded flash, and specialty process technologies with no additional masks or processing steps. These memories come with high yields, low power, faster erase/write time and large number of write cycles. It delivers industry-leading reliability in products that support write cycle endurance from one to one million.