I. Introduction
Persistent memory (PM) coalesces the high performance of DRAM and the persistence of hard disks, blurring the boundary between main memory and external storage [3], [4]. It provides near-DRAM latency and much larger capacity while also retaining data after power-off. Moreover, a user process can directly access PM via load/store instructions in the user space, without kernel involvement [1]. PM creates new opportunities for constructing a new storage architecture and building high-efficiency in-memory applications. Although the first commercial PM product, Intel Optane DC PMM [5], has been recently discontinued, researches on PM are still going on. Our work does not rely on Optane DC PMM and can be used on any other non-volatile memory platform that supports memory-mapping.