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
internal 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.