/nɒn ˈvɑːlətɪl ˈmɛməri/
noun … “Memory that retains data without power.”
Non-Volatile Memory (NVM) is a type of memory that preserves stored information even when the system loses power. Unlike volatile memory such as RAM, which requires constant power to maintain data, non-volatile memory maintains content permanently or until explicitly overwritten. This property makes NVM essential for storage devices, firmware, and persistent configuration in embedded systems.
Key characteristics of Non-Volatile Memory include:
- Persistence: data remains intact without electrical power.
- Write endurance: limited number of program/erase cycles in devices like Flash or EEPROM.
- Access speed: generally slower than volatile memory, but modern technologies like NVDIMM and 3D XPoint bridge this gap.
- Integration with controllers: often requires wear leveling, ECC, or bad block management for reliability.
- Applications: used in SSDs, BIOS storage, firmware, and persistent logs.
Workflow example: Writing configuration to non-volatile memory:
function save_config(config_data) {
nv_memory.erase_sector(sector_address)
nv_memory.write(sector_address, config_data)
}Here, the data is stored in NVM such as EEPROM or Flash, ensuring it remains available after power loss.
Conceptually, Non-Volatile Memory is like a chalkboard etched in stone: once written, the information stays indefinitely, unlike a whiteboard that disappears when the power or environment changes.