The crash recovery time of NAND flash file systems increases with flash memory capacity. Crash recovery usually takes several minutes for a gigabyte of flash memory and becomes a serious problem for mobile devices. To address this problem, we propose a new flash file system, O1FS. A key concept of our system is that a small number of blocks are modified exclusively until we change the blocks explicitly. To recover from crashes, O1FS only accesses the most recently modified blocks rather than the entire flash memory. Therefore, the crash recovery time is bounded by the size of the blocks. We develop mathematical models of crash recovery techniques and prove that the time complexity of O1FS is O(1), whereas that of other methods is proportional to the number of blocks in the flash memory. Our evaluation shows that the crash recovery of O1FS is about 18.5 times faster than that of a state-of-the-art method.
Bibliographical noteFunding Information:
The authors would like to thank the anonymous reviewers of the Journal of Systems and Software for their valuable comments and suggestions to improve the quality of this paper. Kiman Kim and Seungyup Kang contributed implementations and experiments. This work was supported by a National Research Foundation of Korea (NRF) grant funded by the Korean government (MEST) (No. 2010-0029180 ) with KREONET.
- Crash recovery technique
- NAND flash file system
ASJC Scopus subject areas
- Information Systems
- Hardware and Architecture