Font Size: a A A

Design And Implementation Of Wear-out-Aware Persistent Memory Filesystem

Posted on:2021-04-04Degree:MasterType:Thesis
Country:ChinaCandidate:Q MaFull Text:PDF
GTID:2428330623467783Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the technical advance,the difference between DRAM and storage device(HDD/ SSD)is gradually expanding,and the emergence of non-volatile memory fills in the huge difference between DRAM and these traditional persistent storage devices.It not only has the characteristics of DRAM's byte addressability and fast access speed,but also has the characteristics of storage device,such as high capacity and persistence.However,these excellent characteristics of non-volatile memory also brings many new challenges to the design of file systems.First of all,many optimization measures based on HDD and SSD of traditional file system are no longer applicable to non-volatile memory,and even bring the opposite effect.Second,the non-volatile memory can be directly connected to the DDR channel,and being accessed by MOV Instructions,which makes the file system data more vulnerable to be corrupt due to dangling pointer errors.Finally,the non-volatile memory device suffers from limited write endurance,and the issue of wear leveling is necessary to be considered when designing a file system for the sake of delaying its life.and what's worse is,the wear leveling algorithms usually takes the block(such as 4096 bytes)as the unit of write count statistics,but the non-volatile memory is byte addressable,which means the frequent writes of small data will lead to uneven wear inside the block,and that would reduce the life of non-volatile memory.To address these problems,this paper designed a wear-aware non-volatile memory file system.The file system can be devided into three layers: the access protection layer,the wear leveling layer and the file system layer.The access protection layer is based on the page table mechanism of modern cpus,and implements private mapping of nonvolatile memory in the kernel mode,to achieve the purpose of accessing and protecting of non-volatile memory,and solves the problem of data corruption caused by dangling pointers.The wear leveling layer is based on the access protection layer and aims to solve the problem of uneven wear between blocks.This layer first counts each block in a mixed granularity(2MB and 4KB);then,it introduces the concept of a periodic wear count threshold to reduce the space overhead of metadata;finally,it abstracts a logical space to decouple from the upper layersThe file system layer is based on the wear leveling layer and refers to the idea of a log-structured file system to implement the core functions of the file system.On the one hand,this layer solves the problem of uneven wear inside the block by sequentially writing discrete data to the log;on the other hand,this layer is aware of the mixed granularity count mechanism of the wear-leveling layer,so that it can implement further optimizations according the different sizes of the files.
Keywords/Search Tags:non-volatile memory, file system, wear leveling, dangling pointer
PDF Full Text Request
Related items