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

메타데이타를 비휘발성 램에 유지하는 플래시 파일시스템의 설계 및 구현

  • 도인환 (홍익대학교 컴퓨터공학과) ;
  • 최종무 (단국대학교 컴퓨터과학과) ;
  • 이동희 (서울시립대학교 컴퓨터과학부) ;
  • 노삼혁 (홍익대학교 정보컴퓨터공학부)
  • Published : 2008.02.15

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.

램의 특성과 비휘발성 저장매체의 특성을 동시에 가지고 있는 비휘발성 램을 시스템 소프트웨어에서 효과적으로 활용한다면 전체 시스템의 성능 향상에 크게 기여할 수 있다. 비휘발성 램을 활용함으로써 시스템 소프트웨어의 성능을 향상시키고자 하는 노력 중의 하나로, 본 연구에서는 비휘발성 램을 고려하는 MiNV (Metadata in NVram) 파일시스템을 설계하고 구현하였다. MiNV 파일시스템은 모든 메타데이타를 비휘발성 램에 저장, 관리하고 일반 파일데이타는 낸드플래시 메모리에 저장하고 관리한다. 본 논문에서는 MiNV 파일시스템이 기존의 플래시 메모리 기반 파일시스템과 비교해서 얼마나 높은 성능 향상을 얻을 수 있는지를 정량적으로 보여준다. 성능 평가 결과, 비휘발성 램을 활용하는 파일시스템은 극도로 짧은 마운트 시간만을 필요로 한다. 기존의 대표적인 플래시 메모리 파일시스템인 YAFFS와 비교했을 때, MiNV 파일시스템은 동일한 워크로드를 처리하면서 보다 적은 횟수의 플래시 메모리에 대한 페이지 읽기, 쓰기, 그리고 블록 소거 연산을 요청한다. 플래시 메모리 연산 횟수에서의 이득은 MiNV 파일시스템의 수행속도 향상에 그대로 반영되어, 수행속도 측면에서 MiNV 파일시스템은 YAFFS보다 평균 400% 정도의 성능 향상을 보인다.

Keywords

References

  1. Ramtron International - Nonvolatile Memory, Integrated Memory and Microcontrollers, http://www. ramtron.com
  2. Tech-On News, http://techon.nikkeibp.co.jp/english/ NEWS_EN/20070226/128173
  3. Freescale Semiconductor, http://www.freescale.com
  4. 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
  5. 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
  6. 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 https://doi.org/10.1145/146941.146943
  7. Aleph One Company, YAFFS (Yet Another Flash File System), http://www.aleph1.co.uk/yaffs/yaffs. html
  8. D. Woodhouse, JFFS: The Journaling Flash File System, Ottawa Linux Symposium, 2001
  9. E. Gal and S. Toledo, Algorithms and Data Structures for Flash Memories, ACM Computing Surveys (CSUR), 37, 2 (Jun. 2005), 138-163 https://doi.org/10.1145/1089733.1089735
  10. 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
  11. 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
  12. A. B. Szczurowska, MRAM-preliminary analysis for file system design, Master's thesis, University of California, Santa Cruz, Mar. 2002
  13. 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
  14. CE Linux Public, PramFs, http://www.celinuxforum.org/ CelfPubWiki/PramFs
  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. 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
  17. The BGET Memory Allocator, http://www.fourmilab. ch/bget
  18. FALINUX, EZ-M28, http://falinux.com/zproducts/ ez-m28.php
  19. 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