As an emerging storage technology, Flash Memory based Solid State Drive (SSD) has
shown a high potential to fundamentally change the existing Hard Disk Drive (HDD) based
storage systems. Unlike conventional magnetic disks, SSD is built on semiconductor chips
and has no mechanical components (e.g. rotating disk platters). This architectural difference
brings many attractive technical features, such as high random data access performance
and low power consumption. Most importantly, these unique features could potentially
address the long-existing technical limitations of conventional magnetic disks. Due to
this reason, SSD has been called a 'pivotal technology' that may completely revolutionize
current computer storage systems.
On the other hand, SSD also poses several critical challenges to application and system
designers. First, due to divergent internal structures, SSD is fundamentally different from
rotating media, although they share the same logical and physical interfaces. To date we
still lack an insightful understanding about the performance characteristics of SSDs, both
the positive and negative sides, and their implications to application and system designers.
In this dissertation, we present a thorough experimental study on the unique features of
SSDs. Second, although SSDs have shown a great performance potential, especially for
handling small and random data accesses, SSDs are much more expensive than conventional
hard disks. Even considering the decreasing price trend, the price gap between SSDs
and HDDs will not disappear in the near future and it significantly prevents the wide adoption
of SSDs in practice, especially in cost-sensitive commercial systems. In this dissertation
we present the design and implementation of a hybrid storage system, called Hystor,
which integrates both SSDs and HDDs to provide a cost-efficient solution for commercial
applications with minimal change to other system components and applications. Third, a
unique merit of SSD is the internal parallelism, which is the key to effectively exploiting
the performance potential of SSDs. Unfortunately, the existing literature mostly focuses
on addressing the technical limitations of SSDs (e.g. random write issues) and rarely discusses
the internal parallelism. In this dissertation, we present our experimental studies
on this unique opportunity provided by SSDs. Our study shows that exploiting internal
parallelism can bring great performance benefits, but we must also pay attention to some
unexpected dynamics. Our case studies in database systems, a typical data-intensive application,
indicate that internal parallelism can significantly improve performance of real-world
applications, and many existing HDD-based application optimizations need to be
revisited.