The goal of the Flashlight project at MSR Silicon Valley is to explore existing and new flash architectures and to build tools to aid in that endeavor.
We have so far concentrated in three areas:
SSD Performance: We extend the popular trace-driven disk simulator DiskSim from CMU by introducing SSD (solid state disk) simulation module. We then exercise our simulator under various real workload traces. This simulation allows us to explore how about how real I/O systems (for example those that support transaction processing systems) will perform when using SSDs rather than disks. We explore the performance of several potential organizations of flash chips and to test the efficacy of various cleaning and wear-leveling algorithms under real workloads. Our initial focus is on server-side workloads.
A download of our simulator is available here. You can also browse a slide deck (.pptx) recently presented at WinHEC in Los Angeles and Taipei and a set of posters from MSR TechFest in 2008.
Flash Research Platform: We are building a flexible platform for solid state storage research by integrating FPGAs, DRAM, and Flash devices. The design leverages reconfigurable hardware to provide maximum flexibility for innovative architectural and algorithmic design of the next generation storage systems.
TxFlash: Traditional storage devices export block-based APIs. Supporting atomic multiple-page writes is desirable, but often comes with non-negligible performance penalties. We observe that such penalties might be significantly reduced for flash memory used in SSDs due to its specific properties such as non-overwrite page writes and fast random reads. In TxFlash, we develop a set of protocols for SSDs to support multiple-page writes with ACID properties, explore their performance characteristics, and assess the implications of such an API on higher-level applications such as file systems.
- Asim Kadav, Mahesh Balakrishnan, Vijayan Prabhakaran, and Dahlia Malkhi, Differential RAID: Rethinking RAID for SSD Reliability, in HotStorage 2009: 1st Workshop on Hot Topics in Storage and File Systems, Association for Computing Machinery, Inc., October 2009
- Abhishek Rajimwale, Vijayan Prabhakaran, and John D. Davis, Block Management in Solid-State Devices, in Proceedings of the USENIX Annual Technical Conference (USENIX'09), USENIX, June 2009
- John D. Davis and Lintao Zhang, FRP: a Nonvolatile Memory Research Platform Targeting NAND Flash, in The First Workshop on Integrating Solid-state Memory into the Storage Hierarchy, Held in Conjunction with ASPLOS 2009, Association for Computing Machinery, Inc., March 2009
- Vijayan Prabhakaran, Thomas L. Rodeheffer, and Lidong Zhou, Transactional Flash, in Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’08), USENIX, December 2008
- Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy, Design Tradeoffs for SSD Performance, in Proceedings of the 2008 USENIX Technical Conference (USENIX'08), USENIX, June 2008
- Andrew Birrell, Michael Isard, Chuck Thacker, and Ted Wobber, A Design for High-Performance Flash Disks, in Operating Systems Review, vol. 41, no. 2, pp. 88-93, Association for Computing Machinery, Inc., April 2007



