"Hystor: making the best usage of Solid State Drives in high performance 
storage systems",  

Feng Chen, David Koufaty, and Xiaodong Zhang 

Proceedings of 25th ACM International Conference on Supercomputing 
(ICS 2011), Tucson, Arizona, May 31 - June 4, 2011.  


With the fast technical improvement, flash memory based Solid
State Drives (SSDs) are becoming an important part of the computer
storage hierarchy to significantly improve performance and
energy efficiency. However, due to its relatively high price and low
capacity, a major system research issue to address is on how to
make SSDs play their most effective roles in a high-performance
storage system in cost- and performance-effective ways.
In this paper, we will answer several related questions with insights
based on the design and implementation of a high performance
hybrid storage system, called Hystor. We make the best
use of SSDs in storage systems by achieving a set of optimization
objectives from both system deployment and algorithm design perspectives.
Hystor manages both SSDs and hard disk drives (HDDs)
as one single block device with minimal changes to existing OS
kernels. By monitoring I/O access patterns at runtime, Hystor can
effectively identify blocks that (1) can result in long latencies or
(2) are semantically critical (e.g. file system metadata), and stores
them in SSDs for future accesses to achieve a significant performance
improvement. In order to further leverage the exceptionally
high performance of writes in the state-of-the-art SSDs, Hystor
also serves as a write-back buffer to speed up write requests. Our
measurements on Hystor implemented in the Linux kernel
show that it can take advantage of the performance merits of SSDs
with only a few lines of changes to the stock Linux kernel. Our system
study shows that in a highly effective hybrid storage system,
SSDs should play a major role as an independent storage where
the best suitable data are adaptively and timely migrated in and retained,
and it can also be effective to serve as a write-back buffer.