A workload-aware flash translation layer enhancing performance and lifespan of TLC/SLC dual-mode flash memory in embedded systems

Abstract Similar to traditional NAND flash memory, triple-level cell (TLC) flash memory is used as secondary storage to meet the fast growing demands on storage capacity. TLC flash memory exhibits attractive features such as shock resistance, high density, low cost, non-volatility and low access latency natures. However, TLC flash memory also has some extra limitations, such as write disturbance, low performances and very limited cycles compared to single-level cell (SLC) flash memory. In this paper, we propose a workload-aware flash translation layer, named Balloon-FTL, for the TLC/SLC dual-mode flash memory, to improve performance and lifespan of the system. We first build a workload identifier module with genetic algorithm to dynamically allocate TLC/SLC capacity based on different workloads, and produce the suitable data allocation to achieve a balanced write distribution in flash memory with low memory access cost. The basic idea is to classify metadata/userdata according to their access pattern, and allocate low-latency SLC and high-density TLC mode blocks for write-intensive metadata and a large quantities userdata, respectively. We then propose a special hybrid mapping strategy for the TLC/SLC dual-mode flash memory to improve the performance. Experimental results show that Balloon-FTL can effectively improve the performance and lifespan of the TLC/SLC dual-mode flash memory in embedded systems.

[1]  Tei-Wei Kuo,et al.  An Adaptive Flash Translation Layer for High-Performance Storage Systems , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Edwin Hsing-Mean Sha,et al.  Balloonfish: Utilizing morphable resistive memory in mobile virtualization , 2015, The 20th Asia and South Pacific 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]  David Hung-Chang Du,et al.  Hot data identification for flash-based storage systems using multiple bloom filters , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[5]  Albert Y. Zomaya Farewell State of the Journal Editorial , 2015, IEEE Trans. Computers.

[6]  Edwin Hsing-Mean Sha,et al.  Curling-PCM: Application-specific wear leveling for phase change memory based embedded systems , 2013, 2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC).

[7]  Kenneth DeJong,et al.  Learning with genetic algorithms: An overview , 1988, Machine Learning.

[8]  Zili Shao,et al.  A block-level flash memory management scheme for reducing write activities in PCM-based embedded systems , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[9]  Reza Akbari,et al.  A multilevel evolutionary algorithm for optimizing numerical functions , 2011 .

[10]  Hong Jiang,et al.  Semantic-Aware Metadata Organization Paradigm in Next-Generation File Systems , 2012, IEEE Transactions on Parallel and Distributed Systems.

[11]  Zili Shao,et al.  PCM-FTL: A Write-Activity-Aware NAND Flash Memory Management Scheme for PCM-Based Embedded Systems , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[12]  Chuan-Kang Ting,et al.  On the Mean Convergence Time of Multi-parent Genetic Algorithms Without Selection , 2005, ECAL.

[13]  Li-Pin Chang,et al.  A Hybrid Approach to NAND-Flash-Based Solid-State Disks , 2010, IEEE Transactions on Computers.

[14]  Melanie Mitchell,et al.  An introduction to genetic algorithms , 1996 .

[15]  Yiran Chen,et al.  An overview of non-volatile memory technology and the implication for tools and architectures , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[16]  Zili Shao,et al.  A Space Reuse Strategy for Flash Translation Layers in SLC NAND Flash Memory Storage Systems , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[17]  David Hung-Chang Du,et al.  Hybrot: Towards Improved Performance in Hybrid SLC-MLC Devices , 2012, 2012 IEEE 20th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[18]  Yuan Xie,et al.  Point and discard: A hard-error-tolerant architecture for non-volatile last level caches , 2012, DAC Design Automation Conference 2012.

[19]  Trevor N. Mudge,et al.  Improving NAND Flash Based Disk Caches , 2008, 2008 International Symposium on Computer Architecture.

[20]  Huazhong Yang,et al.  A compression-based area-efficient recovery architecture for nonvolatile processors , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[22]  Dongkun Shin,et al.  ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer , 2010, J. Syst. Archit..

[23]  Sang-Won Lee,et al.  A survey of Flash Translation Layer , 2009, J. Syst. Archit..

[24]  Chita R. Das,et al.  Cache revive: Architecting volatile STT-RAM caches for enhanced performance in CMPs , 2012, DAC Design Automation Conference 2012.

[25]  Zili Shao,et al.  FTL2: a hybrid flash translation layer with logging for write reduction in flash memory , 2013, LCTES '13.

[26]  Jen-Wei Hsieh,et al.  Adaptive ECC Scheme for Hybrid SSD’s , 2015, IEEE Transactions on Computers.

[27]  Narayanan Vijaykrishnan,et al.  Enabling architectural innovations using non-volatile memory , 2011, GLSVLSI '11.

[28]  Tian Luo,et al.  CAFTL: A Content-Aware Flash Translation Layer Enhancing the Lifespan of Flash Memory based Solid State Drives , 2011, FAST.

[29]  Edwin Hsing-Mean Sha,et al.  Building high-performance smartphones via non-volatile memory: The swap approach , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[30]  Xavier Jimenez,et al.  Software controlled cell bit-density to improve NAND flash lifetime , 2012, DAC Design Automation Conference 2012.

[31]  Tei-Wei Kuo,et al.  A file-system-aware FTL design for flash-memory storage systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.