A Design and Implementation of Flash Memory Simulator

플래시 메모리 시뮬레이터의 설계 및 구현

  • 정재용 (서울대학교 전기.컴퓨터공학부) ;
  • 노삼혁 (홍익대학교 정보컴퓨터공학부) ;
  • 민상렬 (서울대학교 컴퓨터공학부) ;
  • 조유근 (서울대학교 컴퓨터공학부)
  • Published : 2002.02.01

Abstract

This paper introduces the design and implementation of a flash memory simulator to emulate a real flash memory. Since this simulator provides exact execution time information and parameter testing functions as well as the type, total capacity, block size, and page size of flash memory, it can be used as a real flash memory as viewed by the operating system. Furthermore, the simulator provides time logging functions of the internal routines of the flash memory management software allowing the monitoring of bottlenecks within the software. Finally, we show the performance measurements of applications under the Linux operating systems on both the simulator and a test board verifying the simulator's use as a replacement for real flash memory.

본 논문에서는 실제 플래시 메모리와 동일한 특성을 갖는 플래시 메모리 시뮬레이터를 설계 및 구현한 내용을 설명한다. 본 시뮬레이터는 생산 방식, 전체 용량, 블록 크기, 페이지 크기 등 플레시 메모리의 특성을 변화시키면서 실험할 수 있을 뿐만 아니라 정확한 수행 시간과 인자 검증 기능을 제공함으로써, 운영체제 입장에서는 실제 플래시 메모리 장치를 사용하는 효과를 얻을 수 있다. 또한, 내부 루틴의 수행 시간 로깅 기능을 제공함으로써 플래시 메모리 관리 소프트웨어의 병목 지점을 판단할 수 있도록 하였다. 마지막으로, Linux 운영체제 환경에 구현된 시뮬레이터와 실제 플래시 메모리를 장착한 테스트 보드에서 응용 프로그램의 성능 측정 결과를 비교함으로써 본 시뮬레이터가 실제 플래시 메모리 장치 대용으로 사용할 수 있음을 보였다.

Keywords

References

  1. Intel Corporation, 'Intel Flash Memory,' http://developer.intel.com/design/flash
  2. Samsung Semiconductor, 'Flash Memory Data Sheets,' http://www.intl.samsungsemi.com/Memory/Flash/datasheets.html
  3. M. Wu and W. Zwaenepoel, 'eNVy: A Non-Volatile, Main Memory Storage System,' Proceedings of the 6th Symposium on Architectural Support for Programming Languages and Operating Systems, pp. 86-97, October 1994
  4. F. Douglis, F. Kaashoek, R. Marsh, R. Caceres, K. Li, and J. Tauber, 'Storage Alternatives for Mobile Computers,' Proceedings of the 1st Symposium on Operating Systems Design and Implementation, pp, 25-37, January 1994
  5. M. L. Chiang and R.-C. Chang, 'Cleaning policies in mobile computers using flash memory,' Journal of Systems and Software, vol. 48, no. 3, pp. 213-231, 1999 https://doi.org/10.1016/S0164-1212(99)00059-X
  6. A. Kawaguchi, S. Nishioka, and H. Motoda, 'A flash-memory based file system,' Proceedings of the USENIX 1995 Winter Conference, pp. 155-164, 1995
  7. H.-J. Kim and S.-G. Lee, 'A new flash memory management for flash storage system,' Proceedings of the 23rd International Computer Software and Application Conference, pp. 294-295, 1999 https://doi.org/10.1109/CMPSAC.1999.812717
  8. A. Ban, 'Flash file system,' United States Patent, no. 5,404,485, April 1995
  9. M. Assar, M. Hill, S. Nemazie, and P. Estakhri, 'Flash memory mass storage architecture,' United States Patent, no. 5,388,083, February 1995
  10. S. S. Mukherjee, S. K. Reinhardt, B. Falsafi, M. Litzkow, S. Huss-Lederman, M. D. Hill, J. R. Larus, and D. A. Wood, 'Wisconsin Wind Tunnel II: A Fast and Portable Parallel Architecture Simulator,' Workshop on Performance Analysis find Its Impact on Design (PAID), June 1, 1997
  11. E. A. Brewer, C. N. Dellarocas, A. Colbrook, and W. E. Weihl, 'PROTEUS: A High-Performance Parallel-Architecture Simulator,' Technical Report MIT/LCS/TR-516, 1991
  12. G. R. Ganger, B. L.Worthington, and Y. N. Part, 'The DiskSm Simulation Environment Version 1.0 Reference Manual,' Technical Report CSE-TR-358-98, 1998
  13. Intel Corporation, 'MultiProcessor Specification Version 1.4,' http://www.intel.com
  14. MTD, 'Memory Technology Device (MTD) Subsystem for Linux,' http://www.linux-mtd.infradead.org
  15. J. Kim, J. M. Kim, J. Choi, J. Y. Jeong, S. H. Noh, S. L. Min, and Y. Cho, 'Design and Implementation of a Flash Memory Based Storage System for Moblie Devices,' http://headongdb.snu.ac.kr/technical/snu-ce-tr-2001-1.doc
  16. Intel Corporation, 'Intel Architecure Software Developer's Manual Volume 3: System Programming,' http://www.intel.com
  17. Intel Corporation, 'L440GX+ Server Board Product Guide,' http://download.intel.com/support/motherboards/server/1440gx/722077051.pdf
  18. J. Ousterhout, 'Why Arent Operating Systems Getting Faster As Fast as Hardware?,' Proceedings of the Summer 1990 USENIX Conference, pp. 247-256, 1990
  19. P. Sorfa, 'CSCOPE,' http://cscope.sourceforge.net
  20. T. Bray, 'BONNIE,' http://www.textuality.com/bonnie/index.html