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.
Getting Real: Lessons in Transitioning Research Simulations into Hardware Systems
Mohit Saxena, Yiying Zhang, Michael Swift, Andrea Arpaci-Dusseau and Remzi Arpaci-Dusseau
To appear in Proceedings of 11th Usenix Conference on File and Storage Technologies, FAST
San Jose, February 2013.
FlashTier: A Lightweight, Consistent and Durable Storage Cache
Mohit Saxena, Tutorial, Flash Memory Summit 2012, FMS