NV-Tree: Reducing Consistency Cost for NVM-based Single Level Systems on FAST 2015.
Single-level storage is virtual memory system which hidden the physical locations of a pages. Whether the memory pages are in DRAM or disks is not important in this storage. The NVM-based Single Level Systems mentioned in this paper replace both DRAM and disks with non-volatile memory, such as phase-change memory (PCM) and spin-transfer torque memory (STT-RAM). The consistency problem is non-trivial in this type of system, because existing CPU and memory controller may reorder memory writes. Studies use CPU instructions, such as memory fence and cacheline, to manually control CPU cacheline flush. However, these operations cause huge write amplification when using existing approaches to keep B+ tree consistent.
The problem observed including:
all the data is stored in LNs, they can be considered as critical data while INs are reconstructable data because they can always be reconstructed from LNs at a reasonably low cost
The INs need not to be updated with a consistency guarantee because they can be reconstructed from LNs.
The write amplification is because of the need to shift entries upon updating an ordered data structure. This paper perform update in an atomic write and allowing parallelism of accessing LN.
This is similar to the design of TPFTL. Memory pages is located by offset instead of pointers to reduce the memory consumption.