FAT 파일 시스템의 호환성을 유지하며 성능과 안정성을 향상시키는 메타데이터 저널링 기법의 설계

Temporary Metadata Journaling Scheme to Improve Performance and Stability of a FAT Compatible File System

  • 현철승 (서울시립대학교 컴퓨터통계학과) ;
  • 최종무 (단국대학교 컴퓨터학부) ;
  • 이동희 (서울시립대학교 컴퓨터과학부) ;
  • 노삼혁 (홍익대학교 정보컴퓨터공학부)
  • 발행 : 2009.06.15

초록

FAT 호환 파일 시스템은 다양한 플랫폼에서 데이터가 호환 가능하기 때문에 메모리 카드나 임베디드 시스템에서 널리 사용된다. 최근 임베디드 시스템에서는 갑작스런 전원 정지 시 복수 기법뿐만아니라 다양한 응용의 요구를 만족시키기 위해 더 나은 파일 시스템의 성능을 요구하고 있다. 이런 요구를 수용하기 위해서는 파일 시스템의 구조에 대해 변경이 필요해 진다. 파일 시스템의 구조에 대한 변경은 데이터의 호환성에 심각한 문제를 발생시키게 된다. 메타데이터 저널링(Metadata Journaling)은 데이터 호환성 문제를 최소화하면서 뛰어난 성능을 만족시킬 수 있는 기법이다. 이 기법을 FAT 호환 파일 시스템에 구현하여 벤치마크를 수행하였다. 벤치마크 결과는 작은 크기의 불규칙적인 메타데이터 쓰기를 저널 영역에 순차적으로 씀으로써 성능의 향상을 확인할 수 있었다. 뿐만 아니라 제안된 기법은 자연적으로 복구 기법을 제공함으로써 빠른 시간 내에 부팅이 가능하다. 그렇지만 일시적으로 FAT 호환 파일 시스템과 호환이 불가능한 지점이 존재한다. 이런 문제는 파일 시스템이 언마운트(un-mount)시점에 저널 영역에 쓰인 내용들을 원래의 위치로 복사함으로써 FAT 파일 시스템과 호환성을 유지시킬 수 있다.

The FAT (File Allocation Table) compatible file system has been widely used in mobile devices and memory cards because of its data exchangeability among numerous platforms recognizing the FAT file system. By the way. modern embedded systems have tough demands for instant power failure recovery and superior performance for multimedia applications. The key issue is how to achieve the goals of superior write performance and instant booting capability while controlling compatibility issues. To achieve the goals while controlling compatibility issues. we devised a temporary meta-data journaling scheme for a FAT compatible file system. Benchmark results of the scheme implemented in a FAT compatible file system shows that it really improves write performance of the FAT file system by converting small random write for meta-data update to a large sequential write in journaling area. Also, it provides natural way to implement the instant booting capability. Nevertheless, the file system compatibility is temporarily compromised by the scheme because it stores updated meta-data in the temporary journaling area rather than to their original locations. However, the compatibility can be fully recovered at any time by journal-flushing that copies meta-data in journaling area to their original locations. Generally, the journal-flushing is done before un-mounting a memory card so that it can be used in other mobile devices which recognized FAT file system but not the temporary meta-data journaling scheme.

키워드

참고문헌

  1. "Flash-Memory translation layer for NAND flash (NFTL)," M-Systems.
  2. "Understanding the Flash Translation Layer (FTL) Specification," Intel Coperation, 1998.
  3. D. WoodHouse, "JFFS: The Journaling Flash File System," in Ottawa Linux Symposium 2001, 2001.
  4. "YAFFS (Yet Another Flash File System) Version 0.3," 2002.
  5. "FAT32 File System Specification," Microsoft Coporation, 2000.
  6. M. Rosenblum and J. K. Ousterhout, "The Design and Implementation of a Log-Structured File System," ACM Transactions on Computer Systems, Vol. 10, pp. 26-52, 1992. https://doi.org/10.1145/146941.146943
  7. "Transaction-Safe FAT File System," Microsoft Co., 2008.
  8. L. Alei, L. Kejia, L. Xiaoyong, and G. Haibing, "FATTY: A Reliable FAT File System," in 10th Euromicro Conference on Digital System Design Architecture, Methods and Tools(DSN 2007): IEEE, 2007, pp. 390-395.
  9. M. S. Kwon, S. H. Bae, S. S. Jung, D. Y. Seo, and C. K. Kim, "KFAT: Log-Based Transactional FAT Filesystem for Embedded Mobile Systems," in Information & Communication Technology Symposium(ICTS), 2005.
  10. M. K. McKusick and G. R. Ganger, "Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem," in 1999 USENIX Annual Technical Conference Monterey, California, USA: USENIX Association, 1999.
  11. Vijayan Prabhakaran, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau, "Analysis and Evolution of Journaling File Systems," in Proceedings of the USENIX 2005 Annual Technical Conference, pp. 105-120, 2005.
  12. "ZFS," Zeen Information Technologies, Inc.