Snapshots in a flash with ioSnap

Snapshots are a common and heavily relied upon feature in storage systems. The high performance of flash-based storage systems brings new, more stringent, requirements for this classic capability. We present ioSnap, a flash optimized snapshot system. Through careful design exploiting common snapshot usage patterns and flash oriented optimizations, including leveraging native characteristics of Flash Translation Layers, ioSnap delivers low-overhead snapshots with minimal disruption to foreground traffic. Through our evaluation, we show that ioSnap incurs negligible performance overhead during normal operation, and that common-case operations such as snapshot creation and deletion incur little cost. We also demonstrate techniques to mitigate the performance impact on foreground I/O during intensive snapshot operations such as activation. Overall, ioSnap represents a case study of how to integrate snapshots into a modern, well-engineered flash-based storage system.

[1]  Design of the Server for the Spiralog File System , 1996, Digit. Tech. J..

[2]  KonishiRyusuke,et al.  The Linux implementation of a log-structured file system , 2006 .

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

[4]  Erik D. Demaine,et al.  PersiFS: a versioned file system with an efficient representation , 2005, SOSP '05.

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

[6]  Tal Garfinkel,et al.  Virtualization Aware File Systems: Getting Beyond the Limitations of Virtual Disks , 2006, NSDI.

[7]  Prashant J. Shenoy,et al.  Efficient Data Migration in Self-managing Storage Systems , 2006, 2006 IEEE International Conference on Autonomic Computing.

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

[9]  Steven Swanson,et al.  Gordon: using flash memory to build fast, power-efficient clusters for data-intensive applications , 2009, ASPLOS.

[10]  James Lau,et al.  File System Design for an NFS File Server Appliance , 1994, USENIX Winter.

[11]  Raymond A. Lorie,et al.  Physical integrity in a large segmented database , 1977, TODS.

[12]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

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

[14]  Robert B. Hagmann,et al.  Reimplementing the Cedar file system using logging and group commit , 1987, SOSP '87.

[15]  Craig A. N. Soules,et al.  Metadata Efficiency in Versioning File Systems , 2003, FAST.

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

[17]  J FeeleyMichael,et al.  Secure file system versioning at the block level , 2007 .

[18]  Randal C. Burns,et al.  Ext3cow: a time-shifting file system for regulatory compliance , 2005, TOS.

[19]  Sean Quinlan Fossil, an Archival File Server , 2011 .

[20]  Michael J. Feeley,et al.  Secure file system versioning at the block level , 2007, EuroSys '07.

[21]  Craig A. N. Soules,et al.  Self-securing storage: protecting data in compromised systems , 2000, Foundations of Intrusion Tolerant Systems, 2003 [Organically Assured and Survivable Information Systems].

[22]  Kai Li,et al.  Avoiding the Disk Bottleneck in the Data Domain Deduplication File System , 2008, FAST.

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

[24]  Dirk Grunwald,et al.  Peabody: the time travelling disk , 2003, 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies, 2003. (MSST 2003). Proceedings..

[25]  Norman C. Hutchinson,et al.  Deciding when to forget in the Elephant file system , 1999, SOSP.

[26]  Jim Gray,et al.  Fault Tolerance in Tandem Computer Systems , 1987 .

[27]  RosenblumMendel,et al.  The design and implementation of a log-structured file system , 1991 .

[28]  Hua Wang,et al.  BVSSD: build built-in versioning flash-based solid state drives , 2012, SYSTOR '12.

[29]  Ion Stoica,et al.  Snapshots in Hadoop Distributed File System , 2011 .

[30]  Sang Lyul Min,et al.  LTFTL: lightweight time-shift flash translation layer for flash memory based embedded storage , 2008, EMSOFT '08.

[31]  Qing Yang,et al.  TRAP-Array: A Disk Array Architecture Providing Timely Recovery to Any Point-in-time , 2006, 33rd International Symposium on Computer Architecture (ISCA'06).