UW-Madison Logo

The ADvanced Systems Laboratory (ADSL)

Flash-based SSDs

For many years, hard drives dominated the storage landscape; however, the past decade has seen the introduction and proliferation of Flash-based solid-state devices (SSDs). We have investigated, in a measurement-driven fashion, ways to improve an SSD-based storage stack and have defined the unwritten contract for how SSDs should be used for the highest performance and longest lifetime. Using our detailed understanding of the performance characteristics of SSDs, we developed an optimized key-value store (WiscKey) and search engine.
  • De-indirection for Flash-based SSDs with Nameless Writes (FAST '12). We apply a layer-breaking approach (as above) to Flash, showing how the integration of file system structures with the SSD FTL can greatly reduce memory costs without loss in performance.
  • Getting Real: Lessons in Transitioning Research Simulations into Hardware Systems (FAST '13). We build the above idea in real hardware, showcasing the difficulties of transitioning academic ideas into practice.
  • Snapshots in a Flash with ioSnap (EuroSys '14). We introduce an extremely efficient snapshotting mechanism that can be used to improve performance and increase functionality of flash-based storage.
  • ANViL: Advanced Virtualization for Modern Non-Volatile Memory Devices (FAST '15). We build on ioSnap to deliver new I/O primitives to clients that enable them to better exploit in-device capabilities to achieve higher performance and improved crash recovery. Both ioSnap and ANViL have been directly incorporated into FusionIO's product line and are widely used in high-performance enterprise settings.
  • WiscKey: Separating Keys from Values in SSD-conscious Storage (FAST '16). We present a fundamental, new idea in the design of log-structured key-value storage, by separating the pointers to data blocks from the data itself. This idea can lead to massive performance advantages (100x over standard approaches) and increase the lifetime of underlying devices. The ideas in WiscKey's log-structured merge tree are in use at Pure Storage, being studied for adoption by Toshiba, and form the basis of a popular open-source version written in Go.
  • The Unwritten Contract of Solid State Drives (EuroSys '17). We perform the first detailed, comprehensive study of how best to use SSDs for high performance and long lifetime, summarized by a set of rules (the unwritSearch Engineten contract) that clients must follow.
  • Read as Needed: Building WiSER, a Flash-Optimized Search Engine (FAST'20). We design and implement a lean-slate search engine to exploit high-performance SSDs. WiSER utilizes new techniques to deliver high throughput and low latency with a relatively small amount of main memory, including an optimized data layout, a novel two-way cost-aware Bloom filter, adaptive prefetching, and space-time trade-offs.