폴트 삽입 테스트를 이용한 플래시 메모리 소프트웨어의 강건성 분석

Robustness Analysis of Flash Memory Software using Fault Injection Tests

  • 이동희 (서울시립대학교 컴퓨터과학부)
  • 발행 : 2005.08.01

초록

휴대전화와 PDA 등에서 수행되는 플래시 메모리 소프트웨어는 돌발적인 전원 중단이나 기록매체 폴트에 대처하기 위하여 충분히 테스트되어야 한다 이러한 테스트를 위하여, 폴트 삽입 기능을 가지는 플래시 메모리 에뮬레이터를 설계하고 구현하였다. 폴트 삽입을 통한 테스트 기법은 FTL(Flash Translation Layer)과 플래시 메모리 기반 파일 시스템의 폴트 회복 기법을 설계하고 폴트로 인한 피해를 분석하는데 유용한 도구로 사용되었다. 본 논문에서는 플래시 메모리에서 관찰되는 폴트의 유형과 플래시 메모리 에뮬레이터에서 구현된 폴트 삽입 기능에 대해 설명한다. 그리고 폴트 삽입 테스트 과정에서 밝혀진 디자인 결함에 대하여 설명한다. 특히 신뢰성을 향상하기 위하여 도입된 기능이 신뢰성을 향상하기 보다 피해를 유발하는 것으로 밝혀졌다. 마지막으로 FTL과 파일 시스템의 "폴트 후 동작"에 대해 설명한다

Flash memory software running on cellular phones and PDAs need to be tested extensively to cope with abrupt power and media faults. For those tests, we designed and implemented a Flash memory emulator with fault injection features. The fault injection tester has provided a helpful framework for designing fault recovery schemes and also for analyzing fault damages to the FTL (Flash Translation Layer) and file system for a Flash memory based system. In this paper, we discuss Plash memory fault types and fault injection features implemented on this Flash memory emulator. We then discuss in detail a design flaw revealed during fault injection tests. Specifically, it was revealed that a scheme that was believed to improve reliability instead, turned out to be harmful. In addition, we discuss post-fault behaviors of the FTL and the file system.

키워드

참고문헌

  1. F. Douglis, R. Caceres, M. F. Kaashoek, P. Krishnan, K. Li, B. Marsh, and J. Tauber. 'Storage Alternatives for Mobile Computers,' in Proceedings of the 1st Symposium on Operating Systems Design and Implementation, pp. 25-37, 1994
  2. Understanding the Flash Translation Layer (FTL) Specification, Intel Corporation, 1998
  3. Memory Technology Device (MTD) subsystem for Linux, http://www.linux-mtd.infradead.org
  4. 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
  5. Implementing MLC NAND Flash for Cost-Effective, High-Capacity Memory, M-Systems, 2003
  6. NAND Flash Memory and SmartMedia Data Book, Samsung Electronics, Co., 2003
  7. A. Kawaguchi, S. Nishioka, and H. Motoda, 'A Flash-Memory Based File System,' in Proceedings of the Winter 1995 USENIX Technical Conference, pp. 155-164, 1995
  8. D. Woodhouse, 'JFFS: The Journaling Flash File System,' Ottawa Linux Symposium 2001, 2001
  9. YAFFS(Yet Another Flash File System) Specification Version 0.3, www.aleph1.co.uk/yaffs/, 2002
  10. M. Hsueh, T. K. Tsai, and R. K. Iyer, 'Fault Injection Techniques and Tools,' IEEE Computer, Vol. 30. No.4, pp. 75-82, 1997 https://doi.org/10.1109/2.585157
  11. G. A. Kanawati, N. A. Kanawati, and J. A. Abraham, 'FERRARI: A Tool for the Validation of System Dependability Properties,' in Proceedings of 22nd International Symposium on Fault-Tolerant Computing, pp. 336-344, 1992 https://doi.org/10.1109/FTCS.1992.243567
  12. P. J. Koopman Jr., J. Sung, C. P. Dingman, D. P. Siewiorek, and T. Marz, 'Comparing Operating Systems Using Robustness Benchmarks,' Symposium on Reliable Distributed Systems, pp. 72-79, 1997 https://doi.org/10.1109/RELDIS.1997.632800
  13. J. Carreira, H. Madeira, and J. G. Silva, 'Xception: A Technique for the Experimental Evaluation of Dependability in Modem Computers,' Journal of Software Engineering, Vol. 24, No.2, pp. 125-136, 1998 https://doi.org/10.1109/32.666826
  14. T. K. Tsai, R. K. Iyer, and D. Jewitt, 'An Approach towards Benchmarking of Fault-Tolerant Commercial Systems,' Symposium on Fault-Tolerant Computing, pp. 314-323, 1996 https://doi.org/10.1109/FTCS.1996.534616