SHRD: Improving Spatial Locality in Flash Storage Accesses by Sequentializing in Host and Randomizing in Device

Recent advances in flash memory technology have reduced the cost-per-bit of flash storage devices such as solid-state drives (SSDs), thereby enabling the development of large-capacity SSDs for enterprise-scale storage. However, two major concerns arise in designing SSDs. The first concern is the poor performance of random writes in an SSD. Server workloads such as databases generate many random writes; therefore, this problem must be resolved to enable the usage of SSDs in enterprise systems. The second concern is that the size of the internal DRAM of an SSD is proportional to the capacity of the SSD. The peculiarities of flash memory require an address translation layer called flash translation layer (FTL) to be implemented within an SSD. The FTL must maintain the address mapping table in the internal DRAM. Although the previously proposed demand map loading technique can reduce the required DRAM size, the technique aggravates the poor random performance. We propose a novel address reshaping technique called sequentializing in host and randomizing in device (SHRD), which transforms random write requests into sequential write requests in the block device driver by assigning the address space of the reserved log area in the SSD. Unlike previous approaches, SHRD can restore the sequentially written data to the original location without requiring explicit copy operations by utilizing the address mapping scheme of the FTL. We implement SHRD in a real SSD device and demonstrate the improved performance resulting from SHRD for various workloads.

[1]  Tei-Wei Kuo,et al.  An adaptive striping architecture for flash memory storage systems of embedded systems , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[2]  Sang Lyul Min,et al.  A space-efficient flash translation layer for CompactFlash systems , 2002, IEEE Trans. Consumer Electron..

[3]  Andrea C. Arpaci-Dusseau,et al.  ANViL: Advanced Virtualization for Modern Non-Volatile Memory Devices , 2015, FAST.

[4]  Jin-Soo Kim,et al.  ReSSD: a software layer for resuscitating SSDs from poor small random write performance , 2010, SAC '10.

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

[6]  Josef Bacik,et al.  BTRFS: The Linux B-Tree Filesystem , 2013, TOS.

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

[8]  Jihong Kim,et al.  Application-Managed Flash , 2016, FAST.

[9]  Nisha Talagala,et al.  Don't Stack Your Log On My Log , 2014, INFLOW.

[10]  Jin-Soo Kim,et al.  μ-FTL:: a memory-efficient flash translation layer supporting multiple mapping granularities , 2008, EMSOFT '08.

[11]  Sivan Toledo,et al.  LSDM: Improving the Performance of Mobile Storage with a Log-Structured Address Remapping Device Driver , 2014, 2014 Eighth International Conference on Next Generation Mobile Apps, Services and Technologies.

[12]  Qiao Li,et al.  Access Characteristic Guided Read and Write Cost Regulation for Performance Improvement on Flash Memory , 2016, FAST.

[13]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[14]  Yoon-Hee Choi,et al.  Three-Dimensional 128 Gb MLC Vertical nand Flash Memory With 24-WL Stacked Layers and 50 MB/s High-Speed Programming , 2014, IEEE Journal of Solid-State Circuits.

[15]  Joo Young Hwang,et al.  F2FS: A New File System for Flash Storage , 2015, FAST.

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

[17]  Kyu Ho Park,et al.  JFTL: A flash translation layer based on a journal remapping for flash memory , 2009, TOS.

[18]  Sang-Won Lee,et al.  SHARE Interface in Flash Storage for Relational and NoSQL Databases , 2016, SIGMOD Conference.

[19]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[20]  David Flynn,et al.  DFS: A file system for virtualized flash storage , 2010, TOS.

[21]  Koji Sato,et al.  The Linux implementation of a log-structured file system , 2006, OPSR.

[22]  Sang-Won Lee,et al.  X-FTL: transactional FTL for SQLite databases , 2013, SIGMOD '13.

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

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

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

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

[27]  Jeffrey Katcher,et al.  PostMark: A New File System Benchmark , 1997 .

[28]  Chao Wu,et al.  An Empirical Study of File-System Fragmentation in Mobile Storage Systems , 2016, HotStorage.