Memory Foundations and Applications