A Wear-Leveling-Aware Fine-Grained Allocator for Non-Volatile Memory.

Xianzhang Chen,Zhuge Qingfeng,Qiang Sun,Edwin H-M Sha,Shouzhen Gu,Chaoshu Yang,Chun Jason Xue
DOI: https://doi.org/10.1145/3316781.3317752
2019-01-01
Abstract:Emerging non-volatile memories (NVMs) are promising main memory for their advanced characteristics. However, the low endurance of NVM cells makes them vulnerable to frequent fine-grained updates. This paper proposes a Wear-leveling Aware Fine-grained Allocator (WAFA) for NVM. WAFA divides pages into basic memory units to support fine-grained updates. WAFA allocates the basic memory units of a page in a rotational manner to distribute fine-grained updates evenly on memory cells. The fragmented basic memory units of each page caused by the memory allocation and deallocation operations are reorganized by reform operation. We implement WAFA in Linux kernel 4.4.4. Experimental results show that WAFA can reduce 81.1% and 40.1% of the total writes of pages over NVMalloc and nvm_alloc, the state-of-the-art wear-conscious allocator for NVM. Meanwhile, WAFA shows 48.6% and 42.3% performance improvement over NVMalloc and nvm_alloc, respectively.
What problem does this paper attempt to address?