Next generation storage: Non-Volatile Memory

Main Article Content

Article Sidebar

Published Mar 6, 2024
Olzhas Kaiyrakhmet

Abstract

The next generation memory storage revolution is triggered with the advent of the Non-Volatile Memory (NVRAM), also known as Persistent Memory (PM). Previous revolution had occurred when flash memory was introduced. Likewise, NVRAM is going to deliver new possibilities for applications. However, the new memory can hardly find usage for regular consumers now. Most of the research is currently focused around the applications pertaining to fast operations on large data, such as SQL/NoSQL databases, data analytics, and storage systems. Unless the foundations of a good understanding and practices are not laid down, this technology would not reach its full potential of applications. In this paper we introduce this new memory technology, the current state of research with it, and the possible future developments.

How to Cite

Kaiyrakhmet, O. (2024). Next generation storage: Non-Volatile Memory. SPAST Reports, 2(2). Retrieved from https://spast.org/ojspath/article/view/23
Abstract 270 | PDF Version Download Downloads 149

Article Details

Keywords

NVRAM, Persistent Memory, Non-volatile Memory, Intel Optane PM

References
1. Direct access for files, kernel.org https://www.kernel.org/doc/Documentation/filesystems/dax.txt
2. PMDK https://pmem.io/pmdk/
3. Persistent Collections for Java https://github.com/pmem/pcj
4. Yang, Jian, et al. "An empirical guide to the behavior and use of scalable persistent memory." 18th {USENIX} Conference on File and Storage Technologies ({FAST} 20). 2020. https://www.usenix.org/conference/fast20/presentation/yang
5. Izraelevitz, Joseph, et al. "Basic performance measurements of the intel optane DC persistent memory module." arXiv preprint arXiv:1903.05714 (2019). https://arxiv.org/abs/1903.05714
6. Intel OptaneTM DC Persistent Memory https://www.intel.com/content/www/us/en/architecture-and-technology/optane-dc-persistent-memory.html
7. Intel Persistent Memory Programming. https://pmem. io/pmdk/
8. Intel and Micron’s 3D XPointTM Technology. https://www.micron.com/about/ our-innovation/3d-xpoint-technology
9. Rudoff, Andy. "Persistent memory programming." Login: The Usenix Magazine 42.2 (2017): 34-40. https://www.usenix.org/system/files/login/articles/login_summer17_07_rudoff.pdf/
10. NVM Programming Model https://www.snia.org/tech_activities/standards/curr_standards/npm
11. Kim, Wook-Hee, et al. "FAST and FAIR B+-Tree for Byte-Addressable Persistent Memory." http://nvmw.ucsd.edu/nvmw2019-program/unzip/current/nvmw2019-final51.pdf
12. Cha, Hokeun, et al. "B3-Tree: Byte-Addressable Binary B-Tree for Persistent Memory." ACM Transactions on Storage (TOS) 16.3 (2020): 1-27. https://dl.acm.org/doi/abs/10.1145/3394025
13. Lee, Se Kwon, et al. "Recipe: converting concurrent DRAM indexes to persistent-memory indexes." Proceedings of the 27th ACM Symposium on Operating Systems Principles. 2019. https://dl.acm.org/doi/pdf/10.1145/3341301.3359635
14. Yao, Ting, et al. "MatrixKV: Reducing Write Stalls and Write Amplification in LSM-tree Based {KV} Stores with Matrix Container in {NVM}." 2020 {USENIX} Annual Technical Conference ({USENIX}{ATC} 20). 2020. https://www.usenix.org/conference/atc20/presentation/yao
15. Han, Shukai, Dejun Jiang, and Jin Xiong. "SplitKV: Splitting {IO} Paths for Different Sized Key-Value Items with Advanced Storage Devices." 12th {USENIX} Workshop on Hot Topics in Storage and File Systems (HotStorage 20). 2020. https://www.usenix.org/conference/hotstorage20/presentation/han
16. Kannan, Sudarsun, et al. "Redesigning LSMs for nonvolatile memory with NoveLSM." 2018 {USENIX} Annual Technical Conference ({USENIX}{ATC} 18). 2018. https://www.usenix.org/conference/atc18/presentation/kannan
17. Kaiyrakhmet, Olzhas, et al. "SLM-DB: single-level key-value store with persistent memory." 17th {USENIX} Conference on File and Storage Technologies ({FAST} 19). 2019. https://www.usenix.org/conference/fast19/presentation/kaiyrakhmet
18. Anderson, Thomas E., et al. "Assise: Performance and Availability via Client-local {NVM} in a Distributed File System." 14th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 20). 2020. https://www.usenix.org/conference/osdi20/presentation/anderson
19. Yang, Jian, Joseph Izraelevitz, and Steven Swanson. "Orion: A distributed file system for non-volatile main memory and RDMA-capable networks." 17th {USENIX} Conference on File and Storage Technologies ({FAST} 19). 2019. https://www.usenix.org/conference/fast19/presentation/yang
20. George, Jerrin Shaji, et al. "go-pmem: Native support for programming persistent memory in go." 2020 {USENIX} Annual Technical Conference ({USENIX}{ATC} 20). 2020. https://www.usenix.org/conference/atc20/presentation/george
Section
First Indus Four 24