Skip to main content
SHARE
Publication

A Semi-Preemptive Garbage Collector for Solid State Drives...

Publication Type
Conference Paper
Publication Date
Conference Name
IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)
Conference Location
Austin, Texas, United States of America
Conference Sponsor
IEEE Computer Society
Conference Date
-

NAND flash memory is a preferred storage media
for various platforms ranging from embedded systems to
enterprise-scale systems. Flash devices do not have any mechanical
moving parts and provide low-latency access. They
also require less power compared to rotating media. 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-preemptive
GC scheme that can preempt on-going GC processing and
service pending I/O requests in the queue. 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 semi-preemptive GC sheme
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-preemptive GC scheme.