Durante la próxima década, es probable que la memoria de acceso aleatorio dinámica (DRAM) sea reemplazada en muchas aplicaciones por nuevas formas de memoria no volátil (NVM), que retienen su contenido cuando se pierde la energía. Esta perspectiva plantea la posibilidad de que ciertos datos que anteriormente se mantenían en archivos puedan residir "en memoria" a lo largo de las ejecuciones del programa e incluso en fallos del sistema, lo que llevaría a reducciones significativas en la complejidad del programa y en la sobrecarga de tiempo de ejecución. Para lograr esta visión, esta clase explorará una variedad de temas en el campo en rápida evolución de la memoria persistente, incluyendo fundamentos de hardware (memoria y procesador); criterios de corrección formal (persistencia de memoria, linealidad durable); estructuras de datos persistentes; sistemas de tiempo de ejecución para atomicidad de fallos; asignación dinámica de memoria; y soporte del sistema operativo para la recuperación de fallos y para el uso compartido seguro a nivel de usuario.