DOI QR코드

DOI QR Code

A Study of Purity-based Page Allocation Scheme for Flash Memory File Systems

플래시 메모리 파일 시스템을 위한 순수도 기반 페이지 할당 기법에 대한 연구

  • 백승재 (단국대학교 대학원 정보컴퓨터과학과) ;
  • 최종무 (단국대학교 정보컴퓨터학부 컴퓨터과학)
  • Published : 2006.10.30

Abstract

In this paper, we propose a new page allocation scheme for flash memory file system. The proposed scheme allocates pages by exploiting the concept of Purity, which is defined as the fraction of blocks where valid Pages and invalid Pages are coexisted. The Pity determines the cost of block cleaning, that is, the portion of pages to be copied and blocks to be erased for block cleaning. To enhance the purity, the scheme classifies hot-modified data and cold-modified data and allocates them into different blocks. The hot/cold classification is based on both static properties such as attribute of data and dynamic properties such as the frequency of modifications. We have implemented the proposed scheme in YAFFS and evaluated its performance on the embedded board equipped with 400MHz XScale CPU, 64MB SDRAM, and 64MB NAND flash memory. Performance measurements have shown that the proposed scheme can reduce block cleaning time by up to 15.4 seconds with an average of 7.8 seconds compared to the typical YAFFS. Also, the enhancement becomes bigger as the utilization of flash memory increases.

본 논문에서는 플래시 메모리 파일 시스템을 위한 새로운 페이지 할당 기법을 제안한다. 제안된 기법은 순수도를 고려하여 페이지를 할당하며, 이때 순수도는 플래시 메모리에서 유효한 페이지와 유효하지 않은 페이지가 공존하는 블록의 비율로 정의된다. 순수도는 플래시 메모리 파일 시스템의 블록 클리닝(block cleaning) 비용, 구체적으로 블록 클리닝을 수행할 때 복사해야할 페이지와 삭제해야할 블록의 양을 결정한다. 제안된 기법은 순수도를 향상시키기 위해 빈번하게 변경되는 데이터와 그렇지 않은 데이터를 구분하고, 이들을 서로 다른 블록에 할당한다 데 이터의 구분은 데이터의 속성 등의 정적 특성과 수행 시 변경 횟수 등의 동적 특성을 모두 고려한다 제안된 기법은 내장형 보드와 YAFFS 상에 구현되었으며, 성능 분석 결과 기존 YAFFS에 비해 최대 15.4초 (평균 7.8초) 블록 클리닝 시간을 단축시켰다. 또한 이용율이 증가함에 따라 제안된 기법이 더욱 좋은 성능을 제공하였다.

Keywords

References

  1. William Stalling, 'Operating Systems: Internals and Design Principles', 5th Edition, Pearson Prentice Hall, 2004
  2. M. Rosenblum and J. K. Ousterhout, 'The design and implementation of a log-structured file system', ACM Transactions on Computer Systems, Vol.10, No.1, pp.26-52, 1992 https://doi.org/10.1145/146941.146943
  3. T. Blackwell, J. Harris, and M. Selzer, 'Heuristic cleaning algorithms in log-structured file systems', Proceedings of the 1995 Annual Technical Conference, pp.277-288, 1993
  4. J. Matthews, D. Roselli, A. Costello, R. Wang, and T. anderson, 'Improving the performance of log-structured file system with adaptive methods', ACM Symposiums on Operating System Principles (SOSP), pp.238-251, 1997 https://doi.org/10.1145/268998.266700
  5. J. Wang and Y. Hu, 'WOLF - a novel reordering write buffer to boost the performance of log-structured file system', Proceedings of the USENIX Conference on File and Storage Technologies (FAST), pp.46-60, 2002
  6. W. Wang, Y. Zhao, and R. Bunt, 'HyLog: A High Performance Approach to Managing Disk Layout', Proceedings of the USENIX Conference on File and Storage Technologies (FAST), pp.145-158, 2004
  7. M-L. Chiang, P. C. H. Lee, and R-C. Chang, 'Using data clustering to improve cleaning performance for flash memory', Software: Practice and Experience, Vo1.29, No.3, pp.267-290, 1999 https://doi.org/10.1002/(SICI)1097-024X(199903)29:3<267::AID-SPE233>3.0.CO;2-T
  8. M. Wu and W. Zwaenepoel, 'eNVy: a non-volatile, main memory storage system', Proceeding of the 6th international conference on Architectural Support for Programming languages and operation systems, pp.86-97, 1994
  9. L. P. Chang, T. W. Kuo and S. W. Lo, 'Real-time garbage collection for flash memory storage systems of real time embedded systems', ACM Transactions on Embedded Computing Systems, Vol.3, No.4, pp.837-863, 2004 https://doi.org/10.1145/1027794.1027801
  10. E. Gal and S. Toledo, 'Algorithms and Data Structures for Flash Memories', ACM Computing Surveys, Vol.37, No.2, pp 138-163, 2005 https://doi.org/10.1145/1089733.1089735
  11. Micron, 'Technical note: small block vs. large block NAND device', http://download.micron.com/pdf/technotes/nand/tn2907.pdf
  12. Samsung Inc., http://www.samsung.com/Products/Semiconductor/NANDFlash
  13. Ashok K. Sharma, 'Advanced Semiconductor Memories: Architectures, Designs, and Applications', WILEY Interscience, 2003
  14. J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho, 'A space-efficient flash translation layer for CompactFlash systems', IEEE Transactions on Consumer Electronics, Vol. 48, No.2, pp.366-375, 2002 https://doi.org/10.1109/TCE.2002.1010143
  15. C. Park, J. Seo, D. Seo, S. Kim and B. Kim, 'Cost-Efficient Memory Architecture Design of NAND Flash Memory Embedded System', IEEE International Conference on Computer Design, 2003. https://doi.org/10.1109/ICCD.2003.1240943
  16. 배영현, 최종무, 이동희 노삼혁, 민상렬, '플래시 메모리 파일 시스템을 위한 효율적인 소거 평준화 기법', 한국정보과학회 가을 학술발표논문집, pp.580-582, 2004
  17. EZ - X5, F ALINUX Inc., http://www.falinux.com/zproducts/ez-x5.php
  18. Aleph One, 'YAFFS: Yet another flash file system', http://www.alephl.co.uk/yaffs/
  19. MTD subsystem for Linux, http:/www.linux-mtd.infradead.org/archive/index.html
  20. AFFS_purity, http://embedded.dankookac.kr/-choijm/yaffs.purity.tar.gz
  21. J. Katcher, 'Postlvlark: A new File System Benchmark', Technical Report TR3022, Network Appliance Inc., 1997
  22. J. H. Howard, M. L. Kazar, S. G. Menees, D. A. Nichols, M. Satyanarayanan, R. N. Sidebotham, M. J. West, 'Scale and Performance in a distributed file system', ACM Transactions on Computer Systems, Vol.6, No.1, Feb., 1988 https://doi.org/10.1145/35037.35059
  23. Kawaguchi, S. Nishioka and H. Motoda, 'A flash-memory based file system', Proceedings of the 1995 USENIX Annual Technical Conference, pp.155-164, 1995
  24. 정하용, 김진수, 한환수, 최기선, 'JFFS2를 위한 효율적인 Garbage Collector의 설계 및 구현', 한국정보과학회 가을 학술발표논문집, pp.523-525, 2004