Preemptible I/O scheduling of garbage collection for solid state drives

Junghee Lee, Youngjae Kim, Galen M. Shipman, Sarp Oral, Jongman Kim

Research output: Contribution to journalArticle

24 Citations (Scopus)

Abstract

Unlike hard disks, flash devices use out-of-place updates operations and 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 an I/O performance that is highly dependent on workload characteristics. In this paper, we examine the GC process and propose a semipreemptible GC (PGC) 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 semi-PGC scheme with realistic workloads demonstrates 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-PGC 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 PGC (F-PGC). Our experiments with an F-PGC enabled flash device show that request response time can be improved by up to 14.57% compared to semi-PGC.

Original languageEnglish
Article number6416101
Pages (from-to)247-260
Number of pages14
JournalIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Volume32
Issue number2
DOIs
Publication statusPublished - 2013 Feb 4
Externally publishedYes

Fingerprint

Hard disk storage
Scheduling
Bandwidth
Degradation
Processing
Experiments

Keywords

  • Flash memory
  • garbage collection (GC)
  • I/O scheduling
  • preemptive I/O
  • solid-state drives (SSDs)
  • storage systems

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design
  • Electrical and Electronic Engineering

Cite this

Preemptible I/O scheduling of garbage collection for solid state drives. / Lee, Junghee; Kim, Youngjae; Shipman, Galen M.; Oral, Sarp; Kim, Jongman.

In: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 32, No. 2, 6416101, 04.02.2013, p. 247-260.

Research output: Contribution to journalArticle

Lee, Junghee ; Kim, Youngjae ; Shipman, Galen M. ; Oral, Sarp ; Kim, Jongman. / Preemptible I/O scheduling of garbage collection for solid state drives. In: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2013 ; Vol. 32, No. 2. pp. 247-260.
@article{46738da3fc2f4ab2ada724d492467f24,
title = "Preemptible I/O scheduling of garbage collection for solid state drives",
abstract = "Unlike hard disks, flash devices use out-of-place updates operations and 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 an I/O performance that is highly dependent on workload characteristics. In this paper, we examine the GC process and propose a semipreemptible GC (PGC) 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 semi-PGC scheme with realistic workloads demonstrates 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-PGC 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 PGC (F-PGC). Our experiments with an F-PGC enabled flash device show that request response time can be improved by up to 14.57{\%} compared to semi-PGC.",
keywords = "Flash memory, garbage collection (GC), I/O scheduling, preemptive I/O, solid-state drives (SSDs), storage systems",
author = "Junghee Lee and Youngjae Kim and Shipman, {Galen M.} and Sarp Oral and Jongman Kim",
year = "2013",
month = "2",
day = "4",
doi = "10.1109/TCAD.2012.2227479",
language = "English",
volume = "32",
pages = "247--260",
journal = "IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems",
issn = "0278-0070",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "2",

}

TY - JOUR

T1 - Preemptible I/O scheduling of garbage collection for solid state drives

AU - Lee, Junghee

AU - Kim, Youngjae

AU - Shipman, Galen M.

AU - Oral, Sarp

AU - Kim, Jongman

PY - 2013/2/4

Y1 - 2013/2/4

N2 - Unlike hard disks, flash devices use out-of-place updates operations and 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 an I/O performance that is highly dependent on workload characteristics. In this paper, we examine the GC process and propose a semipreemptible GC (PGC) 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 semi-PGC scheme with realistic workloads demonstrates 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-PGC 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 PGC (F-PGC). Our experiments with an F-PGC enabled flash device show that request response time can be improved by up to 14.57% compared to semi-PGC.

AB - Unlike hard disks, flash devices use out-of-place updates operations and 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 an I/O performance that is highly dependent on workload characteristics. In this paper, we examine the GC process and propose a semipreemptible GC (PGC) 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 semi-PGC scheme with realistic workloads demonstrates 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-PGC 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 PGC (F-PGC). Our experiments with an F-PGC enabled flash device show that request response time can be improved by up to 14.57% compared to semi-PGC.

KW - Flash memory

KW - garbage collection (GC)

KW - I/O scheduling

KW - preemptive I/O

KW - solid-state drives (SSDs)

KW - storage systems

UR - http://www.scopus.com/inward/record.url?scp=84873851053&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84873851053&partnerID=8YFLogxK

U2 - 10.1109/TCAD.2012.2227479

DO - 10.1109/TCAD.2012.2227479

M3 - Article

VL - 32

SP - 247

EP - 260

JO - IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems

JF - IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems

SN - 0278-0070

IS - 2

M1 - 6416101

ER -