The Community for Technology Leaders
RSS Icon
Issue No.12 - Dec. (2013 vol.62)
pp: 2503-2515
Yuan-Hao Chang , Academia Sinica, Taipei
Po-Chun Huang , National Taiwan University, Taipei
Pei-Han Hsu , National Taiwan University, Taipei
Lue-Jane Lee , National Taiwan University, Taipei
Tei-Wei Kuo , National Taiwan University , Taipei
David Hung-Chang Du , University of Minnesota, Minneapolis
In recent years, reliability has become one critical issue in the designs of flash-memory file/storage systems, due to the growing unreliability of advanced flash-memory chips. In this paper, a version-based design is proposed to effectively and efficiently maintain the consistency among page versions of a file for potential recovery needs. In particular, a two-version one for a native file system is presented with the minimal overheads in version maintenance. A recovery scheme is then presented to restore a corrupted file back to the latest consistent version. The design is later extended to maintain multiple data versions with the considerations of the write constraints of multilevel-cell flash memory. It was shown that the proposed design could significantly improve the reliability of flash memory with limited management and space overheads.
Storage management, Error correction codes, Flash memory, Reliability engineering, Computer architecture, Queueing analysis,queue, Flash memory, ECC, Poisson distribution, binomial distribution, file system, MLC, YAFFS, forward copying, recovery, reliability, two version
Yuan-Hao Chang, Po-Chun Huang, Pei-Han Hsu, Lue-Jane Lee, Tei-Wei Kuo, David Hung-Chang Du, "Reliability Enhancement of Flash-Memory Storage Systems: An Efficient Version-Based Design", IEEE Transactions on Computers, vol.62, no. 12, pp. 2503-2515, Dec. 2013, doi:10.1109/TC.2012.131
[1] P.-H. Hsu, Y.-H. Chang, P.-C. Huang, T.-W. Kuo, and D.H.-C. Du, "A Version-Based Strategy for Reliability Enhancement of Flash File Systems," Proc. ACM/IEEE 48th Design Automation Conf. (DAC), 2009.
[2] L.-P. Chang, "On Efficient Wear-Leveling for Large-Scale Flash-Memory Storage Systems," Proc. ACM Symp. Applied Computing, 2007.
[3] L.-P. Chang and T.-W. Kuo, "An Adaptive Striping Architecture for Flash Memory Storage Systems of Embedded Systems," Proc. IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS), pp. 187-196, 2002.
[4] Y.-H. Chang, J.-W. Hsieh, and T.-W. Kuo, "Endurance Enhancement of Flash-Memory Storage Systems: An Efficient Static Wear Leveling Design," Proc. ACM/IEEE 44th Design Automation Conf. (DAC), June 2007.
[5] Y.-S. Chu, J.-W. Hsieh, Y.-H. Chang, and T.-W. Kuo, "A Set-Based Mapping Strategy for Flash-Memory Reliability Enhancement," Proc. ACM/IEEE Design, Automation and Test in Europe (DATE), 2009.
[6] C.-H. Wu and T.-W. Kuo, "An Adaptive Two-level Management for the Flash Translation Layer in Embedded Systems," Proc. IEEE/ACM Int'l Conf. Computer-Aided Design (ICCAD), pp. 601-606, 2006.
[7] A.O. Company, "Yet Another Flash Filing System,", 2013.
[8] D. Woodhouse, "JFFS: The Journalling Flash File System," Proc. Ottawa Linux Symp., 2001.
[9] D. Jung, J. Kim, J.-S. Kim, and J. Lee, "ScaleFFS: A Scalable Log-Structured Flash File System for Mobile Multimedia Systems," ACM Trans. Multimedia Computing, Comm., and Applications, vol. 5, no. 1, pp. 1-18, 2008.
[10] S.-H. Lim and K.-H. Park, "An Efficient NAND Flash File System for Flash Memory Storage," IEEE Trans. Computers, vol. 55, no. 7, pp. 906-912, July 2006.
[11] C.H. Wu, T.-W. Kuo, and L.-P. Chang, "Efficient Initialization and Crash Recovery for Log-Based File Systems over Flash Memory," Proc. ACM Symp. Applied Computing (SAC), Apr. 2006.
[12] K.S. Yim, J. Kim, and K. Koh, "A Fast Start-Up Technique for Flash Memory Based Computing Systems," Proc. ACM Symp. Applied Computing (SAC), pp. 843-849, 2005.
[13] Y.-H. Chang and T.-W. Kuo, "A Commitment-Based Management Strategy for the Performance and Reliability Enhancement of Flash-Memory Storage Systems," Proc. ACM/IEEE 46th Design Automation Conf. (DAC), 2009.
[14] A. Kadav, M. Balakrishnan, V. Prabhakaran, and D. Malkhi, "Differential RAID: Rethinking RAID for SSD Reliability," ACM SIGOPS Operating Systems Rev., vol. 44, no. 1, pp. 55-59, 2010.
[15] Y. Kang and E.L. Miller, "Adding Aggressive Error Correction to a High-Performance Compressing Flash File System," Proc. ACM Int'l Conf. Embedded Software (EMSOFT), 2009.
[16] "Error Correct Code in Single Level Cell NAND Flash Memories," technical report, STMicroelectronics, 2004.
[17] T.K. Moon, Error Correction Coding: Mathematical Methods and Algorithms. Wiley-Interscience, 2005.
[18] K. Sun, S. Baek, J. Choi, D. Lee, S.H. Noh, and S.L. Min, "LTFTL: Lightweight Time-Shift Flash Translation Layer for Flash Memory Based Embedded Storage," Proc. ACM Int'l Conf. Embedded Software (EMSOFT), pp. 51-58, 2008.
[19] Flash Contract Price, http:/ DRAMeXchange, 2010.
[20] "Flash File System, US Patent 540,448," Intel Corporation.
[21] "FTL Logger Exchanging Data with FTL Systems," technical report, Intel Corporation.
[22] "Flash-Memory Translation Layer for NAND Flash (NFTL)," M-Systems, 1998.
[23] "Understanding the Flash Translation Layer (FTL) Specification," http:/, technical report, Intel Corporation, http:/, Dec. 1998.
[24] T.-W. Kuo, Y.-H. Chang, P.-C. Huang, and C.-W. Chang, "Special Issues in Flash," Proc. IEEE/ACM Int'l Conf. Computer-Aided Design (ICCAD), 2008.
[25] M.-H. Hsu, Y.-T. Hsing, J.-C. Yeh, and C.-W. Wu, "Fault-Pattern Oriented Defect Diagnosis for Flash Memory," Proc. IEEE Int'l Workshop Memory Technology, Design, and Testing (MTDT), pp. 3-8, 2006.
[26] C.-F. Wu, C.-T. Huang, K.-L. Cheng, and C.-W. Wu, "Simulation-Based Test Algorithm Generation for Random Access Memories," Proc. IEEE VLSI Test Symp. (VTS), pp. 291-296, 2000.
[27] E. ki Kim, H. Shin, B. gil Jeon, S. Han, J. Jung, and Y. Won, "FRASH: Hierarchical File System for FRAM and Flash," Proc. Int'l Conf. Computational Science and Its Applications (ICCSA), 2007.
[28] 3Gen. Inellinas Clustered Failover, , 2006.
[29] EMC. Emc Best Practices: Symmetrix connectand File Level Granularity, fall02/cs597A/paperssymm_cflg_wp.pdf , 2001.
[30] MT29F32G08CBABA 32Gb NAND MLC Flash Memory Data Sheet, Micron, 2009.
[31] L. MTD. (2008) NAND Simulator, http://www.linux-mtd. , 2008.
[32] J. Katcher, "Postmark: A New File System Benchmark," Technical Report TR3022, Network Appliance, library3022.html, 1997.
[33] R. Coker, Bonnie++,, 2012.
[34] IOzone.Org., Iozone Filesystem Benchmark, http:/www., 2006.
77 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool