Browse > Article

Design and Implementation of Crash Recovery Technique with Bounded Execution Time for NAND Flash File System  

Kang, Seung-Yup (고려대학교 컴퓨터학과)
Park, Hyun-Chan (고려대학교 컴퓨터학과)
Kim, Ki-Man (고려대학교 임베디드소프트웨어학과)
Yoo, Chuck (고려대학교 컴퓨터학과)
Abstract
Flash storage devices are very popularly used in portable devices such as cell phones, PDAs and MP3 players. As technology is improved, users want much bigger and faster storage system. Paradoxically, people have to wait more and more time proportionally to the capacity of their storage devices when these are trying to be recovered after file system crash. It is serious problem because booting time of devices is dominated by crash recovery of flash file system. In this paper, we design a crash recovery mechanism, named 'Working Area(WA hereafter)' technique, which has bounded crash recovery execution time. With WA technique, write operations to flash memory are only performed in WA. Therefore, by simply scanning the latest WA. We can recover a file system crash because every change for flash memory is occured only in latest WA. We implement the WA technique based on YAFFS2 and evaluate by comparing with traditional techniques. As a result, WA technique shows that its crash recovery execution time is 25 times faster than Log-based Method when we use 1 gig a bytes NAND flash memory in worst case. This gap will be futher and futher as storage capacity grows.
Keywords
Working Area Technique; Crash Recovery; NAND Flash File System; NAND Flash Storage;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Love, R., "Linux Kernel Development," 2003: Sams Pub.
2 http://www.alephl.co.uk/gitweb?p=yaffs2/.git;a=summary
3 The source code for the aging tool and benchmarks. Available : http://www.eecs.harvard.edu/keith/usenix96/
4 Keith A. Smith and Margo I. Seltzer, "File System Aging Increasing the Relevance of File System Benchmarks," In Proceedings of the 1997 ACM SIGMETRICS Conference, pp.203-213, June, 1997.
5 Bovet, D.P. and M. Cesati, "Understanding the Linux Kernel," 2003, O'Reilly & Associates.
6 K.S. Yim, et al., "A fast start-up technique for flash memory based computing systems," Symposium on Applied Computing: Proceedings of the 2005 ACM Symposium on Applied computing, vol.13, no.17, pp.843-849, 2005.
7 Hyunchan, Park, Chuck yoo, "A Design of Efficient Crash Recovery Technique for NAND Flash File System," Proc. of the 35th KIISE Fall Conference, vol.35, no.2(B), pp.470-475, 2008. (in Korean)
8 http://www.falinux.com
9 S.H. Lim and K.H. Park, "An Efficient NAND Flash File System for Flash Memory Storage," IEEE TRANSACTIONS ON COMPUTERS, pp. 906-912, 2006.
10 http://193.219.66.80/datasheets/NAND%20Flash/K9G8G08.pdf
11 Wu, C.H., T.W. Kuo, and L.P. Chang, The Design of efficient initialization and crash recovery for log-based file systems over flash memory. ACM Transactions on Storage (TOS), vol.2, no.4, pp.449-467, 2006.   DOI
12 Dumitru, Douglas (2007-08-16). "'Understanding Flash SSD Performance," EasyCo LLC.
13 E. Gal and S. Toledo, "Algorithms and data structures for flash memories," ACM Computing Surveys (CSUR), vol.37, no.2, pp.138-163, 2005.   DOI   ScienceOn
14 Rosenblum, M. and J.K. Ousterhout, The design and implementation of a log-structured file system. ACM Transactions on Computer Systems (TOGS), vol.10, no.1, pp.26-52, 1992.   DOI