Browse > Article

Design and Implementation of the Flash File System that Maintains Metadata in Non-Volatile RAM  

Doh, In-Hwan (홍익대학교 컴퓨터공학과)
Choi, Jong-Moo (단국대학교 컴퓨터과학과)
Lee, Dong-Hee (서울시립대학교 컴퓨터과학부)
Noh, Sam-H. (홍익대학교 정보컴퓨터공학부)
Abstract
Non-volatile RAM (NVRAM) is a form of next-generation memory that has both characteristics of nonvolatility and byte addressability each of which can be found in nonvolatile storage and RAM, respectively. The advent of NVRAM may possibly bring about drastic changes to the system software landscape. When NVRAM is efficiently exploited in the system software layer, we expect that the system performance can be significantly improved. In this regards, we attempt to develop a new Flash file system, named MiNVFS (Metadata in NVram File System). MiNVFS maintains all the metadata in NVRAM, while storing all file data in Flash memory. In this paper, we present quantitative experimental results that show how much performance gains can be possible by exploiting NVRAM. Compared to YAFFS, a typical Flash file system, we show that MiNVFS requires only minimal time for mounting. MiNVFS outperforms YAFFS by an average of around 400% in terms of the total execution time for the realistic workloads that we considered.
Keywords
Non-Volatile RAM; Flash memory; File system; Metadata;
Citations & Related Records
연도 인용수 순위
  • Reference
1 A. B. Szczurowska, MRAM-preliminary analysis for file system design, Master's thesis, University of California, Santa Cruz, Mar. 2002
2 A. A. Wang, P. Reiher, G. J. Popek, and G. H. Kuenning, Conquest: Better Performance Through a Disk/Persistent-RAM Hybrid File System, In Proceedings of the USENIX Annual Technical Conference (USENIX 2002), pp. 15-28, Jun. 2002
3 E. Gal and S. Toledo, A Transactional Flash File System for Microcontrollers, In Proceedings of the USENIX Annual Technical Conference (USENIX 2005), pp. 89-104, Apr. 2005
4 K. Greenan and E. Miller, "Reliability Mechanisms for File Systems Using Non-Volatile Memory as a Metadata Store," In Proceedings of the 2nd International Workshop on Software Support for Portable Storage (IWSSPS 2006), pp. 8-17, 2006
5 K. S. Yim, J. Kim, and K. Koh, A Fast Start-Up Technique for Flash Memory Based Computing Systems, In Proceedings of the 2005 ACM Symposium on Applied Computing(SAC 2005), pp. 843-849, Mar. 2005
6 Freescale Semiconductor, http://www.freescale.com
7 C. H. Wu, T. W. Kuo and L. P. Chang, Efficient Initialization and Crash Recovery for Log-based File Systems over Flash Memory, In Proceedings of the 2006 ACM Symposium on Applied Computing (SAC 2006), pp. 896-900, Apr. 2006
8 Ramtron International - Nonvolatile Memory, Integrated Memory and Microcontrollers, http://www. ramtron.com
9 Tech-On News, http://techon.nikkeibp.co.jp/english/ NEWS_EN/20070226/128173
10 D. Woodhouse, JFFS: The Journaling Flash File System, Ottawa Linux Symposium, 2001
11 The BGET Memory Allocator, http://www.fourmilab. ch/bget
12 J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho, A Space-efficient Flash Translation Layer for CompactFlash Systems, IEEE Transactions on Consumer Electronics, 28, 2 (May 2002), 366-375
13 A. Kawaguchi, S. Nishioka, and H. Motoda, A Flash-Memory Based File System, In Proceedings of the 1995 USENIX Winter 1995 Technical Conference, pp. 155-164, Jan. 1995
14 M. Rosenblum and J. K. Ousterhout, The design and implementation of a log-structured file system, ACM Transactions on Computer Systems, 10, 1 (Feb. 1992), 26-52   DOI
15 C. Hyun, S. Baek, S. Ahn, J. Choi, and D. Lee, Experimental Evaluation of an Extent-based File System for Nonvolatile-RAM, In Proceedings of the 2nd International Workshop on Software Support for Portable Storage (IWSSPS 2006), pp. 18-24, Oct. 2006
16 E. Gal and S. Toledo, Algorithms and Data Structures for Flash Memories, ACM Computing Surveys (CSUR), 37, 2 (Jun. 2005), 138-163   DOI   ScienceOn
17 FALINUX, EZ-M28, http://falinux.com/zproducts/ ez-m28.php
18 Aleph One Company, YAFFS (Yet Another Flash File System), http://www.aleph1.co.uk/yaffs/yaffs. html
19 CE Linux Public, PramFs, http://www.celinuxforum.org/ CelfPubWiki/PramFs