Multi-version checkpointing for flash file systems

Reliability has become a critical design issue in flash storage systems, because of the adoption of the low-cost, high-error-rate flash chips to fulfill the needs of the fast-growing storage capacity. In this paper, a multi-version checkpointing strategy is proposed to resolve the reliability issue of flash storage systems from the perspective of flash file systems. The proposed strategy can efficiently and effectively utilize checkpoints of file systems to guarantee the integrity and consistency of flash file systems after files or flash pages are corrupted. By utilizing the coexistence fact of multiple versions of the same data in flash memory, a control/recovery mechanism is presented to maintain checkpoints and to recover file systems with minimized management and recovery time overheads. A series of experiments was conducted based on realistic traces that were collected from benchmarks running over flash file systems in Linux operating systems. The results illustrate that the proposed strategy can significantly improve the reliability of flash file systems, as compared with other existing designs.

[1]  Ethan L. Miller,et al.  Muninn: a Versioning Flash Key-Value Store Using an Object-based Storage Model , 2014, SYSTOR 2014.

[2]  Tei-Wei Kuo,et al.  A commitment-based management strategy for the performance and reliability enhancement of flash-memory storage systems , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[3]  Tei-Wei Kuo,et al.  Endurance Enhancement of Flash-Memory Storage, Systems: An Efficient Static Wear Leveling Design , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[4]  Tei-Wei Kuo,et al.  Working-set-based address mapping for ultra-large-scaled flash devices , 2012, CODES+ISSS '12.

[5]  Sang-Won Lee,et al.  A log buffer-based flash translation layer using fully-associative sector translation , 2007, TECS.

[6]  Cheng-Wen Wu,et al.  Simulation-based test algorithm generation for random access memories , 2000, Proceedings 18th IEEE VLSI Test Symposium.

[7]  Erold W. Hinds,et al.  Error-correction coding , 1996 .

[8]  Tei-Wei Kuo,et al.  A reliability enhancement design under the flash translation layer for MLC-based flash-memory storage systems , 2013, TECS.

[9]  T. Moon Error Correction Coding: Mathematical Methods and Algorithms , 2005 .

[10]  Ethan L. Miller,et al.  Adding aggressive error correction to a high-performance compressing flash file system , 2009, EMSOFT '09.

[11]  Yuan-Hao Chang,et al.  New ERA: New efficient reliability-aware wear leveling for endurance enhancement of flash storage devices , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[12]  Yi Qin,et al.  A Parity Scheme to Enhance Reliability for SSDs , 2012, 2012 IEEE Seventh International Conference on Networking, Architecture, and Storage.

[13]  Sang Lyul Min,et al.  A space-efficient flash translation layer for CompactFlash systems , 2002, IEEE Trans. Consumer Electron..

[14]  Tei-Wei Kuo,et al.  Reliability Enhancement of Flash-Memory Storage Systems: An Efficient Version-Based Design , 2013, IEEE Transactions on Computers.

[15]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[16]  Gang Zhou,et al.  Storage-aware smartphone energy savings , 2013, UbiComp.

[17]  Jeffrey Katcher,et al.  PostMark: A New File System Benchmark , 1997 .

[18]  Paolo Prinetto,et al.  Performance and Reliability Analysis of Cross-Layer Optimizations of NAND Flash Controllers , 2015, ACM Trans. Embed. Comput. Syst..

[19]  David Woodhouse,et al.  JFFS : The Journalling Flash File System , 2001 .

[20]  Tei-Wei Kuo,et al.  A DRAM-flash index for native flash file systems , 2013, 2013 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[21]  Dongkun Shin,et al.  Flash-Aware RAID Techniques for Dependable and High-Performance Flash Memory SSD , 2011, IEEE Transactions on Computers.

[22]  Jen-Chieh Yeh,et al.  Fault-pattern oriented defect diagnosis for flash memory , 2006, 2006 IEEE International Workshop on Memory Technology, Design, and Testing (MTDT'06).

[23]  David Hung-Chang Du,et al.  Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).