V-WAFA: an Endurance Variation Aware Fine-Grained Allocator for Persistent Memory
Xiaoliu Feng,Xianzhang Chen,Qingfeng Zhuge,Duo Liu,Edwin H. -M. Sha,Chun Jason Xue
DOI: https://doi.org/10.1109/tc.2022.3197086
IF: 3.183
2023-01-01
IEEE Transactions on Computers
Abstract:Benefiting from numerous attractive characteristics, persistent memory (PM) has become a promising substitute for DRAM. Unfortunately, PM suffers from limited endurance of memory cells, especially with the unbalanced wears induced by applications. Even though several wear-leveling aware allocators have been proposed to prolong the lifespan of PM, they fail to perceive the endurance variation among memory cells, which may severely damage the weak cells. In this paper, we propose V-WAFA, a fine-grained PM allocator that considers endurance variation to improve the lifespan of PM. First, V-WAFA adopts a priority-based wear-leveling strategy to mitigate the side-effect of endurance variation among pages. Second, V-WAFA utilizes fine-grained space management and allocation strategy inside pages. Briefly, V-WAFA divides pages into basic units and allocates the basic units of a page in a rotational manner to evenly distribute fine-grained updates on memory cells. We implement V-WAFA in Linux 4.4.4 and evaluate it by running standard workloads on Redis, a typical in-memory key-value store. Evaluation results show that the wear-leveling effect of V-WAFA exceeds that of malloc, nvm_malloc, WAlloc, NVMalloc, and WAFA for 7.02×, 6.91×, 5.7×, 5.68×, and 3.78×, respectively. V-WAFA also achieves similar performance with state-of-the-art PM allocators on Redis running YCSB workloads.