Mnemosyne: lightweight persistent memory
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Some research directions in flashDB
DASFAA'11 Proceedings of the 16th international conference on Database systems for advanced applications
SCMFS: a file system for storage class memory
Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis
FlashTier: a lightweight, consistent and durable storage cache
Proceedings of the 7th ACM european conference on Computer Systems
BVSSD: build built-in versioning flash-based solid state drives
Proceedings of the 5th Annual International Systems and Storage Conference
Improving Bandwidth Efficiency for Consistent Multistream Storage
ACM Transactions on Storage (TOS)
X-FTL: transactional FTL for SQLite databases
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Unified high-performance I/O: one stack to rule them all
HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
SCMFS: A File System for Storage Class Memory and its Extensions
ACM Transactions on Storage (TOS)
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
From ARIES to MARS: transaction support for next-generation, solid-state drives
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
NoFTL: database systems on FTL-less flash storage
Proceedings of the VLDB Endowment
Extending the lifetime of flash-based storage through reducing write amplification from file systems
FAST'13 Proceedings of the 11th USENIX conference on File and Storage Technologies
ReconFS: a reconstructable file system on flash storage
FAST'14 Proceedings of the 12th USENIX conference on File and Storage Technologies
Hi-index | 0.01 |
Over the last twenty years the interfaces for accessing persistent storage within a computer system have remained essentially unchanged. Simply put, seek, read and write have defined the fundamental operations that can be performed against storage devices. These three interfaces have endured because the devices within storage subsystems have not fundamentally changed since the invention of magnetic disks. Non-volatile (flash) memory (NVM) has recently become a viable enterprise grade storage medium. Initial implementations of NVM storage devices have chosen to export these same disk-based seek/read/write interfaces because they provide compatibility for legacy applications. We propose there is a new class of higher order storage primitives beyond simple block I/O that high performance solid state storage should support. One such primitive, atomic-write, batches multiple I/O operations into a single logical group that will be persisted as a whole or rolled back upon failure. By moving write-atomicity down the stack into the storage device, it is possible to significantly reduce the amount of work required at the application, filesystem, or operating system layers to guarantee the consistency and integrity of data. In this work we provide a proof of concept implementation of atomic-write on a modern solid state device that leverages the underlying log-based flash translation layer (FTL). We present an example of how database management systems can benefit from atomic-write by modifying the MySQL InnoDB transactional storage engine. Using this new atomic-write primitive we are able to increase system throughput by 33%, improve the 90th percentile transaction response time by 20%, and reduce the volume of data written from MySQL to the storage subsystem by as much as 43% on industry standard benchmarks, while maintaining ACID transaction semantics.