Âé¶¹Ó°Òô

Skip to main content
SHARE
Publication

Coordinating Garbage Collection for Arrays of Solid-state Drives...

Publication Type
Journal
Journal Name
IEEE transactions on computers. Institute of Electrical and Electronics Engineers
Publication Date
Page Numbers
888 to 901
Volume
63
Issue
4

Although solid-state drives (SSDs) offer significant performance improvements over hard disk drives (HDDs) for a number
of workloads, they can exhibit substantial variance in request latency and throughput as a result of garbage collection (GC). When GC
conflicts with an I/O stream, the stream can make no forward progress until the GC cycle completes. GC cycles are scheduled by logic
Âé¶¹Ó°Òô to the SSD based on several factors such as the pattern, frequency, and volume of write requests. When SSDs are used in
a RAID with currently available technology, the lack of coordination of the SSD-local GC cycles amplifies this performance variance.
We propose a global garbage collection (GGC) mechanism to improve response times and reduce performance variability for a RAID
of SSDs. We include a high-level design of SSD-aware RAID controller and GGC-capable SSD devices and algorithms to coordinate
the GGC cycles. We develop reactive and proactive GC coordination algorithms and evaluate their I/O performance and block erase
counts for various workloads. Our simulations show that GC coordination by a reactive scheme improves average response time and
reduces performance variability for a wide variety of enterprise workloads. For bursty, write-dominated workloads, response time was
improved by 69% and performance variability was reduced by 71%. We show that a proactive GC coordination algorithm can further
improve the I/O response times by up to 9% and the performance variability by up to 15%. We also observe that it could increase the
lifetimes of SSDs with some workloads (e.g. Financial) by reducing the number of block erase counts by up to 79% relative to a reactive
algorithm for write-dominant enterprise workloads.