La memoria no volátil de acceso aleatorio, referida a veces por sus siglas en inglésNVRAM (Non-volatile random access memory) es un tipo de memoria de acceso aleatorio que, como su nombre indica, no pierde la información almacenada al interrumpirse la alimentación eléctrica.
En los enrutadores se utiliza para almacenar un archivo de configuración de respaldo/inicio.
La necesidad de mantener los datos, incluso cuando cesa la alimentación, motivó el surgimiento de diversos tipos de memoriasROM reprogramables: eléctricamente alterables - EAROM, eléctricamente borrables - EEPROM, programables y borrables - EPROM y flash EEPROM. Cada nuevo tipo mejora la facilidad de grabación y duración de los datos, pero distan de poder utilizarse como memoria RAM.
Para obtener una memoria de escritura rápida y de un número ilimitado de ciclos de escritura existen dos estrategias diferentes:
La primera, propuesta por Dallas Semiconductor, consiste en un circuito híbrido que integra una RAM cmos de bajo consumo, una pila de litio y un controlador, que consiste en un monitor de tensión y la lógica necesaria para inhibir la escritura y mantener los buses en alta impedancia cuando la tensión está fuera de especificaciones. Esta solución aprovecha las ventajas de las CMOS-RAM: velocidad y bajo consumo, y la larga duración de las pilas de lítio (unos diez años). Otros modelos incluyen reloj en tiempo real y otras prestaciones.
La segunda estrategia consiste en superponer una RAM a una EEPROM, bit a bit. En funcionamiento normal los datos se escriben y leen de la RAM, pero ante un pulso de "retención", el contenido de la RAM pasa a la EEPROM en paralelo. Estas EEPROM pueden mantener los datos sin alimentación más de 10 años, superando la vida de pila de litio. El pulso de retención lo puede generar tanto un monitor de tensión interno como una señal generada externamente. Estas memorias necesitan que la alimentación se extinga lo suficientemente despacio como para permitir que se complete la grabación de los datos. En la práctica, los condensadores de la alimentación son suficientes. Cuando la alimentación vuelve a su valor nominal, los datos pasan de la EEPROM a la RAM.