Na próxima década, a memória dinâmica de acesso aleatório (DRAM) provavelmente será substituída em muitas aplicações por novas formas de memória não volátil (NVM), que retêm seu conteúdo quando a energia é perdida. Essa perspectiva levanta a possibilidade de que certos dados anteriormente mantidos em arquivos possam, em vez disso, residir "na memória" ao longo das execuções do programa e até mesmo em falhas do sistema, levando a reduções significativas na complexidade do programa e na sobrecarga em tempo de execução. Para alcançar essa visão, esta aula explorará uma variedade de tópicos no campo em rápida evolução da memória persistente, incluindo fundamentos de hardware (memória e processador); critérios de correção formal (persistência da memória, linearizabilidade durável); estruturas de dados persistentes; sistemas em tempo de execução para atomicidade de falhas; alocação dinâmica de memória; e suporte do sistema operacional para recuperação de falhas e para compartilhamento seguro em nível de usuário.