Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

A Semi-Preemptive Garbage Collector for Solid State Drives

Conference ·
OSTI ID:1017323

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.

Research Organization:
Oak Ridge National Laboratory (ORNL); Center for Computational Sciences
Sponsoring Organization:
SC USDOE - Office of Science (SC)
DOE Contract Number:
AC05-00OR22725
OSTI ID:
1017323
Country of Publication:
United States
Language:
English

Similar Records

Preemptible I/O Scheduling of Garbage Collection for Solid State Drives
Journal Article · Sat Dec 31 23:00:00 EST 2011 · IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems · OSTI ID:1061554

Preemptible I/O Scheduling of Garbage Collection for Solid State Drives
Journal Article · Wed Feb 20 23:00:00 EST 2013 · IEEE Transations on Computer-Aided Design of Integrated Circuits and Systems · OSTI ID:1565074

Coordinating Garbage Collection for Arrays of Solid-state Drives
Journal Article · Tue Dec 31 23:00:00 EST 2013 · IEEE transactions on computers. Institute of Electrical and Electronics Engineers · OSTI ID:1128956