Performance Analysis of Flash Translation Layer Algorithms for Windows-based Flash Memory Storage Device

윈도우즈 기반 플래시 메모리의 플래시 변환 계층 알고리즘 성능 분석

  • 박원주 (한국외국어대학교 컴퓨터 및 정보통신공학과) ;
  • 박성환 (한국외국어대학교 컴퓨터 및 정보통신공학과) ;
  • 박상원 (한국외국어대학교 컴퓨터 및 정보통신공학과)
  • Published : 2007.08.15

Abstract

Flash memory is widely used as a storage device for potable equipments such as digital cameras, MP3 players and cellular phones because of its characteristics such as its large volume and nonvolatile feature, low power consumption, and good performance. However, a block in flash memories should be erased to write because of its hardware characteristic which is called as erase-before-write architecture. The erase operation is much slower than read or write operations. FTL is used to overcome this problem. We compared the performance of the existing FTL algorithms on Windows-based OS. We have developed a tool called FTL APAT in order to gather I/O patterns of the disk and analyze the performance of the FTL algorithms. It is the log buffer scheme with full associative sector translation(FAST) that the performance is best.

최근 디지털 카메라, MP3 플레이어, 핸드폰과 같이 이동성이 중요한 요소로 차지하는 기기들이 많이 등장하였다. 이에 따라 소형화, 대용량화, 저 전력화, 비휘발성, 고속화 그리고 충격에 강한 저장장치가 필요하게 되었다. 플래시 메모리는 이러한 요구사항을 만족시키는 저장장치이다. 플래시 메모리는 하드웨어적 특성으로 인해 쓰기 전 소거(erase-before-write)연산을 수행해야만 한다. 따라서 플래시 메모리를 효과적으로 동작시키기 위해서 FTL이 필요하다. FTL은 플래시 메모리의 단점을 보완해주면서 상위파일 시스템을 그대로 사용할 수 있는 장점을 가진다. 따라서 차후 디스크는 플래시 메모리로 대체될 것이다. 대부분의 PC에서 윈도우즈 기반의 OS를 사용하기 때문에 기존 FTL이 윈도우즈 기반의 OS에서 어떠한 성능을 보이는지 분석할 필요가 있다. 본 논문에서는 실험속도를 빠르게 하기 위해 FTL 성능분석도구를 개발한다. 이를 이용하여 여러 FTL 알고리즘들이 윈도우즈 기반의 OS의 디스크 I/O를 처리하는 성능을 분석한다. FTL의 성능은 매핑 방법, 한 블록 내에 섹터를 기록하는 방법과 덮어쓰기의 처리방법 둥을 분석하여 비교가 가능하다. 실험한 FTL중 개선된 로그 블록 기법이 실험 결과 중에 가장 좋은 성능을 보인다. 따라서 차후 디스크가 플래시 메모리로 대체 될 경우, 로그 블록 기법을 잘 적용 시켜야 할 것이다.

Keywords

References

  1. BAN, A. 1995. Flash file system. US patent 5,404,485. Filed March 8, 1993; Issued April 4,1995; Assigned to M-Systems
  2. INTEL CORPORATION. 1998b. Understanding the flash translation layer(FTL) specification. Application Note 648, Intel Corporation
  3. E. Gal and S. Toledo. Algorithms and data structures for flash memories. ACM Computing Surveys, 37(2):138-163, 2005 https://doi.org/10.1145/1089733.1089735
  4. Bum-soo Kim, Gui-young Lee, Method of driving remapping in flash memory and flash memory architecture suitable therefor, 2002. US Patent, no. 6,381,176 B1
  5. Petro Estakhri, Berhanu Iman, Moving sequential sectors within a block of information in a flash memory mass storage architecture, 1999. US Patent, no. 5,930,815
  6. Takayuki Shinohara. Flash memory card with block memory address arrangement, 1999. US Patent, no. 5,905,993
  7. Amir Ban. Flash file system optimized for pagemode flash technologies, 1999. US Patent, no. 5,937,425
  8. Jesung Kim, Jong Min Kim, Sam H. Noh, Sang Lyul Min, and Yookun Cho. A space-efficient flash translation layer for compact flash systems. IEEE Transactions on Consumer Electronics, 48(2), 2002
  9. Sang-Won Lee and Dong-Joo Park. FAST:An efficient flash translation layer for flash memory, Submitted for publication, 2005
  10. Rosenblum, M. and Ousterhout, J. K. 1992. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems 10, 1, 26-52 https://doi.org/10.1145/146941.146943
  11. Axis Communications. 2004. JFFS home page. Electronic document available online at http://developer.axis.com/software/jffs/. Lund, Sweden
  12. Woodhouse, D. 2001. JFFS: The journaling flash file system. Presented in the Ottawa Linux Symposium, July 2001 (no proceedings); a 12-page article is available online at http://sources.redhat.com/jffs2/jffs2.pdf
  13. Aleph One. 2002. YAFFS: Yet another flash filing system. Electronic document available online at http://www.aleph1.co.uk/yaffs/index.html. Cambridge, UK
  14. Art Baker, Jerry Lozano, 'Windows 2000 Device Driver Book : A Guide for Programmers 2nd Edition,' Prentice Hall, 2000
  15. Disk Subsystem Performance Analysis for Windows. Electronic document available online www.microsoft.com/whdc/device/storage/subsys_perf.mspx
  16. O'Reilly, 'Windows NT File System Internals, Develo- per's Guide,' Rajeev Nagar
  17. Wells, S. E. 1994. Method for wear leveling in a flash EEPROM memory. US patent 5,341,339. Filed November 1, 1993; Issued August 23, 1994; Assigned to Intel