Skip to search boxSkip to navigationSkip to main content

The Necessary Death of the Block Device Interface

  • Matias Bjørling
    ,
  • Philippe Bonnet
    ,
  • Luc Bouganim
    ,
  • Niv Dayan
Research Output:
Book / Anthology / Report
Report

Open access

Publication Information

Output type

Research Output:
Book / Anthology / Report
Report

Original language

English

Publication milestones

  • Published - 2012

Publication status

Published - 2012

Place of publication

Copenhagen

Edition

TR-2012-159

Publisher

IT-Universitetet i København, Denmark

Book series

  • Book series name: IT University Technical Report Series
    Series number: TR-2012-159
    ISSN: 1600-6100

ISBN (Electronic)

978-87-7949-264-6

Abstract

Solid State Drives (SSDs) are replacing magnetic disks as secondary storage for database management as they offer orders of magnitude improvement in terms of bandwidth and latency. In terms of system design, the advent of SSDs raises considerable challenges. First, the storage chips, which are the basic component of a SSD, have widely different characteristics -- e.g., copy-on-write, erase-before-write and page-addressability for flash chips vs. in-place update and byte-addressability for PCM chips. Second, SSDs are no longer a bottleneck in terms of IO latency forcing streamlined execution throughout the I/O stack to minimize CPU overhead. Finally, SSDs provide a high degree of parallelism that must be leveraged to reach nominal bandwidth. This evolution puts database system researchers at a crossroad. The first option is to hang on to the current architecture where secondary storage is encapsulated behind a block device interface. This is the mainstream option both in industry and academia. This leaves the storage and OS communities with the responsibility to deal with the complexity introduced by SSDs in the hope that they will provide us with a robust, yet simple, performance model. In this paper, we show that this option amounts to building on quicksand. We illustrate our point by debunking some popular myths about flash devices and pointing out mistakes in the papers we have published throughout the years. The second option is to abandon the simple abstraction of the block device interface and reconsider how database storage manager, operating system drivers and SSD controllers interact. We give our vision of how modern database systems should interact with secondary storage. This approach requires a deep re-design of the database system architecture, which is the only viable option for database system researchers to avoid becoming irrelevant.

Access to documents

Submitted manuscript, 278.42 KB