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 paper describes FlashTier, a system architecture built upon solid-state cache (SSC), 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 cache consistency guarantees allowing the cached data to be used following a crash. Finally, FlashTier leverages cache behavior to silently evict data blocks during garbage collection to improve performance of the SSC.
We have implemented an SSC simulator and a cache manager in Linux. In trace-based experiments, we show that FlashTier reduces address translation space by 60% and silent eviction improves performance by up to 167%. Furthermore, FlashTier can recover from the crash of a 100GB cache in only 2.4 seconds.
- N. Agrawal, V. Prabhakaran, T. Wobber, J. Davis, M. Manasse, and R. Panigrahy. Design tradeoffs for ssd performance. In USENIX, 2008. Google ScholarDigital Library
- N. Agrawal, L. Arulraj, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau. Emulating Goliath storage systems with David. In FAST, 2011. Google ScholarDigital Library
- T. Archer. MSDN Blog: Microsoft ReadyBoost., 2006. http://blogs.msdn.com/tomarcher/archive/2006/06/02/615199.aspx.Google Scholar
- T. Bisson. Reducing hybrid disk write latency with flash-backed io requests. In MASCOTS, 2007. Google ScholarDigital Library
- S. Byan, J. Lentini, L. Pabon, C. Small, and M. W. Storer. Mercury: host-side flash caching for the datacenter. In FAST Poster, 2011.Google Scholar
- F. Chen, T. Luo, and X. Zhang. CAFTL: A content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives. In FAST, 2011. Google ScholarDigital Library
- J. Corbet. Barriers and journaling filesystems, May 2008. http://lwn.net/Articles/283161/.Google Scholar
- S. Doyle and A. Narayan. Enterprise solid state drive endurance. In Intel IDF, 2010.Google Scholar
- EMC. Fully Automated Storage Tiering (FAST) Cache. http://www.emc.com/about/glossary/fast-cache.htm.Google Scholar
- Facebook Inc. Facebook FlashCache. https://github.com/facebook/flashcache.Google Scholar
- FusionIO Inc. ioXtreme PCI-e SSD Datasheet. http://www.fusionio.com/ioxtreme/PDFs/ioXtremeDS_v.9.pdf.Google Scholar
- FusionIO Inc. directCache. http://www.fusionio.com/data-sheets/directcache.Google Scholar
- Google Inc. Google Sparse Hash. http://goog-sparsehash.sourceforge.net.Google Scholar
- B. Gregg. Sun Blog: Solaris L2ARC Cache., July 2008. http://blogs.sun.com/brendan/entry/test.Google Scholar
- J. Guerra, H. Pucha, J. Glider, W. Belluomini, and R. Rangaswami. Cost effective storage using extent based dynamic tiering. In FAST, 2011. Google ScholarDigital Library
- A. Gupta, Y. Kim, and B. Urgaonkar. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings. In ASPLOS, 2009. Google ScholarDigital Library
- P. Helland, H. Sammer, J. Lyon, R. Carr, and P. Garrett. Group commit timers and high-volume transaction systems. In Tandem TR 88.1, 1988.Google Scholar
- }url:intel300ssdIntel Corp. Intel 300 series SSD. http://ark.intel.com/products/family/56542/Intel-SSD-300-Family.Google Scholar
- Intel Corp. Understanding the flash translation layer (ftl) specification, Dec. 1998. Application Note AP-684.Google Scholar
- Intel Corp. Intel Smart Response Technology. http://download.intel.com/design/flash/nand/325554.pdf, 2011.Google Scholar
- W. K. Josephson, L. A. Bongo, D. Flynn, and K. Li. DFS: a file system for virtualized flash storage. In FAST, 2010. Google ScholarDigital Library
- T. Kgil and T. N. Mudge. Flashcache: A nand flash memory file cache for low power web servers. In CASES, 2006. Google ScholarDigital Library
- Y. Kim, B. Tauras, A. Gupta, and B. Urgaonkar. FlashSim: A simulator for nand flash-based solid-state drives. Advances in System Simulation, International Conference on, 0: 125--131, 2009. Google ScholarDigital Library
- R. Koller and R. Rangaswami. I/O deduplication: Utilizing content similarity to improve I/O performance. In FAST, 2010. Google ScholarDigital Library
- S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park, and H.-J. Song. A log buffer-based flash translation layer using fully-associative sector translation. ACM Trans. Embed. Comput. Syst, 6 (3), July 2007. Google ScholarDigital Library
- M. Mesnier, J. B. Akers, F. Chen, and T. Luo. Differentiated storage services. In SOSP, 2011. Google ScholarDigital Library
- D. Narayanan, A. Donnelly, and A. Rowstron. Write Off-loading: Practical power management for enterprise storage. In FAST, 2008. Google ScholarDigital Library
- D. Nellans, M. Zappe, J. Axboe, and D. Flynn. ptrim() + exists(): Exposing new FTL primitives to applications. In NVMW, 2011.Google Scholar
- NetApp Inc. Flash Cache for Enterprise. http://www.netapp.com/us/products/storage-systems/flash-cache.Google Scholar
- OCZ Technologies. Synapse Cache SSD. http://www.ocztechnology.com/ocz-synapse-cache-sata-iii-2-5-ssd.html.Google Scholar
- OCZ Technologies. Vertex 3 SSD. http://www.ocztechnology.com/ocz-vertex-3-sata-iii-2-5-ssd.html.Google Scholar
- Oracle Corp. Oracle Database Smart Flash Cache. http://www.oracle.com/technetwork/articles/systems-hardware-architecture/oracle-db-smart-flash-cache-175588.pdf.Google Scholar
- X. Ouyang, D. Nellans, R. Wipfel, D. Flynn, and D.K.Panda. Beyond block i/o: Rethinking traditional storage primitives. In HPCA, pages 301--311, feb. 2011. Google ScholarDigital Library
- V. Prabhakaran, T. Rodeheffer, and L. Zhou. Transactional flash. In OSDI, 2008. Google ScholarDigital Library
- D. Roberts, T. Kgil, and T. Mudge. Integrating NAND flash devices onto servers. CACM, 52 (4): 98--106, Apr. 2009. Google ScholarDigital Library
- Ryan Mack. Building Facebook Timeline: Scaling up to hold your life story. http://www.facebook.com/note.php?note_id=10150468255628920.Google Scholar
- M. Saxena and M. M. Swift. FlashVM: Virtual Memory Management on Flash. In Usenix ATC, 2010. Google ScholarDigital Library
- T. M. Wong and J. Wilkes. My cache or yours? Making storage more exclusive. In Usenix ATC, 2002. Google ScholarDigital Library
- M. Wu and W. Zwaenepoel. eNVy: A non-volatile, main memory storage system. In ASPLOS-VI, 1994. Google ScholarDigital Library
- G. Yadgar, M. Factor, and A. Schuster. Karma: Know-it-all replacement for a multilevel cache. In FAST, 2007. Google ScholarDigital Library
- Y. Zhang, L. P. Arulraj, A. Arpaci-Dusseau, and R. Arpaci-Dusseau. De-indirection for flash-based ssds with nameless writes. In FAST, 2012. Google ScholarDigital Library
Index Terms
- FlashTier: a lightweight, consistent and durable storage cache
Recommendations
Design and Prototype of a Solid-State Cache
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 ...
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 ...
Durable data storage in distributed non persistent caching environment
Compute '13: Proceedings of the 6th ACM India Computing ConventionTo achieve scalability is one of the major issues in dynamic web applications. One of the ways is to use proper caching mechanism. Memcached is a high performance <key, value> distributed cache. High frequently used data and costly data (cost is with ...
Comments