Skip to main content
SHARE
Publication

Preemptible I/O Scheduling of Garbage Collection for Solid State Drives...

by Junghee Lee, Youngjae Kim, Galen M Shipman, Hakki S Oral, Jongman Kim
Publication Type
Journal
Journal Name
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Publication Date
Page Numbers
247 to 260
Volume
32
Issue
2

Abstract—Unlike hard disks, flash devices use out-of-update
operations and they require a garbage collection (GC) process
to reclaim invalid pages to create free blocks. This GC process
is a major cause of performance degradation when running
concurrently with other I/O operations as internal bandwidth
is consumed to reclaim these invalid pages. The invocation of the
GC process is generally governed by a low watermark on free
blocks and other internal device metrics that different workloads
meet at different intervals. This results in I/O performance that
is highly dependent on workload characteristics. In this paper,
we examine the GC process and propose a semi-preemptible
GC scheme that allows GC processing to be preempted while
pending I/O requests in the queue are serviced. Moreover,
we further enhance flash performance by pipelining internal
GC operations and merge them with pending I/O requests
whenever possible. Our experimental evaluation of this semipreemptible
GC scheme with realistic workloads demonstrate
both improved performance and reduced performance variability.
Write-dominant workloads show up to a 66.56% improvement
in average response time with a 83.30% reduced variance in
response time compared to the non-preemptible GC scheme. In
addition, we explore opportunities of a new NAND flash device
that supports suspend/resume commands for read, write and
erase operations for fully preemptible GC. Our experiments with
a fully preemptible GC enabled flash device show that request
response time can be improved by up to 14.57% compared to
semi-preemptible GC.