Improving the Reliability and Performance of the YAFFS Flash File System

YAFFS 플래시 파일시스템의 성능과 안정성 향상

  • Received : 2010.04.26
  • Accepted : 2010.06.22
  • Published : 2010.09.15

Abstract

Popularity of smartphones such as Google Android phones and Apple iphones, is increasing the demand on more reliable high performance file system for flash memory. In this paper, we propose two techniques to improve the performance of YAFFS (Yet Another Flash File System), while enhancing the reliability of the system. Specifically, we first propose to manage metadata and user data separately on segregated blocks and indexing information piggy-back technique for reducing mount time and also enhancing performance. Second, we tailor the wear-leveling to the segregated metadata and user data blocks. Performance evaluation results based on real hardware system with 1GB NAND flash memory show that the YAFFS with our proposed techniques realized outperforms the original YAFFS by six times in terms of mount speed and five times in terms of benchmark performance, while reducing the average erase count of blocks by 14%.

Google의 Android phone이나 Apple의 iPhone과 같은 스마트폰들이 대중화됨에 따라, 플래시 메모리용 고성능 고신뢰 파일시스템에 대한 필요성이 증가되고 있다. 본 논문에서는 YAFFS(Yet Another Flash File System)의 성능 개선 및 신뢰성 향상을 위한 기법을 제안한다. 구체적으로, 파일시스템의 마운트 시간 단축 및 성능 향상을 위해 메타데이터와 유저 데이터의 분리 할당 기법을 도입하였으며, 유저 데이터의 인덱싱 정보를 메타데이터에 추가하였다. 또한 신뢰도 향상을 위해 메타 데이터 블록과 유저 데이터 블록에 대한 마모도 평준화 기법을 도입하였다. 제안된 기법은 1GB의 NAND 플래시 메모리를 가지는 시스템에서 실제 구현되었다. 실험을 통해 제안된 기법이 기존 YAFFS에 비해 6배의 마운트 시간감소와 약 4배의 벤치마크 성능 향상 그리고, 평균 14%의 삭제 횟수 감소 및 마모도 평준화의 효과가 있음을 보인다.

Keywords

References

  1. E. Gal and S. Toledo, "Algorithms and Data Structures for Flash Memories," ACM Comput. Surv., 37(2):138-163, 2005.
  2. A. Gupta, Y. Kim, and B. Urgaonkar, "DFTL: a Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings," In ASPLOS ''09: Proceeding of the 14th international conference on Architectural support for programming languages and operating systems, pp.229-240, New York, NY, USA, 2009. ACM.
  3. J. Kim, J. M. Kim, S. Noh, S. L. Min, and Y. Cho, "A Space-efficient Flash Translation Layer for Compactflash Systems," Consumer Electronics, IEEE Transactions on, 48(2):366-375, May 2002. https://doi.org/10.1109/TCE.2002.1010143
  4. M. S. Kwon, S. H. Bae, S. S. Jung, D. Y. Seo, and C. K. Kim, "KFAT: Log-based Transactional FAT File System for Embedded Mobile Systems," In in 2005 US-Korea Conference, pages ICTS-142, 2005.
  5. Aleph One, YAFFS: Yet another flash file system, "http://www.yaffs.net".
  6. D. Woodhouse, "JFFS: The Journaling Flash File System," In Ottawa Linux Symposium, 2001.
  7. eCosCentric, "http://www.ecoscentric.com/middlewar r/yaffs.shtml".
  8. S. Baek, S. Anh, J. Choi, D. Lee and S. H. Noh, "Uniformity Improving Page Allocation for Flash Memory File Systems," In Proceedings of the 7th ACM & IEEE International Conference on Embedded Software, pp.154-163, 2007.
  9. M. Rosenblum and J. K. Ousterhout, "The Design and Implementation of a Log-structured File System," ACM Trans. Comput. Syst., 10(1):26-52, 1992. https://doi.org/10.1145/146941.146943
  10. J. Katcher, "Postmark: A New File System Benchmark," Techinical Report TR3022, Network Appliance Inc., 1997.