Abstract
The availability of high-speed solid-state storage has introduced a new tier into the storage hierarchy. Low-latency and high-IOPS solid-state drives (SSDs) cache data in front of high-capacity disks. However, most existing SSDs are designed to be a drop-in disk replacement, and hence are mismatched for use as a cache.
This article describes FlashTier, a system architecture built upon a solid-state cache (SSC), which is a flash device with an interface designed for caching. Management software at the operating system block layer directs caching. The FlashTier design addresses three limitations of using traditional SSDs for caching. First, FlashTier provides a unified logical address space to reduce the cost of cache block management within both the OS and the SSD. Second, FlashTier provides a new SSC block interface to enable a warm cache with consistent data after a crash. Finally, FlashTier leverages cache behavior to silently evict data blocks during garbage collection to improve performance of the SSC.
We first implement an SSC simulator and a cache manager in Linux to perform an in-depth evaluation and analysis of FlashTier's design techniques. Next, we develop a prototype of SSC on the OpenSSD Jasmine hardware platform to investigate the benefits and practicality of FlashTier design. Our prototyping experiences provide insights applicable to managing modern flash hardware, implementing other SSD prototypes and new OS storage stack interface extensions.
Overall, we find that FlashTier improves cache performance by up to 168% over consumer-grade SSDs and up to 52% over high-end SSDs. It also improves flash lifetime for write-intensive workloads by up to 60% compared to SSD caches with a traditional flash interface.
- Gupta Aayush, Kim Youngjae, and Urgaonkar Bhuvan. 2009. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proceedings of ASPLOS. Google Scholar
Digital Library
- Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John Davis, Mark Manasse, and Rina Panigrahy. 2008. Design tradeoffs for SSD performance. In Proceedings of USENIX ATC. Google Scholar
Digital Library
- Ameen Akel, Adrian M. Caulfield, Todor I. Mollov, Rajesh K. Gupta, and Steven Swanson. 2011. Onyx: A protoype phase-change memory storage array. In Proceedings of HotStorage. Google Scholar
Digital Library
- Apple Inc. 2013. Fusion drive. http://www.apple.com/imac/performance/#fusion.Google Scholar
- Tom Archer. 2006. MSDN Blog: Microsoft ReadyBoost. http://blogs.msdn.com/tomarcher/archive/2006/06/02/615199.aspx.Google Scholar
- Mahesh Balakrishnan, Dahlia Malkhi, Ted Wobber, Ming Wu, Vijayan Prabhakaran, Micheal Wei, John D. Davis, Sriram Rao, Tao Zou, and Aviad Zuck. 2013. Tango: Distributed data structures over a shared log. In Proceedings of SOSP. Google Scholar
Digital Library
- Timothy Bisson. 2007. Reducing hybrid disk write latency with flash-backed IO requests. In Proceedings of MASCOTS. Google Scholar
Digital Library
- Simona Boboila and Peter Desnoyers. 2010. Write endurance in flash drives: Measurements and analysis. In Proceedings of FAST. Google Scholar
Digital Library
- Trevor Bunker, Michael Wei, and Steven Swanson. 2012. Ming II: A flexible platform for NAND flash-based research. Technical Report, TR CS2012-0978. University of California, San Diego.Google Scholar
- Steve Byan, James Lentini, Luis Pabon, Christopher Small, and Mark W. Storer. 2011. Mercury: Host-side flash caching for the datacenter. In Proceedings of FAST (Poster).Google Scholar
- Adrian M. Caulfield, Arup De, Joel Coburn, Todor I. Mollov, Rajesh K. Gupta, and Steven Swanson. 2010. Moneta: A high-performance storage array architecture for next-generation, non-volatile memories. In Proceedings of IEEE Micro. Google Scholar
Digital Library
- Feng Chen, Tian Luo, and Xiaodong Zhang. 2011. CAFTL: A Content-Aware Flash Translation Layer enhancing the lifespan of flash memory-based solid state drives. In Proceedings of FAST. Google Scholar
Digital Library
- Computer Systems Laboratory, SKKU. 2012. Embedded systems design class. http://csl.skku.edu/ICE3028S12/Overview.Google Scholar
- Jonathan Corbet. 2008. Barriers and journaling filesystems. http://lwn.net/Articles/283161/.Google Scholar
- John D. Davis and Lintao Zhang. 2009. FRP: A nonvolatile memory research platform targeting NAND flash. In Proceedings of the Workshop on Integrating Solid-State Memory into the Storage Hierarchy, ASPLOS.Google Scholar
- Scott Doyle and Ashok Narayan. 2010. Enterprise solid state drive endurance. In Proceedings of Intel IDF.Google Scholar
- EMC. 2013. Fully Automated Storage Tiering (FAST) Cache. http://www.emc.com/corporate/glossary/fully-automated-storage-tiering-cache.htm.Google Scholar
- Facebook, Inc. 2013. Facebook FlashCache. https://github.com/facebook/flashcache.Google Scholar
- Fusion-io, Inc. 2013a. directCache. http://www.fusionio.com/data-sheets/directcache.Google Scholar
- Fusion-io, Inc. 2013b. ioMemory Application SDK. http://www.fusionio.com/products/iomemorysdk.Google Scholar
- Fusion-io, Inc. 2013c. ioXtreme PCI-e SSD Datasheet. (2013). http://www.fusionio.com/ioxtreme/PDFs/ioXtremeDS_v.9.pdf.Google Scholar
- Google, Inc. 2012. Google sparse hash. http://goog-sparsehash.sourceforge.net.Google Scholar
- Brendan Gregg. 2008. Sun Blog: Solaris L2ARC Cache. http://blogs.oracle.com/brendan/entry/test.Google Scholar
- Jorge Guerra, Himabindu Pucha, Joseph Glider, Wendy Belluomini, and Raju Rangaswami. 2011. Cost effective storage using extent based dynamic tiering. In Proceedings of FAST. Google Scholar
Digital Library
- Haryadi S. Gunawi, Vijayan Prabhakaran, Swetha Krishnan, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2007. Improving file system reliability with I/O shepherding. In Proceedings of SOSP. 293--306. Google Scholar
Digital Library
- Aayush Gupta, Raghav Pisolkar, Bhuvan Urgaonkar, and Anand Sivasubramaniam. 2011. Leveraging value locality in optimizing NAND flash-based SSDs. In Proceedings of FAST. Google Scholar
Digital Library
- Pat Helland, Harald Sammer, Jim Lyon, Richard Carr, and Phil Garrett. 1988. Group commit timers and high-volume transaction systems. Tandem Technical Report 88.1.Google Scholar
- Intel. 1998. Understanding the Flash Translation Layer (FTL) specification. Application Note AP-684.Google Scholar
- Intel Corp. 2011. Intel smart response technology. http://download.intel.com/design/flash/nand/325554.pdf.Google Scholar
- Intel Corp. 2012. Intel 300 series SSD. http://ark.intel.com/products/family/56542/Intel-SSD-300-Family.Google Scholar
- William K. Josephson, Lars A. Bongo, David Flynn, and Kai Li. 2010. DFS: A file system for virtualized flash storage. In Proceedings of FAST. Google Scholar
Digital Library
- T. Kgil and Trevor N. Mudge. 2006. FlashCache: A NAND flash memory file cache for low power web servers. In Proceedings of CASES. Google Scholar
Digital Library
- Youngjae Kim, Brendan Tauras, Aayush Gupta, and Bhuvan Urgaonkar. 2009. FlashSim: A simulator for NAND flash-based solid-state drives. In Proceedings of the International Conference on Advances in System Simulation, 125--131. Google Scholar
Digital Library
- Ricardo Koller, Leonardo Marmol, Raju Rangaswami, Swaminathan Sundararaman, Nisha Talagala, and Ming Zhao. 2013. Write policies for host-side flash caches. In Proceedings of FAST. Google Scholar
Digital Library
- Ricardo Koller and Raju Rangaswami. 2010. I/O Deduplication: Utilizing content similarity to improve I/O performance. In Proceedings of FAST. Google Scholar
Digital Library
- Sungjin Lee, Kermin Fleming, Jihoon Park, Keonsoo Ha, Adrian M. Caulfield, Steven Swanson, Arvind, and Jihong Kim. 2010. BlueSSD: An open platform for cross-layer experiments for NAND flash-based SSDs. In Proceedings of the Workshop on Architectural Research Prototyping.Google Scholar
- Sungjin Lee, Keonsoo Ha, Kangwon Zhang, Jihong Kim, and Junghwan Kim. 2009. FlexFS: A flexible flash file system for MLC NAND flash memory. In Proceedings of Usenix ATC. Google Scholar
Digital Library
- S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park, and H.-J. Song. 2007. A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans. Embed. Comput. Syst. 6, 3. Google Scholar
Digital Library
- Michael Mesnier, Jason B. Akers, Feng Chen, and Tian Luo. 2011. Differentiated Storage Services. In Proceedings of SOSP. Google Scholar
Digital Library
- Dushyanth Narayanan, Austin Donnelly, and Antony Rowstron. 2008. Write off-loading: Practical power management for enterprise storage. In Proceedings of FAST. Google Scholar
Digital Library
- David Nellans, Michael Zappe, Jens Axboe, and David Flynn. 2011. ptrim() + exists(): Exposing new FTL primitives to applications. In Proceedings of NVMW.Google Scholar
- NetApp, Inc. 2013. Flash cache for enterprise. http://www.netapp.com/us/products/storage-systems/flash- cache.Google Scholar
- OCZ. 2012. OCZ synapse cache SSD. http://www.ocztechnology.com/ocz-synapse-cache-sata-iii-2-5-ssd.html.Google Scholar
- OCZ Technologies. 2012. Vertex 3 SSD. http://www.ocztechnology.com/ocz-vertex-3-sata-iii-2-5-ssd.html.Google Scholar
- Yongseok Oh, Jongmoo Choi, Donghee Lee, and Sam H. Noh. 2012. Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems. In Proceedings of FAST. Google Scholar
Digital Library
- OpenSSD Project Participants. 2013. Participating Institutes. http://www.openssd-project.org/wiki/Jasmine_OpenSSD_Platform.Google Scholar
- OpenSSD Project Website. 2013. Indilinx Jasmine platform. http://www.openssd-project.org/wiki/The_OpenSSD_Project.Google Scholar
- Oracle Corp. 2012. Oracle database smart flash cache. http://www.oracle.com/technetwork/articles/systems-hardware-architecture/oracle-db-smart-flash-cache-175588.pdf.Google Scholar
- Xiangyong Ouyang, D. Nellans, R. Wipfel, D. Flynn, and D. K. Panda. 2011. Beyond block I/O: Rethinking traditional storage primitives. In Proceedings of HPCA. 301--311. Google Scholar
Digital Library
- Vijayan Prabhakaran, Lakshmi N. Bairavasundaram, Nitin Agrawal, Haryadi S. Gunawi, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2005. IRON file systems. In Proceedings of SOSP. 206--220. Google Scholar
Digital Library
- Vijayan Prabhakaran, Thomas Rodeheffer, and Lidong Zhou. 2008. Transactional flash. In Proceedings of OSDI. Google Scholar
Digital Library
- David Roberts, Taeho Kgil, and Trevor Mudge. 2009. Integrating NAND flash devices onto servers. Commun. ACM 52, 4, 98--106. Google Scholar
Digital Library
- Mendel Rosenblum and John K. Ousterhout. 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst. 10, 1. Google Scholar
Digital Library
- Ryan Mack. 2012. Building Facebook timeline: Scaling up to hold your life story. https://www.facebook.com/note.php?note_id=10150468255628920.Google Scholar
- Mohit Saxena and Michael M. Swift. 2010. FlashVM: Virtual memory management on flash. In Proceedings of Usenix ATC. Google Scholar
Digital Library
- Mohit Saxena, Michael M. Swift, and Yiying Zhang. 2012. FlashTier: A lightweight, consistent and durable storage cache. In Proceedings of EuroSys. Google Scholar
Digital Library
- Mohit Saxena, Yiying Zhang, Michael M. Swift, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2013. Getting real: Lessons in transitioning research simulations into hardware systems. In Proceedings of FAST. Google Scholar
Digital Library
- STEC, Inc. 2012. EnhanceIO. https://github.com/stec-inc/EnhanceIO.Google Scholar
- VLDB Lab. 2012. SKKU University, Korea. http://ldb.skku.ac.kr.Google Scholar
- Theodore M. Wong and John Wilkes. 2002. My cache or yours? Making storage more exclusive. In Proceedings of Usenix ATC. Google Scholar
Digital Library
- Michael Wu and Willy Zwaenepoel. 1994. eNVy: A non-volatile, main memory storage system. In Proceedings of ASPLOS-VI. Google Scholar
Digital Library
- Gala Yadgar, Michael Factor, and Assaf Schuster. 2007. Karma: Know-it-all replacement for a multilevel cache. In Proceedings of FAST. Google Scholar
Digital Library
- Yiying Zhang, Leo Prasath Arulraj, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. 2012. De-indirection for Flash-based SSDs with nameless writes. In Proceedings of FAST. Google Scholar
Digital Library
- Yiying Zhang, Gokul Soundararajan, Mark W. Storer, Lakshmi N. Bairavasundaram, Sethuraman Subbiah, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2013. Warming up storage-level caches with bonre. In Proceedings of FAST. Google Scholar
Digital Library
Index Terms
Design and Prototype of a Solid-State Cache
Recommendations
FlashTier: a lightweight, consistent and durable storage cache
EuroSys '12: Proceedings of the 7th ACM european conference on Computer SystemsThe availability of high-speed solid-state storage has introduced a new tier into the storage hierarchy. Low-latency and high-IOPS solid-state drives (SSDs) cache data in front of high-capacity disks. However, most existing SSDs are designed to be a ...
Efficient cache design for solid-state drives
CF '10: Proceedings of the 7th ACM international conference on Computing frontiersSolid-State Drives (SSDs) are data storage devices that use solid-state memory to store persistent data. Flash memory is the de facto nonvolatile technology used in most SSDs. It is well known that the writing performance of flash-based SSDs is much ...
Durable write cache in flash memory SSD for relational and NoSQL databases
SIGMOD '14: Proceedings of the 2014 ACM SIGMOD International Conference on Management of DataIn order to meet the stringent requirements of low latency as well as high throughput, web service providers with large data centers have been replacing magnetic disk drives with flash memory solid-state drives (SSDs). They commonly use relational and ...






Comments