La memoria non volatile è una tipologia di memoria informatica in grado di mantenere le informazioni anche quando non viene alimentata. Esempio di memorie non volatili sono le read only memory, le flash memory, la maggior parte di memorie magnetiche e i primi metodi di memorizzazione informatica come le schede perforate e i nastri perforati. Le memorie non volatili sono utilizzate comunemente come memorie secondarie per memorizzare dati intermedi o per memorizzare dati da archiviare. La più comune memoria utilizzata come memoria primaria è la memoria RAM (che è una memoria volatile) che tendenzialmente è più veloce delle memorie secondarie ma ha lo svantaggio di perdere i dati quando viene privata dell’alimentazione. Diverse società stanno cercando di sviluppare memorie non volatili ma con caratteristiche di velocità, consumo e costo comparabili con quelle delle memorie RAM. L’utilizzo di memorie non volatili come memoria primaria potrebbe permettere di evitare le lente fasi di avvio dei computer, riducendo i tempi morti e riducendo i consumi energetici. Le memorie di archiviazione dati possono essere divise in memorie elettriche e memorie meccaniche, le memorie elettroniche sono relativamente veloci ma sono costose mentre le memorie meccaniche sono tendenzialmente più lente ma sono mediamente più economiche.