DOI QR코드

DOI QR Code

A garbage collector design and implementation for flash memory file system

플래시 메모리 파일 시스템을 위한 가비지 콜렉터 설계 및 구현

  • 김기영 (상명대학교 일반대학원 컴퓨터과학과) ;
  • 손성훈 (상명대학교 소프트웨어학부) ;
  • 신동하 (상명대학교 소프트웨어학부)
  • Published : 2007.02.28

Abstract

Recently flash memory is widely accepted as a storage devise of embedded systems for portability and performance reasons. Flash memory has many distinguishing features compared to legacy magnetic disks. Especially, a file system for flash memory usually assumes the form of log-structured file system and it employs garbage collector accordingly. Since the garbage collector can greatly affect the performance of file system, it should be designed carefully considering flash memory features. In this paper, we suggest a new garbage collector for existing JFFS2 (Journaling Flash File System II) file system. By extensive performance evaluation, we show that the proposed garbage collector achieves improved performance in terms of flash memory consumption rate, increased flash memory life time, and improved wear-leveling.

최근 들어 많은 임베디드 기기들이 휴대성과 성능 향상을 위해 플래시 메모리를 저장 매제로 사용하고 있다. 플래시 메모리는 일반적인 디스크와는 다른 특성과 제약 조건으로 인해 파일 시스템 설계에 있어서 여러 가지가 고려되어야 하며, 디스크와 다르게 덮어쓰기가 불가능하다. 플래시 메모리 파일 시스템은 LFS(Log-structure File System)의 형태를 가지며, 따라서 가비지 콜렉터를 사용한다. 블록을 재사용하기 위해서는 가비지 콜렉터의 역할이 크며, 가비지 콜렉터는 파일 시스템의 성능에 직접적으로 영향을 주기 때문에 플래시 메모리의 특성을 고려하여 설계해야 한다. 이에 본 논문에서는 JFFS2(Journaling Flash File System II)의 가비지 콜렉터를 개선한 플래시 메모리 파일 시스템을 제시하고, 이를 임베디드 시스템 실험 보드에서 테스트하였다. 그 결과 기존의 파일 시스템에 비해 메모리 사용률을 감소시킬 수 있었으며, 이로 인한 플래시 메모리 수명 연장, 쓰기 평준화(wear-leveling) 개선 등의 성능 향상이 나타남을 확인할 수 있었다.

Keywords

References

  1. 박정태, '큰 블록 NAND 플래시 메모리를 위한 파일 시스템의 설계 및 구현', 중앙대학교 대학원 석사학위논문, Dec., 2004
  2. David Woodhouse, 'JFFS: The Journaling Flash File System', Red hat Inc, 2004
  3. LI-PIN CHANG, TEl-WEI KUO and SHI-WU LO, 'Real-Time Garbage Collection for Flash-Memory Storage Systems of Real-Time Embedded Systems', ACM Transactions on Embedded Computing Systems, Vol.3, Issue.4, pp.837-863, November, 2004 https://doi.org/10.1145/1027794.1027801
  4. Hyung Gyu Lee and Nae Hyuck Chang, 'Low-Energy Heterogeneous Non-volatile Memory Systems for Mobile Systems', Journal of Low Power Electronics, Vol.1, No.1, pp.52-62, April, 2005 https://doi.org/10.1166/jolpe.2005.001
  5. Paul Griffin and Witawas Srisa-an and J. Morris Chang, 'An Energy Efficient Garbage Collector for Java Embedded Devices', in Proceeding of 'ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems', June, 2005 https://doi.org/10.1145/1065910.1065943
  6. Memory Technology Device (MTD) Subsystem for Linux, 'Memory Technology Devices', http://www.linux-mtd.infradead.org/doc/nand.html
  7. 전승진, 공기석, 황달연, '플래시 메모리 파일 시스템의 지움 정책 개선에 관한 연구', 한국정보과학회 제 30회 추계학술발표회, 2003
  8. Atsuo Kawaguchi, Shingo Nishioka, and Hiroshi Motoda, 'A Flash-Memory Based File System', in Proceeding of 'Usenix Technical Conference', 1995
  9. ERAN GAL AND, SIVAN TOLEDO, 'Algorithms and Data Structures for Flash Memories', ACM Computing Surveys, Vol.37, Issue.2, pp.138-163, June, 2005 https://doi.org/10.1145/1089733.1089735
  10. 김경윤, 김영필, 송인준, 유혁, 'Greedy 방법을 개선한 플래시 메모리 지움 정책', 한국정보처리학회 춘계학술발표대회, April, 2004
  11. M. L. Chiang and R. C. Chang, 'Cleaning policies in mobile computers using flash memory,' The Journal of Systems and Software, Vol.48, No.3, pp.213-231, 1999 https://doi.org/10.1016/S0164-1212(99)00059-X
  12. Mendel Rosnblum and John K Ousterhout, 'The Design and Implementation of a Log-Structured File System', VoL.10, Issue.1, pp.26-52, ACM Transactions on Computer Systems, 1992 https://doi.org/10.1145/146941.146943
  13. 최혁근, 장태무, 'LFS를 위한 디스크 배열의 구성', 산업기술논문집, Vol. 6, pp.35-48, 1995
  14. Samsung Electronics, 'K9F1208U0M Flash Memory Hardware Manual', April, 2001