wrJFS: A Write-Reduction Journaling File System for Byte-addressable NVRAM

Non-volatile random-access memory (NVRAM) becomes a mainstream storage device in embedded systems due to its favorable features, such as small size, low power consumption, and short read/write latency. Unlike dynamic random access memory (DRAM), NVRAM has asymmetric performance and energy consumption on read/write operations. Generally, on NVRAM, a write operation consumes more energy and time than a read operation. Unfortunately, current mobile/embedded file systems, such as EXT2/3 and EXT4, are very unfriendly for NVRAM devices. The reason is that current mobile/embedded file systems employ a journaling mechanism for increasing its data reliability. Although a journaling mechanism raises the safety of data in a file system, it also repeatedly writes data to a data storage while data is committed and checkpointed. Though several related works have been proposed to reduce the amount of write traffic to NVRAM, they still cannot effectively minimize the write amplification of a journaling mechanism. Such observations motivate us to design a two-phase write reduction journaling file system called wrJFS. In the first phase, wrJFS classified data into two categories: Metadata and user data. As the size of metadata is usually very small (few bytes), byte-enabled journaling strategy will handle metadata during commit and checkpoint stages. In contrast, the size of user data is very large relative to metadata; thus, user data will be processed in the second phase. In the second phase, user data will be compressed by hardware encoder to reduce the write size and managed compressed-enabled journaling strategy to avoid the write amplification on NVRAM. Moreover, we analyze the overhead of wrJFS and show that the overhead is negligible. According to the experimental results, the proposed wrJFS outperforms other journaling file systems even though the experiments include the overhead of data compression.

[1]  Tei-Wei Kuo,et al.  An adaptive file-system-oriented FTL mechanism for flash-memory storage systems , 2012, TECS.

[2]  Rami G. Melhem,et al.  PRES: Pseudo-Random Encoding Scheme to increase the bit flip reduction in the memory , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[3]  Renhai Chen,et al.  On-Demand Block-Level Address Mapping in Large-Scale NAND Flash Storage Systems , 2015, IEEE Transactions on Computers.

[4]  Sean Eilert,et al.  Phase Change Memory: A New Memory Enables New Memory Usage Models , 2009, 2009 IEEE International Memory Workshop.

[5]  Alexander Beck,et al.  A data compression scheme for reliable data storage in non-volatile memories , 2015, 2015 IEEE 5th International Conference on Consumer Electronics - Berlin (ICCE-Berlin).

[6]  Yuan Xue,et al.  Minimizing MLC PCM write energy for free through profiling-based state remapping , 2015, The 20th Asia and South Pacific Design Automation Conference.

[7]  Jin-Soo Kim,et al.  zFTL: power-efficient data compression support for NAND flash-based consumer electronics devices , 2011, IEEE Transactions on Consumer Electronics.

[8]  Kartik Mohanram,et al.  Flip-Mirror-Rotate: An Architecture for Bit-write Reduction and Wear Leveling in Non-volatile Memories , 2015, ACM Great Lakes Symposium on VLSI.

[9]  Jan Lindström,et al.  NVM Compression - Hybrid Flash-Aware Application Level Compression , 2014, INFLOW.

[10]  Eunji Lee,et al.  Design and Implementation of a Journaling File System for Phase-Change Memory , 2015, IEEE Transactions on Computers.

[11]  Eunji Lee,et al.  Unioning of the buffer cache and journaling layers with non-volatile memory , 2013, FAST.

[12]  Sunggu Lee,et al.  A small non-volatile write buffer to reduce storage writes in smartphones , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  Rami G. Melhem,et al.  Space Oblivious Compression: Power Reduction for Non-Volatile Main Memories , 2015, ACM Great Lakes Symposium on VLSI.

[14]  Jason Waterman Crash Consistency: FSCK and Journaling , 2018 .

[15]  Wei-Kuan Shih,et al.  Enabling write-reduction strategy for journaling file systems over byte-addressable NVRAM , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

[16]  Jun Yang,et al.  Fine-grained metadata journaling on NVM , 2016, 2016 32nd Symposium on Mass Storage Systems and Technologies (MSST).

[17]  Kern Koh,et al.  Swapping Strategy to Improve I/O Performance of Mobile Embedded Systems Using Compressed File Systems , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[18]  Yifeng Zhu,et al.  Accelerating write by exploiting PCM asymmetries , 2013, 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA).

[19]  Andrea C. Arpaci-Dusseau,et al.  Analysis and Evolution of Journaling File Systems , 2005, USENIX Annual Technical Conference, General Track.

[20]  Jeffrey Katcher,et al.  PostMark: A New File System Benchmark , 1997 .

[21]  Bruce Jacob,et al.  Technology comparison for large last-level caches (L3Cs): Low-leakage SRAM, low write-energy STT-RAM, and refresh-optimized eDRAM , 2013, 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA).

[22]  Jingtong Hu,et al.  Image-Content-Aware I/O Optimization for Mobile Virtualization , 2016, ACM Trans. Embed. Comput. Syst..

[23]  Onur Mutlu,et al.  Architecting phase change memory as a scalable dram alternative , 2009, ISCA '09.

[25]  Kyu Ho Park,et al.  JFTL: A flash translation layer based on a journal remapping for flash memory , 2009, TOS.

[26]  Zhiping Jia,et al.  Unified DRAM and NVM hybrid buffer cache architecture for reducing journaling overhead , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).