Abstract
Although flash memory has gained very strong momentum in the storage market, the reliability of flash-memory chips has been dropped significantly in the past years. This article presents a reliability enhancement design under the flash management layer (i.e., flash translation layer) to address this concern so as to reduce the design complexity of flash-memory management software/firmware and to improve the maintainability and portability of existing and future products. In particular, a log-based write strategy with a hash-based caching policy is proposed to provide extra ECC redundancy and performance improvement. Strategies for bad block management are also presented. The failure rate of flash-memory storage systems is analyzed with the considerations of bit errors. The proposed design is later evaluated by a series of experiments based on realistic traces. It was shown that the proposed approach could significantly improve the reliability of flash memory with very limited system overheads.
- Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J. D., Manasse, M., and Panigrahy, R. 2008. Design tradeoffs for SSD performance. In Proceedings of the USENIX Annual Technical Conference. 57--70. Google Scholar
Digital Library
- Balakrishnan, M., Kadav, A., Prabhakaran, V., and Malkhi, D. 2010. Differential RAID: Rethinking RAID for SSD reliability. ACM Trans. Storage 6, 2, 4:1--4:22. Google Scholar
Digital Library
- Birrell, A., Isard, M., Thacker, C., and Wobber, T. 2007. A design for high-performance flash disks. SIGOPS Oper. Syst. Rev. 41, 2, 88--93. Google Scholar
Digital Library
- Chang, L.-P. and Kuo, T.-W. 2002. An adaptive striping architecture for flash memory storage systems of embedded systems. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS). 187--196. Google Scholar
Digital Library
- Chang, Y.-H., Hsieh, J.-W., and Kuo, T.-W. 2007. Endurance enhancement of flash-memory storage systems: An efficient static wear leveling design. In Proceedings of the 44th ACM/IEEE Design Automation Conference (DAC). Google Scholar
Digital Library
- Chang, Y.-H. and Kuo, T.-W. 2009. A commitment-based management strategy for the performance and reliability enhancement of flash-memory storage systems. In Proceedings of the 46th ACM/IEEE Design Automation Conference (DAC). Google Scholar
Digital Library
- Chang, Y.-H. and Kuo, T.-W. 2010. A reliable MTD design for MLC flash-memory storage systems. In Proceedings of the ACM International Conference on Embedded Software (EMSOFT). Google Scholar
Digital Library
- Cho, H., Shin, D., and Eom, Y. I. 2009. KAST: K-associative sector translation for NAND flash memory in real-time systems. In Proceedings of the Design a Automation & Test in Europe Conference (DATE). Google Scholar
Digital Library
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. 2009. Introduction to Algorithms 3rd Ed. The MIT Press, Combridge, MA. Google Scholar
Digital Library
- Du, Y., Cai, M., and Dong, J. 2005. Adaptive energy-aware design of a multi-bank flash-memory storage system. In Proceedings of the 11th IEEE Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). Google Scholar
Digital Library
- Godard, B., Daga, J.-M., Torres, L., and Sassatelli, G. 2007. Evaluation of design for reliability techniques in embedded flash memories. In Proceedings of the ACM/IEEE Design, Automation and Test in Europe (DATE). Google Scholar
Digital Library
- Grupp, L. M., Caulfield, A. M., Coburn, J., Swanson, S., Yaakobi, E., Siegel, P. H., and Wolf, J. K. 2009. Characterizing flash memory: Anomalies, observations, and applications. In Proceedings of the IEEE/ACM International Symposium on Microarchitecture (MICRO). Google Scholar
Digital Library
- Gupta, A., Kim, Y., and Urgaonkar, B. 2009. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Google Scholar
Digital Library
- Gyu, H. and Chang, N. 2003. Energy-aware memory allocation in heterogeneous non-volatile memory systems. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED). Google Scholar
Digital Library
- Hsieh, J.-W., Kuo, T.-W., Wu, P.-L., and Huang, Y.-C. 2007. Energy-efficient and performance-enhanced disks using flash-memory cache. In Proceedings of the ACM/IEEE International Symposium on Low Power Electronics and Design (ISLPED). 334--339. Google Scholar
Digital Library
- inSpectrum 2011. NAND Flash Contract Price, http://www.inspectrumtech.com/DP/NANDFlashContract Price.aspx.Google Scholar
- Intel Corporation. 1998. Understanding the flash translation layer (FTL) specification (AP-684). Intel Corporation.Google Scholar
- Jiang, A., Mateescu, R., Yaakobi, E., Bruck, J., Siegel, P. H., Vardy, A., and Wolf, J. K. 2010. Storage coding for wear leveling in flash memories. IEEE Trans. Inf. Theory. 56, 10(Oct), 5290--5299. Google Scholar
Digital Library
- Jo, H., Kang, J.-U., Park, S.-Y., Kim, J.-S., and Lee, J. 2006. FAB: Flash-aware buffer management policy for portable media players. IEEE Trans. Consum. Electron. 52, 2, 485--493. Google Scholar
Digital Library
- Joo, Y., Cho, Y., Shin, D., and Chang, N. 2007. Energy-aware data compression for multi-level cell (MLC) flash memory. In Proceedings of the 44th ACM/IEEE Design Automation Conference (DAC). 716--719. Google Scholar
Digital Library
- Joo, Y., Choi, Y., Park, C., Chung, S. W., Chung, E.-Y., and Chang, N. 2006. Demand paging for OneNANDTM flash eXecute-in-place. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS). Google Scholar
Digital Library
- Kang, S., Park, S., Jung, H., Shim, H., and Cha, J. 2009. Performance trade-offs in using NVRAM write buffer for flash memory-based storage devices. IEEE Trans. Comput. 58, 6, 744--758. Google Scholar
Digital Library
- Kang, Y. and Miller, E. L. 2009. Adding aggressive error correction to a high-performance compressing flash file system. In Proceedings of the ACM International Conference on Embedded Software (EMSOFT). Google Scholar
Digital Library
- Kawaguchi, A., Nishioka, S., and Motoda, H. 1995. A flash-memory based file system. In Proceedings of the USENIX Technical Conference. 155--164. Google Scholar
Digital Library
- Kgil, T. and Mudge, T. 2006. FlashCache: A NAND flash memory file cache for low power web servers. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES). 103--112. Google Scholar
Digital Library
- Kim, G., Baek, S., Lee, H., Lee, H., and Joe, M. 2006. LGeDBMS: A small DBMS for embedded system with flash memory. In Proceedings of the 32nd International Conference on Very Large Data Bases (VLDB). 1255--1258. Google Scholar
Digital Library
- Kim, H. and Ahn, S. 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of USENIX Conference on File and Storage Technologies (FAST). Google Scholar
Digital Library
- Kim, J., Kim, J. M., Noh, S. H., Min, S. L., and Cho, Y. 2002. A space-efficient flash translation layer for CompactFlash systems. IEEE Trans. Consumer Electro. Google Scholar
Digital Library
- Larson, H. J. 1994. Introduction to Probability 3rd Ed. Addison-Wesley, Boston, MA.Google Scholar
- Lee, J.-H., Park, G.-H., and Kim, S.-D. 2004. A new NAND-type flash memory package with smart buffer system for spatial and temporal localities. J. Syst. Archit. 51, 111--123. Google Scholar
Digital Library
- Lee, S.-W., Park, D.-J., Chung, T.-S., Lee, D.-H., Park, S.-W., and Song, H.-J. 2007. A log buffer-based flash translation layer using fully-associative section translation. ACM Trans. Embed. Comput. Syst. Google Scholar
Digital Library
- Matthews, J., Trika, S., Hensgen, D., Coulson, R., and Grimsrud, K. 2008. Intel® Turbo Memory: Nonvolatile disk caches in the storage hierarchy of mainstream computer systems. ACM Trans. Storage 4, 2, 1--24. Google Scholar
Digital Library
- Mielke, N., Marquart, T., Wu, N., Kessenich, J., Belgal, H., Schares, E., Trivedi, F., Goodness, E., and Nevill, L. R. 2008. Bit error rate in NAND flash memories. In Proceedings of IEEE International Reliability Physics Symposium (IRPS'08). 9--19.Google Scholar
- Moon, T. K. 2005. Error Correction Coding: Mathematical Methods and Algorithms. Wiley-Interscience, Hoboken, NJ. Google Scholar
Digital Library
- Murugan, M. and Du, D. H. C. 2011. Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead. In Proceedings of IEEE Symposium in Massire Storage Systems and Technologies (MSST). Google Scholar
Digital Library
- Narayanan, D., Donnelly, A., and Rowstron, A. 2008. Write off-loading: Practical power management for enterprise storage. ACM Trans. Storage 4, 10:1--10:23. Google Scholar
Digital Library
- Nath, S. and Kansal, A. 2007. FlashDB: Dynamic self-tuning database for NAND flash. In Proceedings of the ACM International Conference of Information Processing in Sensor Networks (IPSN). Google Scholar
Digital Library
- Papirla, V. and Chakrabarti, C. 2009. Energy-aware error control coding for flash memories. In Proceedings of the ACM/IEEE Design Automation Conference (DAC). Google Scholar
Digital Library
- Park, C., Kang, J.-U., Park, S.-Y., and Kim, J.-S. 2004. Energy-aware demand paging on NAND flash-based embedded storages. In Proceedings of the ACM/IEEE International Symposium on Low Power Electronics and Design (ISLPED). Google Scholar
Digital Library
- Park, D., Debnath, B., and Du, D. 2010. CFTL: A convertible flash translation layer adaptive to data access patterns. In Proceedings of ACM SIGMETRICS International Conference Measurement and Modeling of Computer Systems (SIGMETRICS). 14--18. Google Scholar
Digital Library
- Samsung Electronics. 2005. K9K8G08U0M 1G * 8 Bit NAND Flash Memory Data Sheet. Samsung Electronics.Google Scholar
- Samsung Electronics. 2006. K9GAG08U0M 2G × 8bit NAND Flash Memory Data Sheet. Samsung Electronics.Google Scholar
- Smith, A. J. 1985. Disk cache--miss ratio analysis and design considerations. ACM Trans. Comput. Syst. (TOCS) 3, 3, 161--203. Google Scholar
Digital Library
- STMicroelectronics. 2005. NAND08Gx3C2A 8Gbit Multi-level NAND Flash Memory. STMicroelectronics.Google Scholar
- Woodhouse, D. 2001. JFFS: The journalling flash file system. In Proceedings of the Ottawa Linux Symposium.Google Scholar
- Wu, C.-H., Chang, L.-P., and Kuo, T.-W. 2003. An efficient b-tree layer for flash-memory storage systems. In Proceedings of the 9th International Conference on Real-Time and Embedded Computing Systems and Applications (RTCSA).Google Scholar
Index Terms
A reliability enhancement design under the flash translation layer for MLC-based flash-memory storage systems
Recommendations
A reliable MTD design for MLC flash-memory storage systems
EMSOFT '10: Proceedings of the tenth ACM international conference on Embedded softwareThe reliability of flash-memory chips has dropped dramatically in recent years. In order to solve this problem, a reliable memory technology device (MTD) design is proposed to address this concern at the device driver layer so as to release the design ...
Storage architecture and software support for SLC/MLC combined flash memory
SAC '09: Proceedings of the 2009 ACM symposium on Applied ComputingWe propose a novel flash memory management software for SLC/MLC combined flash memories which are recently introduced to provide flexible and cost-efficient embedded storage systems. To provide a fast and large capacity of flash memory, the proposed ...
Flash correct-and-refresh: Retention-aware error management for increased flash memory lifetime
ICCD '12: Proceedings of the 2012 IEEE 30th International Conference on Computer Design (ICCD 2012)With the continued scaling of NAND flash and multi-level cell technology, flash-based storage has gained widespread use in systems ranging from mobile platforms to enterprise servers. However, the robustness of NAND flash cells is an increasing concern, ...






Comments