MRAMFS: a compressing file system for non-volatile RAM

File systems using non-volatile RAM (NVRAM) promise great improvements in file system performance over conventional disk storage. However, current technology allows for a relatively small amount of NVRAM, limiting the effectiveness of such an approach. We have developed a prototype in-memory file system which utilizes data compression on inodes, and which has preliminary support for compression of file blocks. Our file system, MRAMFS, is also based on data structures tuned for storage efficiency in non-volatile memory. This prototype allows us to examine how to use this limited resource more efficiently. Simulations show that inodes can be reduced to 15-20 bytes each at a rate of 250,000 or more inodes per second. This is a space savings of 79-85% over conventional 128-byte inodes. Our prototype file system shows that for metadata operations, inode compression does not significantly impact performance, while significantly reducing the space used by inodes. We also note that a naive block-based implementation of file compression does not perform acceptably either in terms of speed or compression achieved.

[1]  Ethan L. Miller,et al.  Measuring the Compressibility of Metadata and Small Files for Disk/NVRAM Hybrid Storage Systems , 2004 .

[2]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[3]  Yannis Smaragdakis,et al.  The Case for Compressed Caching in Virtual Memory Systems , 1999, USENIX Annual Technical Conference, General Track.

[4]  Corporate Intel Corp. Memory products , 1992 .

[5]  G. Zorpette The quest for the SPIN transistor , 2001 .

[6]  Scott A. Brandt,et al.  HeRMES: high-performance reliable MRAM-enabled storage , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[7]  Erez Zadok,et al.  Fast Indexing: Support for Size-Changing Algorithms in Stackable File Systems , 2001, USENIX Annual Technical Conference, General Track.

[8]  J. Nahas,et al.  A 4Mb 0.18 /spl mu/m 1T1MTJ Toggle MRAM memory , 2004, 2004 IEEE International Solid-State Circuits Conference (IEEE Cat. No.04CH37519).

[9]  Toni Cortes,et al.  Swap compression: resurrecting old ideas , 2000, Softw. Pract. Exp..

[10]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[11]  Erik Riedel,et al.  A Framework for Evaluating Storage System Security , 2002, FAST.

[12]  J. Slaughter,et al.  Progress and outlook for MRAM technology , 1999, IEEE International Magnetics Conference.

[13]  Ronald L. Rivest,et al.  Introduction to Algorithms, Second Edition , 2001 .

[14]  Ross N. Williams,et al.  An extremely fast Ziv-Lempel data compression algorithm , 1991, [1991] Proceedings. Data Compression Conference.

[15]  Samuel J. Leffler,et al.  A Fast File System for UNIX (Revised July 27, 1983) , 1983 .

[16]  Gustaaf Borghs,et al.  Technology assessment for the implementation of magnetoresistive elements with semiconductor components in magnetic random access memory (MRAM) architectures , 1999 .

[17]  Mary Baker,et al.  Non-volatile memory for fast, reliable file systems , 1992, ASPLOS V.

[18]  Stephen Tweedie,et al.  Planned Extensions to the Linux Ext2/Ext3 Filesystem , 2002, USENIX Annual Technical Conference, FREENIX Track.

[19]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[20]  James Lau,et al.  File System Design for an NFS File Server Appliance , 1994, USENIX Winter.

[21]  Ian H. Witten,et al.  Managing gigabytes , 1994 .

[22]  Peter Snyder,et al.  tmpfs: A Virtual Memory File System , 1990 .

[23]  Butler W. Lampson,et al.  On-line data compression in a log-structured file system , 1992, ASPLOS V.

[24]  Andy Oram,et al.  Understanding the Linux Kernel, Second Edition , 2002 .

[25]  Peter M. Chen,et al.  The Rio file cache: surviving operating system crashes , 1996, ASPLOS VII.

[26]  Robert S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[27]  Fred Douglis,et al.  The Compression Cache: Using On-line Compression to Extend Physical Memory , 1993, USENIX Winter.

[28]  Kai Li,et al.  Storage alternatives for mobile computers , 1994, OSDI '94.

[29]  Hiroshi Motoda,et al.  A Flash-Memory Based File System , 1995, USENIX.

[30]  Michael Wu,et al.  eNVy: a non-volatile, main memory storage system , 1994, ASPLOS VI.

[31]  Keith Bostic,et al.  A Pageable Memory Based Filesystem , 1990, USENIX Summer.

[32]  Thomas E. Anderson,et al.  A Comparison of File System Workloads , 2000, USENIX Annual Technical Conference, General Track.

[33]  Geoffrey H. Kuenning,et al.  Conquest: Better Performance Through a Disk/Persistent-RAM Hybrid File System , 2002, USENIX Annual Technical Conference, General Track.