Next generation storage: Non-Volatile Memory


  • Olzhas Kaiyrakhmet Nullptr Lock


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


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.


Direct access for files,


Persistent Collections for Java

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.

Izraelevitz, Joseph, et al. "Basic performance measurements of the intel optane DC persistent memory module." arXiv preprint arXiv:1903.05714 (2019).

Intel OptaneTM DC Persistent Memory

Intel Persistent Memory Programming. https://pmem. io/pmdk/

Intel and Micron’s 3D XPointTM Technology. our-innovation/3d-xpoint-technology

Rudoff, Andy. "Persistent memory programming." Login: The Usenix Magazine 42.2 (2017): 34-40.

NVM Programming Model

Kim, Wook-Hee, et al. "FAST and FAIR B+-Tree for Byte-Addressable Persistent Memory."

Cha, Hokeun, et al. "B3-Tree: Byte-Addressable Binary B-Tree for Persistent Memory." ACM Transactions on Storage (TOS) 16.3 (2020): 1-27.

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.

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.

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.

Kannan, Sudarsun, et al. "Redesigning LSMs for nonvolatile memory with NoveLSM." 2018 {USENIX} Annual Technical Conference ({USENIX}{ATC} 18). 2018.

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.

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.

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.

George, Jerrin Shaji, et al. "go-pmem: Native support for programming persistent memory in go." 2020 {USENIX} Annual Technical Conference ({USENIX}{ATC} 20). 2020.



How to Cite

Kaiyrakhmet, O. (2021). Next generation storage: Non-Volatile Memory. SPAST Express, 1(1). Retrieved from



Reviews & Perspectives