Implementation of a File System for Flash Memory

플래시 메모리를 위한 파일 시스템의 구현

  • Park, Sang-Ho (Dept. of Electrical Eng. and Electronic Eng., Korea advanced Institute of Science and Technology) ;
  • Ahn, Woo-Hyun (Dept. of Electrical Eng. and Electronic Eng., Korea advanced Institute of Science and Technology) ;
  • Park, Dae-Yeon (Dept. of Electrical Eng. and Electronic Eng., Korea advanced Institute of Science and Technology) ;
  • Kim, Jeong-Ki ;
  • Park, Sung-Min
  • 박상호 (한국과학기술원 전기및전자공학과) ;
  • 안우현 (한국과학기술원 전기및전자공학과) ;
  • 박대연 (한국과학기술원 전기및전자공학과) ;
  • 김정기 (한국전자통신연구원 인터넷정보가전연구부 연구처) ;
  • 박승민 (한국전자통신연구원 인터넷정보가전연구부 연구처)
  • Published : 2001.10.01

Abstract

Advantages of flash memories are their shock resistance and fast read speed, which is much faster than that of a HDD. Because of these characteristics, they are increasingly used in the traditional household electric appliance and portable handset and therefore, development of file systems which use them as storage medium is increasingly needed. But they have two problems as storage medium. First, data stored in them cannot be overwritten: it must be erased before new data can be stored. Unfortunately, this erase operation usually takes about one second. Consequently, updating data in flash memories takes long time. In this paper, their problem is solved by using a data update mechanism like LFS(Log-structured File System). Second, their erase operations are restricted. We propose novel cleaning policy in order to increase the life cycle. We implemented FAT file system, which is suitable to small storage medium and solved problems, which usually happen in implementing FAT. We evaluated the performance of sequential writes and random writes on our implemented flash file system.

플래시 메모리는 기존의 회전식 자기 매체에 비해서 속도가 빠르고, 충격에 강한 장점이 있다. 이런 특성으로 인해 기존의 가전, 통신 기기, 휴대 기기에서 저장매체로써 플래시 메모리의 사용이 증대하고 있고, 더불어 저장 매체로 플래시 메모리를 사용한 파일 시스템의 필요성도 증가하고 있다. 저장 매체로써 플래시 메모리는 위와 같은 장점 외에 두 가지 문제점을 가지고 있다. 첫째, 데이타를 덧쓸 수가 없다는 점이다. 데이타를 덧쓰기 위해서는 데이타를 저장하기 전에 플래시 메모리를 지워야 하는데, 지우는 작업은 1초 정도의 시간이 소요된다. 따라서, 플래시 메모리에 저장된 데이타를 수정할 때, 시간이 오래 걸리게 되는데, 본 논문에서는 기존의 LFS(Log-structured File System) 방식으로 데이타를 저장하여 이와 같은 문제점을 해결하였다. 플래시 메모리의 두 번째 문제점은 수명이 제한되어 있다는 점이다. 본 논문에서는 cleaning policy를 통하여 수명을 최대한 연장시킬 수 있도록 하였다. 본 논문에서 구현한 플래시 파일 시스템은 소용량 저장 매체에 적합한 FAT를 사용하여 성능을 향상시켰고, FAT를 구현할 EO 발생할 수 있는 문제점을 해결하였다. 또한, 차례 쓰기, 무작위 쓰기의 실험을 통해서 성능을 분석하였다.

Keywords

References

  1. Kirk Blum, 'Software Concerns of Implementing a Resident Flash Disk,' Inter corporation, 1995
  2. 'Flash memory,' Intel corporation, 1994
  3. '3 volt FlashFile Memory 28F160S3 and 28F320S3,' Intel corporation, 1998
  4. Uresh Vahalia, 'UNIX Internals : the new frontiers,' pp. 220-288, Prentice-Hall, 1996
  5. Michael Tischer and Bruno Jermrich, 'PC INTERN : the Encyclopedia of System Programming,' pp.377-387, Abacus, 1996
  6. Steven Holzner and The Pete, Norton Computing Group, 'Advanced Assembly Language,' pp.214-225, 영진출판사, 1991
  7. M. Rosenblum and J. K. Ousterhout, 'The Design and Implementation of a Log-Structured File System,' ACM Transactions on Compute, Systems, Vol. 10, pp.26-52, 1992 https://doi.org/10.1145/146941.146943
  8. Atsuo Kawaguchi, Shingo Nishioka and Hiroshi Motoda, 'A Flash-Memory Based File System,' Proceedings of 1995 USENIX Techinical Conference, pp.155-164, 1995
  9. M. Wu and W. Zwaenepoel, 'eNVy: A Non-Volatile, Main Memory Storage System,' Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, pp.86-97, 1994
  10. Chiang, M.-L, Lee, P. C. H and Chang, R. -C, 'Managing Flash Memory in Personal Communication Devices,' Proceedings of the IEEE International Symposium on Consumer Electronics, pp. 177-182, 1997 https://doi.org/10.1109/ISCE.1997.658381
  11. Gregory R. Gange, and Yale N. Patt, 'Metadata Update Performance in File Systems,' USENlX Symposium on Operating Systems Design and Implementation, pp.49-60, 1994
  12. Margo I. Seltzer, Gregory R. Ganger, M. Kirk McKusick, Keith A. Smith, Craig A. N. Soules, and Christopher A. Stein, 'Journaling versus Soft Updates: Asynchronous Meta-data Protection in File Systems,' Proceedings of 2000 USENIX Technical Conference, pp. , 2000
  13. Kleiman, S.R., 'Vnodes: An Architecture for Multiple File System Types in Sun UNIX,' Proceedings of the Summer 1986 USENIX Technical Conference, 1986