Skip to search boxSkip to navigationSkip to main content

Modelling and Managing SSD Write-amplification

  • Niv Dayan
    ,
  • Luc Bouganim
    ,
  • Philippe Bonnet
Research Output:
Journal Article or Conference Article in Journal
Journal article

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Journal article

Original language

English

Journal (Volume, Issue Number)

CoRR (Volume abs/1504.00229)

Publication milestones

  • Published - 2015

Publication status

Published - 2015

ISSN

0000-0000

Abstract

How stable is the performance of your flash-based Solid State Drives (SSDs)? This question is central for database designers and administrators, cloud service providers, and SSD constructors. The answer depends on write-amplification, i.e., garbage collection overhead. More specifically, the answer depends on how write-amplification evolves in time.
How then can one model and manage write-amplification, especially when application workloads change? This is the focus of this paper. Managing write-amplification boils down to managing the surplus physical space, called over-provisioned space. Modern SSDs essentially separate the physical space into several partitions, based on the update frequency of the pages they contain, and divide the over-provisioned space among the groups so as to minimize write-amplification. We introduce Wolf, a block manager that allocates over-provisioned space to SSD partitions using a near-optimal closed-form expression, based on the sizes and update frequencies of groups of pages. Our evaluation shows that Wolf is robust to workloads change, with an improvement factor of 2 with respect to the state-of-the-art. We also show that Wolf performs comparably and even slightly better than the state of the art with stable workloads (over 20% improvement with a TPC-C workload).