FSTL: A Framework to Design and Explore Shingled Magnetic Recording Translation Layers

We introduce FSTL, a Framework for Shingled Translation Layers: a toolkit for implementing host-side block translation layers for Shingled Magnetic Recording (SMR) drives. It provides a Linux kernel implementation of key translation mechanisms (write allocation, LBA translation, map persistence, and consistent copying) while allowing translation policy (e.g. layout, cleaning algorithms, crash recovery) to be implemented in a user-space controller which communicates through an ioctlbased API to the kernel data plane. Due to its use of a journaled write format, FSTL-based translation layers are able to handle synchronous and durable writes to random LBAs at high speed. We describe the architecture and implementation of FSTL, and present two FSTL-based translation layers implemented in 400 lines of Python each. Despite the simplicity of the controllers, experiments show our first translation layer performing 1.5x to 10x better than a drive-managed translation layer on trace replay experiments, with performance roughly comparable to the drive-managed device for real file system-based benchmarks; the second translation layer, based on a full-volume extent map, is shown to offer significantly better performance than prior work. Furthermore, we implement and evaluate three cleaning algorithms to demonstrate how FSTL-based translation layers may be readily modified, while still offering the robustness needed for long-duration benchmarks and use.

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

[2]  Bruce Jacob,et al.  Memory Systems: Cache, DRAM, Disk , 2007 .

[3]  J. D. Coker,et al.  Data Handling Algorithms For Autonomous Shingled Magnetic Recording HDDs , 2012, IEEE Transactions on Magnetics.

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

[5]  Abutalib Aghayev,et al.  Evolving Ext4 for Shingled Disks , 2017, FAST.

[6]  Ethan L. Miller,et al.  SMRDB: key-value data store for shingled magnetic recording disks , 2015, SYSTOR.

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

[8]  S. Piramanayagam Perpendicular recording media for hard disk drives , 2007 .

[9]  Zvonimir Bandic,et al.  Indirection systems for shingled-recording disk drives , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[10]  Abutalib Aghayev,et al.  Modeling Drive-Managed SMR Performance , 2017, ACM Trans. Storage.

[11]  Chao Jin,et al.  HiSMRfs: A high performance file system for shingled storage array , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

[12]  Gregory R. Ganger,et al.  Disks Are Like Snowflakes: No Two Are Alike , 2011, HotOS.

[13]  David Hung-Chang Du,et al.  H-SWD: Incorporating Hot Data Identification into Shingled Write Disks , 2012, 2012 IEEE 20th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

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

[15]  Changwoo Min,et al.  Understanding Manycore Scalability of File Systems , 2016, USENIX Annual Technical Conference.

[16]  Antony I. T. Rowstron,et al.  Write off-loading: Practical power management for enterprise storage , 2008, TOS.

[17]  P. Desnoyers,et al.  Skylight—A Window on Shingled Disk Operation , 2015, FAST.

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

[19]  Abutalib Aghayev,et al.  Modeling SMR Drive Performance , 2016, SIGMETRICS.

[20]  David Hung-Chang Du,et al.  Novel Address Mappings for Shingled Write Disks , 2014, HotStorage.

[21]  Chao Jin,et al.  Simulation for a Shingled Magnetic Recording Disk , 2013, IEEE Transactions on Magnetics.

[22]  Mansour Shafaei,et al.  Virtual Guard: A Track-Based Translation Layer for Shingled Disks , 2017, HotStorage.

[23]  David Hung-Chang Du,et al.  SMaRT: An Approach to Shingled Magnetic Recording Translation , 2017, FAST.

[24]  Ahmed Amer,et al.  Classifying data to reduce long term data movement in shingled write disks , 2015, 2015 31st Symposium on Mass Storage Systems and Technologies (MSST).

[25]  James Kelley,et al.  SMORE: A Cold Data Object Store for SMR Drives (Extended Version) , 2017, ArXiv.

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

[27]  Dongkun Shin,et al.  KAST: K-associative sector translation for NAND flash memory in real-time systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[28]  Zvonimir Bandic,et al.  Shingled file system host-side management of Shingled Magnetic Recording disks , 2012, 2012 IEEE International Conference on Consumer Electronics (ICCE).

[29]  Anand Sivasubramaniam,et al.  Leveraging Value Locality in Optimizing NAND Flash-based SSDs , 2011, FAST.

[30]  Lihua Xie,et al.  Analytical modeling of SMR drive under different workload environments , 2017, 2017 13th IEEE International Conference on Control & Automation (ICCA).