It's Not Where Your Data Is, It's How It Got There

Modern flash devices, which perform updates 'out of place', require different optimization strategies than hard disks. The focus for flash devices is on optimizing data movement, rather than optimizing data placement. An understanding of the processes that cause data movement within a flash drive is crucial for analyzing and managing it. While sequentiality on hard drives is easy to visualize, as is done by various defragmentation tools, data movement on flash is inherently dynamic. With the lack of suitable visualization tools, researchers and developers must rely on aggregated statistics and histograms from which the actual movement is derived. The complexity of this task increases with the complexity of state-of-the-art FTL production and research optimizations. Adding visualization to existing research and analysis tools will greatly improve our understanding of modern, complex flash-based systems. We developed SSD Player, a graphical tool for visualizing the various processes that cause data movement on SSDs. We use SSD Player to demonstrate how visualization can help us shed light on the complex phenomena that cause data movement and expose new opportunities for optimization.

[1]  Eitan Yaakobi,et al.  When do WOM codes improve the erasure factor in flash memories? , 2015, 2015 IEEE International Symposium on Information Theory (ISIT).

[2]  Kai Li,et al.  Management of Multilevel, Multiclient Cache Hierarchies with Application Hints , 2011, TOCS.

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

[4]  Asim Kadav,et al.  Differential RAID: Rethinking RAID for SSD reliability , 2010, ACM Trans. Storage.

[5]  Xavier Jimenez,et al.  Libra: Software-Controlled Cell Bit-Density to Balance Wear in NAND Flash , 2015, TECS.

[6]  Eitan Yaakobi,et al.  WOM codes reduce write amplification in NAND flash memory , 2012, 2012 IEEE Global Communications Conference (GLOBECOM).

[7]  Werner Bux,et al.  Performance of greedy garbage collection in flash-based solid-state drives , 2010, Perform. Evaluation.

[8]  Jongmoo Choi,et al.  Improving SSD reliability with RAID via Elastic Striping and Anywhere Parity , 2013, 2013 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[9]  E. L. Miller,et al.  Building Flexible , Fault-Tolerant Flash-based Storage Systems , 2009 .

[10]  Cheng Huang,et al.  Rethinking erasure codes for cloud file systems: minimizing I/O for recovery and degraded reads , 2012, FAST.

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

[12]  Gala Yadgar,et al.  Cooperative caching with return on investment , 2013, 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST).

[13]  Jongmoo Choi,et al.  Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems , 2012, FAST.

[14]  Youngjae Kim,et al.  FlashSim: A Simulator for NAND Flash-Based Solid-State Drives , 2009, 2009 First International Conference on Advances in System Simulation.

[15]  Anastasia Ailamaki,et al.  Improving Flash Write Performance by Using Update Frequency , 2013, Proc. VLDB Endow..

[16]  Yuval Cassuto,et al.  NAND flash architectures reducing write amplification through multi-write codes , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

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

[18]  Eitan Yaakobi,et al.  Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes , 2015, FAST.

[19]  Peter Desnoyers,et al.  Analytic Models of SSD Write Performance , 2014, TOS.

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

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