A Self-Description File System for NAND Flash Memory

낸드 플래시 메모리를 위한 자기-서술 파일 시스템

  • 한준영 (중앙대학교 컴퓨터공학과) ;
  • 박상오 (중앙대학교 컴퓨터공학과) ;
  • 김성조 (중앙대학교 컴퓨터공학과)
  • Published : 2009.02.15

Abstract

Conventional file systems for harddisk drive cannot be applied to NAND flash memory, because the physical characteristics of NAND flash memory differs from those of harddisk drive. To address this problem, various file systems with better reliability and efficiency have also been developed recently. However, those file systems have inherent overheads for updating the file's metadata pages, because those file systems save file's meta-data and data separately. Furthermore, those file systems have a critical reliability problem: file systems fail when either a page in meta-data of a file system or a file itself fails. In this paper, we propose a self-description page technique and In Memory Core File System technique to address these efficiency and reliability problems, and develop SDFS(Self-Description File System) newly. SDFS can be safely recovered, although some pages fail, and improves write and read performance by 36% and 15%, respectively, and reduces mounting time by 1/20 compared with YAFFS2.

낸드 플래시 메모리는 하드디스크 드라이브와 물리적 특성이 다르기 때문에, 기존 하드디스크 드라이브를 위한 파일 시스템을 낸드 플래시 메모리에서 그대로 사용할 수 없다. 이 문제를 해결하기 위해 낸드 플래시 메모리 전용 파일 시스템이 개발되었으나 파일의 메타 정보를 파일 데이타와 분리하여 저장하는 구조 때문에, 파일이 쓰여질 때마다 파일의 메타 정보가 저장된 페이지를 갱신하는 오버헤드가 존재한다. 또한, 파일 시스템이나 파일 자체의 메타 정보가 저장된 페이지가 손실되었을 때, 파일 시스템이 실패하게 되는 안정성의 문제가 있다. 본 논문에서는 이와 같은 효율성 문제와 안정성 문제를 해결하기 위해 자기 서술 페이지(Self-Description Page) 기법과 메모리 상의 코어 파일 시스템(In Memory Core File System) 기법을 제안한다. 이 기법을 적용하여 새롭게 개발한 SDFS(Self-Description File System)에서는 낸드 플래시 메모리 내의 일부 페이지들이 실패하더라도 파일 시스템을 안전하게 복구할 수 있으며, YAFFS2보다 쓰기와 읽기 성능을 각각 평균 36%, 15% 향상시켰고, 마운트 시간을 최대 1/20까지 단축시켰다.

Keywords

References

  1. Intel Corporation, “Understanding the flash trans-lation layer (FTL) specification,” Application Note 648, 1998
  2. M. Wu and W. Zwaenepoel, "eNVy: A Non-Volatile, Main Memory Storage System," Proc. Of the 6th International Conference if Architectural Support for Programming Languages and Opera-ting System, pp. 86-97, 1994 https://doi.org/10.1145/195473.195506
  3. A. Kawaguchi, S. Nishioka, and H. Motoda, “A Flash-Memory Based File System,” Proceedings of the USENIX Technical Conference, 1996
  4. D. Woodhouse, “JFFS: The Journaling Flash File System,” Proc. Ottawa Linux Symp., 2001
  5. Aleph One Company, “Yet Another Flash Filing System,” http://www.aleph 1.co.uk/yaffs/
  6. 박상오, 김경산, 김성조, "NAND 플래시 메모리용 파일 시스템 계층에서 프로그램의 페이지 참조 패턴을 고려한 캐싱 및 선반입 정책," 한국정보처리학회 논문지(A), Vol.14-A No.4, 2007.08 https://doi.org/10.3745/KIPSTA.2007.14-A.4.235
  7. 한준영, 김성조, "낸드 플래시 메모리 기반 멀티미디어 파일 시스템에서의 효율적인 페이지 할당 및 회수 기법", 2007 한국컴퓨터종합학술대회 논문집(B), Vol.34, No.1, pp. 680-682, JUNE 2007
  8. 이현철, 김성조, "모바일 멀티미디어 기기를 위한 낸드 플래시 메모리 파일 시스템의 인덱싱 구조", 한국정보과학회 2007 추계학술대회, Vol.34, No.2(B), pp. 441~444, 2007.10
  9. Hyojun Kim and Youjip Won, "MMFS: Mobile Multimedia File System for NAND Flash based Storage Device," in the IEEE CCNC 2006 pro-ceedings, pp. 208-212, 2006 https://doi.org/10.1109/CCNC.2006.1593017
  10. seung-Ho Lim and Kyu-Ho Park, "An Efficient NAND Flash File System for Flash Memory Storage," in IEEE TRANSACTIONS ON COM-PUTERS, Vol.55, No.7, JULY 2006 https://doi.org/10.1109/TC.2006.96
  11. 백승제, 최종무, "플래시 메모리 파일 시스템을 위한 순수도 기반 페이지 할당 기법에 대한 연구". 정보처리학회논문지 A 제13-A권 제5호, 2006.10 https://doi.org/10.3745/KIPSTA.2006.13A.5.387
  12. 박상오, 김성조, "NAND 플래시 메모리 기반 파일 시스템을 위한 빠른 마운트 및 안정성 기법", 정보과학회논문지 : 시스템 및 이론, Vol.34, No.12, pp. 683-695, DECEMBER 2007
  13. 이태훈, 박종화, 김태훈, 이상기, 이주경, 정기동, "임베디드 시스템을 위한 신뢰성 있는 NAND 플래시 파일 시스템의 설계", 한국정보처리학회 논문지 A, Vol.12-A, No.07, pp. 0571-0582, 2005.12 https://doi.org/10.3745/KIPSTA.2005.12A.7.571
  14. Ramtron, FRAM datasheets, http://www.ramtron. com/
  15. 전병길, 김은기, 신형종, 한석희, "바이트 접근성을 가지는 비휘발성 메모리 소자를 이용한 낸드 플래시 파일 시스템의 부팅시간 개선 기법", 한국정보과학회 논문지 : 컴퓨팅 실제 및 레터, 제14권 제3호, 2008.05
  16. Daniel P. Bovet and Marco Cesati, "Understanding the Linux Kernel," O'Reilly Media, 2006
  17. IOzone Filesystem Benchmark, http://www.iozone.org/docs/IOzone_mswo- rd_98.pdf
  18. 박상오, 김성조, "리눅스 기반의 NAND 플래시 메모리 파일 시스템에 대한 성능 측정 도구 설계", 한국정보과학회 2005 추계학술대회, Vol.32, No.02, 2005.11
  19. Spectrum Digital Inc, "OMAP5912 Starter Kit (OSK)," http://www.spect- rumdigital.com/
  20. DENIX, "UBoot," http://www.denx.de/wiki/UBoot
  21. Linux, "Linux Kernel v2.6.10," http://www.linux org/
  22. Samsung Electronics, "K9XXG08UXA.pdf," 2006