Wear-leveling-aware Buddy-Like Memory Allocator for Persistent Memory File Systems

Zhiwang Yu,Chaoshu Yang,Runyu Zhang,Pengpeng Tian,Xianyu He,Lening Zhou,Hui Li,Duo Liu
DOI: https://doi.org/10.1016/j.future.2023.08.013
2024-01-01
Abstract:Existing persistent memory file systems usually ignore the problem that persistent memories (PMs) have limited write endurance. Then the underlying PMs can be damaged easily by the unbalanced writes of file systems. However, existing wear-leveling-aware space management techniques mainly focus on providing higher-balanced writes to PMs rather than reducing the overhead, which can lead to serious performance degradation of persistent memory file systems. In this paper, we propose an efficient wear-leveling-aware buddy-like memory allocator, called WBAlloc, to achieve a higher-accuracy wear-leveling of PM while improving the performance of persistent memory file systems. Like the buddy memory allocator, WBAlloc adopts a multi-level allocator to manage the unused space of PM, and each allocator represents a range of allocation granularity, which can achieve O(1) time complexity in both allocation and deallocation. We implement the proposed WBAlloc in the Linux kernel based on NOVA, a typical persistent memory file system. Compared with original NOVA, DWARM, and WMAlloc (DWARM and WMAlloc are the state-of-the-art wear-leveling-aware allocators of persistent memory file systems), the experimental results show that the proposed WBAlloc can achieve 26.23%, 80.46%, 15.61% performance improvement while reducing the maximum writes by up to 338.88%, 159.28%, and 29.45% on average, respectively.
What problem does this paper attempt to address?