Mounting Time Reduction and Clean Policy using Content-Based Block Management for NAND Flash File System

NAND 플래시 파일 시스템을 위한 내용기반 블록관리기법을 이용한 마운트 시간 감소와 지움 정책

  • Cho, Wan-Hee (Department of Electronic Engineering, Inha University) ;
  • Lee, Dong-Hwan (Department of Electronic Engineering, Inha University) ;
  • Kim, Deok-Hwan (Department of Electronic Engineering, Inha University)
  • Published : 2009.03.25

Abstract

The flash memory has many advantages such as low power consumption, strong shock resistance, fast I/O and non-volatility. And it is increasingly used in the mobile storage device. Many researchers are studying the YAFFS, NAND flash file system, which is widely used in the embedded device. However, the existing YAFFS has two problems. First, it takes long time to mount the YAFFS file system because it scans whole spare areas in all pages. Second, the cleaning policy of the YAFFS does not consider the wear-leveling so that it cannot guarantee the duration of data completely. In order to solve these problems, this paper proposes a new content-based YAFFS that consists of a mounting time reduction technique and a content-cleaning policy by using content-based block management. The proposed method only scans partial spare areas of some special pages and provides the block swapping which enables the wear-leveling of data blocks. We performed experiments to compare the performance of the proposed method with those of the JFFS2 system and YAFFS system. Experimental results show that the proposed method reduces the average mounting time by 82.2% comparing with JFFS2 and 42.9% comparing with YAFFS. Besides, it increases the life time of the flash memory by 35% comparing with the existing YAFFS whereas no overheat is added.

플래시 메모리는 비휘발성, 저전력, 빠른 입출력, 충격에 강함 등과 같은 많은 장점을 가지고 있으며, 모바일 기기에서의 저장 매체로 자주 사용이 증가 되고 있다. 이에 따라 임베디드 디바이스에 널리 사용되는 NAND 플래시 전용 파일시스템인 YAFFS에 관한 연구가 활발히 이루어지고 있다. 하지만 기존의 YAFFS는 마운트 시 모든 페이지의 스페어 영역을 스캔함으로써 마운트 속도가 상당히 오래 걸리며, 기존의 지움 정책에서 플래시메모리의 특성인 마모도 제한을 고려하지 않은 지움 정책(Cartage-Collection)을 사용하는 문제점을 가지고 있다. 따라서 본 논문에서는 YAFFS의 마운트 과정에서의 문제점을 해결하기 위해 블록을 내용기반 리스트로 관리하고 마운트 할 때 일부 스페어 영역만을 읽어 기존의 마운트 시간을 감소시키는 기법을 제시한다. 또한 기존의 마모도 기법의 문제점을 해결하기 위해 내용기반 지움 정책을 사용하는 블록 스왑기법을 제안 한다. 실험에서는 파일의 크기를 다양하게 분류하여 기존의 파일시스템들과 비교하였다. 내용기반 YAFFS가 JFFS2보다는 82.2% 기존의 YAFFS보다는 42.9%의 마운트 평균시간이 감소하였으며, 기존의 지움 정책과 비교하여 추가적인 삭제나 지움 횟수가 없으며 제안한 블록 스왑기법은 마모도를 균일화하여 약 35%의 수명 증가를 보여준다.

Keywords

References

  1. 민용기, 박승규, "이동컴퓨터를 위한 플래시 메모리 클리닝 정책," 한국토인학회논문지, Vol.24, No.5A, pp.657-666, 1999
  2. 이동환, 조원희, 김덕환 "다중 플록 지우기 기능을 적용한 퓨전 플래시 메모리의 FTL 성능 측정 도구 설계 및 구현," 대한전자공학회, 제31권, 제1호, pp.647-648, 2008
  3. 이태훈, 박송화, 정기동 "YAFFS를 위한 파일 연산 최적화 기법," 정보과학회논문지, 제34권, 제1호(B), pp.401-405, 2007
  4. 한대만, 김성범, 구용완 "플래시 메모리를 위한 파일 시스템의 개선 방안," 한국인터넷정보학회, 제6권, 제2호, pp.733-736
  5. 박상오, 김성조 "NAND플래시 메모리 기반 파일 시스템을 위한 빠른 마운트 및 안정성 기법," 정보과학회논문지, 제34권, 제11-12호, pp.683-695, 2007
  6. 박광희, 김덕환 "휴대용 저장장치 시스템을 위하 Clustered Flash Translation Layer", 대한전자공학회, 제 45권, 제3호, pp.94-100, 2008.3
  7. 변시우 "F-Tree : 휴대용 정보기기를 위한 플래시 메모리 기반 색인 기법", 한국데이타베이스학회, 학술저널, 제13권, 제4호, pp.257-271
  8. F. Douglis, R. Caceres, F. Kaashoek, K. Li, B.Marsh, and J. A. Tauber, "Storage Alternatives for Mobile Computers," In Proceedings of the 1st Symposium on Operating Systems Design and Implementation, pp.25-37, 1994
  9. Intel Coporation, "Understanding the Flash Transl ation Layer(FTL) specification". 1997
  10. D. Woodhouse, "JFFS : The Journaling Flash File System", Technical Paper of RedHat inc. Oct. 2001
  11. YAFFS Spec, http://www.alephl.co.uk/yaffs/yaffs.html
  12. M. Rosenblum and J. K. Ousterhout, "The Design and Implementation of a Log-Structured File System", ACM Transaction on Computer System, Vol 10, No.1, pp.26-52, 1992 https://doi.org/10.1145/146941.146943
  13. Samsung Electronics Co., .NAND Flash Memory & SmartMedia Data Book., 2002
  14. A. Kawaguchi, S. Nishioka, and H. Motoda, "A Flash-Memory Based File System", In Proceedings of Usenix Technical Conference, New Orleans, Louisiana , Jan. 1995, pp.l55-164. 1995
  15. Post mark, http://packages.debian.org/stable/utils/postmark