ZonFS: A Storage Class Memory File System with Memory Zone Partitioning on Linux

2017 
Recent developments in storage class memory such as PCM, MRAM, RRAM, and STT-RAM have strengthened their leadership as storage media for memory-based file systems. Traditional Linux memory-based file systems such as Ramfs and Tmpfs utilize the Linux page cache as a file system. These file systems, when adopted as a file system for SCM, have the following problems. First, current implementation of Ramfs and Tmpfs has no mechanism to explicitly allocate pages from specific memory. Second, memory pages allocated from SCM do not have to follow the Linux kernel's page allocation process exactly. This results in unnecessary performance overhead. To resolve the aforementioned challenges, we propose the development of ZonFS, a memory-based file system using Memory Zone Partitioning. ZonFS is implemented by extending the Linux Ramfs. In particular, we defined a memory zone for SCM, modified the Ramfs to allocate a file system page from SCM. ZonFS implementation avoids running unnecessary Linux VM codes such as (i) inserting a page allocated from SCM into the LRU list for VM page replacement and (ii) checking dirty pages for write back to disk. We also modified the Ramfs to allocate inode cache in SCM and eliminated the risk of inode cache loss in case of power failure. Extensive evaluation indicates that ZonFS has up to 9.1% and 13.8% higher I/O throughputs than native Ramfs and Tmpfs.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    11
    References
    2
    Citations
    NaN
    KQI
    []