A Fast Mount and Stability Scheme for a NAND Flash Memory-based File System

NAND 플래시 메모리 기반 파일 시스템을 위한 빠른 마운트 및 안정성 기법

  • Published : 2007.12.15

Abstract

NAND flash memory-based file systems cannot store their system-related information in the file system due to wear-leveling of NAND flash memory. This forces NAND flash memory-based file systems to scan the whole flash memory during their mounts. The mount time usually increases linearly according to the size of and the usage pattern of the flash memory. NAND flash memory has been widely used as the storage medium of mobile devices. Due to the fact that mobile devices have unstable power supply, the file system for NAND flash memory requires stable recovery mechanism from power failure. In this paper, we present design and implementation of a new NAND flash memory-based file system that provides fast mount and enhanced stability. Our file system mounts 19 times faster than JFFS2's and 2 times faster than YAFFS's. The stability of our file system is also shown to be equivalent to that of JFFS2.

기존 NAND 플래시 메모리 기반 파일 시스템은 NAND 플래시 메모리 특성의 하나인 마모도로 인하여 삭제 횟수를 고려해야 하므로 특정 영역을 지속적으로 필요로 하는 정보는 파일 시스템에 저장될 수 없다. 이로 인하여 대부분의 NAND 플래시 메모리 파일 시스템은 마운트될 때 플래시 메모리 전체를 스캔하여 파일 시스템 구조를 파악한다. 따라서 마운트 시간은 NAND 플래시 메모리 크기에 따라 선형적으로 증가할 뿐만 아니라 NAND 플래시 메모리의 사용 형태에 따라 매우 달라 질 수 있다. 또한, NAND 플래시 메모리를 저장 장치로 많이 사용하는 모바일 기기는 특성상 안정적인 전원 공급을 보장받지 못하기 때문에 NAND 플래시 메모리 파일 시스템의 안정성 확보를 위한 대책이 요구 된다. 본 논문에서는 NAND 플래시 메모리 전용 파일 시스템의 마운트 시간을 향상시키고, 예기치 않은 정전과 같은 상황이 발생하여도 파일 시스템이 오동작하지 않고, 일관성 있게 복구가 가능하도록 설계하고 구현하였다. 구현된 파일 시스템은 기존의 NAND 플래시 메모리 기반 파일 시스템인 JFFS2에 비해 최대 19배, YAFFS와는 2배 정도 향상된 마운트 성능을 보였으며, 안정성 측면에서도 좋은 안정성을 가진 JFFS2와 같은 성능을 보였다.

Keywords

References

  1. Intel Corporation, '3 Volt Synchronous Intel Strata Flash Memory,' http://www.intel.com/
  2. Samsung Electronics, 'NAND Flash Memory,' http://www.sec.co.kr/
  3. JFFS2, http://www.linux-mtd.infradead.org/doc/jffs2.html/
  4. Aleph One Company, 'Yet Another Flash Filing System,' http://www.aleph1.co.uk/yaffs/
  5. Uresh Vahalia, 'Unix Internals,' Prentice Hall, January 1996
  6. JFFS3, http://www.linux-mtd.infradead.org/doc/jffs3.html/
  7. MTD, 'Memory Technology Device (MTD) subsystem for Linux,' http://www.linux-ztd.infradead.org/
  8. T. Blackwell, J. Harris and M. Seltzer, 'Heuristic Cleaning Algorithms in Log-Structured File Systems,' Proceedings of the 1995 Winter Usenix, January 1995
  9. 박상오, 김성조, '리눅스 기반의 NAND 플래시 메모 리 파일 시스템에 대한 성능 측정 도구 설계', 제32회 추계학술발표회 논문집, Vol.32, No.2(1), pp. 547-549, 2005
  10. D. Woodhouse, Red Hat, Inc. 'JFFS: The Journaling Flash File System,' Ottawa Linux Symposium, 2001
  11. 박상호, 안우현, 박대연, 김정기, 박승민, '플래시 메모 리를 위한 파일 시스템 구현,' 정보과학회논문지 : 컴 퓨팅의 실제, Vol.7, No.5, pp.402-415, 2001
  12. Samsung Electronics, 'NAND Flash Memory & SmartMedia Data Book,' 2003
  13. Daniel P. Bovet, Marco Cesati, 'Understanding the LINUX KERNEL,' O'Relly, November 2005
  14. Chanik Park, Jeong-Up Kang, Seon-Yeong Park, and Jin-Soo Kim, 'Energy-Aware Demand Paging on NAND Flash-based Embedded Storages,' International Symposium on Low Power Electronics and Design, 2004