An efficient page-level FTL to optimize address translation in flash memory

Flash-based solid state disks (SSDs) have been very popular in consumer and enterprise storage markets due to their high performance, low energy, shock resistance, and compact sizes. However, the increasing SSD capacity imposes great pressure on performing efficient logical to physical address translation in a page-level flash translation layer (FTL). Existing schemes usually employ a built-in RAM cache for storing mapping information, called the mapping cache, to speed up the address translation. Since only a fraction of the mapping table can be cached due to limited cache space, a large number of extra operations to flash memory are required for cache management and garbage collection, degrading the performance and lifetime of an SSD. In this paper, we first apply analytical models to investigate the key factors that incur extra operations. Then, we propose an efficient page-level FTL, named TPFTL, which employs two-level LRU lists to organize cached mapping entries to minimize the extra operations. Inspired by the models, we further design a workload-adaptive loading policy combined with an efficient replacement policy to increase the cache hit ratio and reduce the writebacks of replaced dirty entries. Finally, we evaluate TPFTL using extensive trace-driven simulations. Our evaluation results show that compared to the state-of-the-art FTLs, TPFTL reduces random writes caused by address translation by an average of 62% and improves the response time by up to 24%.

[1]  David R. O'Hallaron,et al.  Computer Systems: A Programmer's Perspective , 1991 .

[2]  A. Tomlinson POWER , 1998, The Palgrave Encyclopedia of Imperialism and Anti-Imperialism.

[3]  David R. O'Hallaron,et al.  Computer systems : a programmer's perspective beta version , 2003 .

[4]  Sivan Toledo,et al.  Algorithms and data structures for flash memories , 2005, CSUR.

[5]  Sang-Won Lee,et al.  System Software for Flash Memory: A Survey , 2006, EUC.

[6]  Joonwon Lee,et al.  CFLRU: a replacement algorithm for flash memory , 2006, CASES '06.

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

[8]  Ulrich Drepper,et al.  What Every Programmer Should Know About Memory , 2007 .

[9]  Young-Jin Kim,et al.  LAST: locality-aware sector translation for NAND flash memory-based storage systems , 2008, OPSR.

[10]  Hyojun Kim,et al.  BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage , 2008, FAST.

[11]  Jim Gray,et al.  Flash Disk Opportunity for Server Applications , 2008, ACM Queue.

[12]  Yeonseung Ryu,et al.  Study on Garbage Collection Schemes for Flash-Based Linux Swap System , 2008, 2008 Advanced Software Engineering and Its Applications.

[13]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX Annual Technical Conference.

[14]  Arif Merchant,et al.  TaP: Table-based Prefetching for Storage Caches , 2008, FAST.

[15]  Shih-Hung Chen,et al.  Phase-change random access memory: A scalable technology , 2008, IBM J. Res. Dev..

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

[17]  Evangelos Eleftheriou,et al.  Write amplification analysis in flash-based solid state drives , 2009, SYSTOR '09.

[18]  Xubin He,et al.  BPAC: An adaptive write buffer management scheme for flash-based Solid State Drives , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[19]  Dan Feng,et al.  Achieving page-mapping FTL performance at block-mapping FTL cost by hiding address translation , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[20]  Garth R. Goodson,et al.  Design Tradeoffs in a Flash Translation Layer , 2010 .

[21]  David Hung-Chang Du,et al.  CFTL: a convertible flash translation layer adaptive to data access patterns , 2010, SIGMETRICS '10.

[22]  Luis A. Lastras,et al.  Write amplification reduction in NAND Flash through multi-write coding , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

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

[24]  Zili Shao,et al.  A Two-Level Caching Mechanism for Demand-Based Page-Level Address Mapping in NAND Flash Memory Storage Systems , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[25]  Bharadwaj Veeravalli,et al.  WAFTL: A workload adaptive flash translation layer with data partition , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[26]  Sivan Toledo,et al.  Prototyping a high-performance low-cost solid-state disk , 2011, SYSTOR '11.

[27]  David Hung-Chang Du,et al.  Sampling-based garbage collection metadata management scheme for flash-based storage , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[28]  Lei Zhang,et al.  S-FTL: An efficient address translation for flash memory by exploiting spatial locality , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[29]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[30]  Xubin He,et al.  Reducing SSD read latency via NAND flash program and erase suspension , 2012, FAST.

[31]  Chundong Wang,et al.  ADAPT: Efficient workload-sensitive flash management based on adaptation, prediction and aggregation , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[32]  A. L. Narasimha Reddy,et al.  Write amplification due to ECC on flash memory or leave those bit errors alone , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[33]  Youguang Zhang,et al.  ZFTL: A Zone-based Flash Translation Layer with a two-tier selective caching mechanism , 2012 .

[34]  Xubin He,et al.  Delta-FTL: improving SSD lifetime via exploiting content locality , 2012, EuroSys '12.

[35]  Andrea C. Arpaci-Dusseau,et al.  De-indirection for flash-based SSDs with nameless writes , 2012, FAST.

[36]  Sang-Won Lee,et al.  SFS: random write considered harmful in solid state drives , 2012, FAST.

[37]  Mingbang Wang,et al.  ZFTL: A Zone-based Flash Translation Layer with a two-tier selective caching mechanism , 2012, 2012 IEEE 14th International Conference on Communication Technology.

[38]  Steven Swanson,et al.  The bleak future of NAND flash memory , 2012, FAST.

[39]  Nisha Talagala,et al.  HEC: improving endurance of high performance flash-based cache devices , 2013, SYSTOR '13.

[40]  Chundong Wang,et al.  TreeFTL: Efficient RAM management for high performance of NAND flash-based storage systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[41]  Youyou Lu,et al.  Extending the lifetime of flash-based storage through reducing write amplification from file systems , 2013, FAST.

[42]  Tong Zhang,et al.  Error Rate-Based Wear-Leveling for nand Flash Memory at Highly Scaled Technology Nodes , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[43]  Jian Liu,et al.  PLC-cache: Endurable SSD cache for deduplication-based primary storage , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

[44]  Ping Huang,et al.  An aggressive worn-out flash block management scheme to alleviate SSD performance degradation , 2014, EuroSys '14.

[45]  Myoungsoo Jung,et al.  Power, Energy, and Thermal Considerations in SSD-Based I/O Acceleration , 2014, HotStorage.

[46]  Wei Wang,et al.  ReconFS: a reconstructable file system on flash storage , 2014, FAST.

[47]  Cheng Li,et al.  Assert(!Defined(Sequential I/O)) , 2014, HotStorage.

[48]  Jun Yang,et al.  CBM: A cooperative buffer management for SSD , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

[49]  Yue Yang,et al.  Analytical modeling of garbage collection algorithms in hotness-aware flash-based solid state drives , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

[50]  Xavier Jimenez,et al.  Wear unleveling: improving NAND flash lifetime by balancing page endurance , 2014, FAST.

[51]  Ming Zhao,et al.  How Much Can Data Compressibility Help to Improve NAND Flash Memory Lifetime? , 2015, FAST.