Understanding and Alleviating the Impact of the Flash Address Translation on Solid State Devices

Flash-based solid state devices (SSDs) have been widely employed in consumer and enterprise storage systems. 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 to store mapping information, called 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 flash accesses 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 flash accesses during address translation. Then, we propose a novel page-level FTL with an efficient translation page-level caching mechanism, named TPFTL, to minimize the extra flash accesses. TPFTL employs a two-level least recently used (LRU) list with space-efficient optimizations to organize cached mapping entries. Inspired by the models, we further design a workload-adaptive loading policy combined with an efficient replacement policy to increase the cache hit rate 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 significantly reduces the extra operations caused by address translation, achieving reductions on system response time and write amplification by up to 27.1% and 32.2%, respectively.

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

[2]  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).

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

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

[5]  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).

[6]  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.

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

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

[9]  Peter Desnoyers,et al.  Analytic modeling of SSD write performance , 2012, SYSTOR '12.

[10]  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).

[11]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[12]  Ruixuan Li,et al.  CAST: A page-level FTL with compact address mapping and parallel data blocks , 2012, 2012 IEEE 31st International Performance Computing and Communications Conference (IPCCC).

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

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

[15]  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).

[16]  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.

[17]  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).

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

[19]  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).

[20]  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).

[21]  Erez Zadok,et al.  Virtual machine workloads: the case for new benchmarks for NAS , 2013, FAST.

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

[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]  Youyou Lu,et al.  Extending the lifetime of flash-based storage through reducing write amplification from file systems , 2013, FAST.

[25]  Nimrod Megiddo,et al.  ARC: A Self-Tuning, Low Overhead Replacement Cache , 2003, FAST.

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

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

[28]  Fei Wu,et al.  An efficient page-level FTL to optimize address translation in flash memory , 2015, EuroSys.

[29]  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).

[30]  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).

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

[32]  Ming Zhao,et al.  Client-side Flash Caching for Cloud Systems , 2014, SYSTOR 2014.

[33]  Guoliang Li,et al.  LazyFTL: a page-level flash translation layer optimized for NAND flash memory , 2011, SIGMOD '11.

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

[35]  Qianbin Xia,et al.  Flash-Aware High-Performance and Endurable Cache , 2015, 2015 IEEE 23rd International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[36]  Mahmut T. Kandemir,et al.  Sprinkler: Maximizing resource utilization in many-chip solid state disks , 2014, 2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA).

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

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