Building Fast, Smart Storage Devices
We build prototype storage systems based on next-generation memories to explore the future of fast storage. Our first prototype was Moneta, a PCIe-attached SSD that first demonstrated an OS by-pass interface for storage. Rather than rely on the operating system to access an SSD on the application's behalf, Moneta takes over the file system's permission checks so that the application can access storage directly. The result is dramatically faster performance and simpler, more flexible software.
Onyx, our second storage array prototype, was the world's first publicly demonstrated PCM-based SSD. We built it using our own PCM memory module (at left). Now, we are working with a major CPU manufacturer to build a second-generation Onyx system.
Our latest work focuses on making SSDs programmable (much like modern GPUs are programmable), so programmers can modify and extend their behavior. For instance, you could write an "app" to run on your SSD that accelerates database, caching, or multimedia operations. Our goal is to make programming SSDs as easy as programming your phone or your GPU. As a result, anyone will be able to fully leverage the performance than non-volatile memories can offer.
Willow: A User-Programmable SSD
Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI '14), 2014.
SSD In-Storage Computing for Search Engines
IEEE Trans. Computers, 2016.
Morpheus: Creating Application Objects Efficiently for Heterogeneous Computing
43rd International Symposium on Computer Architecture, 2016.
Gullfoss: Accelerating and Simplifying Data Movement among Heterogeneous Computing and Storage Resources
Department of Computer Science and Engineering, University of California, San Diego technical report technical report CS2015-1015, 2015.
From ARIES to MARS:Transaction Support for Next-Generation Solid-State Drives
Proceedings of the 24th International Symposium on Operating Systems Principles (SOSP), 2013.
QuickSAN: A Storage Area Network for Fast, Distributed, Solid State Disks
ISCA '13: Proceeding of the 40th Annual International Symposium on Computer Architecture, 2013.
BankShot: Caching Slow Storage in Fast Non-Volatile Memory
1st Workshop on Interactions of NVM/Flash with Operating Systems and Workloads, 2013.
Moneta: A Storage System for Fast Non-Volatile Memories
Ph.D. thesis, University of California, San Diego, 2013.
From ARIES to MARS: Reengineering Transaction Management for Next-Generation, Solid-State Drives
Department of Computer Science amp; Engineering, University of California, San Diego technical report CS2012-0981, June 2012.
Minerva: Accelerating Data Analysis in Next-Generation SSDs
Proceedings of The 21st IEEE International Symposium on Field-Programmable Custom Computing Machines, 2013.
Providing Safe, User Space Access to Fast, Solid State Disks
Proceeding of the 17th international conference on Architectural support for programming languages and operating systems, 2012.
Onyx: A Prototype Phase-Change Memory Storage Array
Proceedings of the 3rd USENIX conference on Hot topics in storage and file systems, 2011.
Onyx: A Phase-Change Memory Storage Array
Master's thesis, University of California, San Diego, 2011.
Moneta: A High-Performance Storage Array Architecture for Next-Generation, Non-volatile Memories
Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture, 2010.
Latency-Optimized Networks for Clustering FPGAs
Proceedings of the 21st Annual IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM 2013).
Understanding the Impact of Emerging Non-Volatile Memories on High-Performance, IO-Intensive Computing
Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, 2010. (Nominated for Best Technical Student Paper).
Quill: Exploiting Fast Non-Volatile Memory by Transparently Bypassing the File System
Department of Computer Science amp; Engineering, University of California, San Diego technical report CS2013-0991, Jan 2013.
Fast, Flexible Support for Transactions in a Next-Generation, Solid-State, Storage Array
2012 Non-Volatile Memories Workshop, 2012.
Moneta: A High-performance Storage Array Architecture for Next-generation, Non-volatile Memories
2011 Non-Volatile Memories Workshop, 2011.