Prism-SSD: A Flexible Storage Interface for SSDs

Zhaoyan Shen, Feng Chen, Gala Yadgar, Zhiping Jia, Zili Shao

Research output: Contribution to journalArticlepeer-review

Abstract

The rapid adoption of solid-state drives (SSDs) as a major storage component has been made possible, thanks to their ability to export a standard block I/O interface to the file system and application developers. Meanwhile, this high-level abstraction has been shown to limit the utilization of the devices and the performance of applications running on top of them. Indeed, many optimizations of performance-critical applications bypass the standard block interface and rely on low-level control over SSD internal processes. However, the need to directly manage the physical device significantly increases development complexity and cost, and reduces its portability. Thus, application developers must choose between two extreme options, either easy development or optimal performance, without a real possibility to balance between these two objectives. To bridge this gap, we propose a flexible storage interface that exports the SSD hardware in three levels of abstraction: 1) as a raw flash media with its low-level details; 2) as a group of functions to manage flash capacity; or 3) as a configurable block device. This multilevel abstraction allows developers to choose the degree in which they desire to control the flash hardware in a manner that best suits the applications' semantics and performance objectives. We demonstrate the usability of this new model with Prism-SSD - a prototype of this interface as a user-level library on the Open-Channel SSD platform. We use each of the interface's three abstraction levels to modify the I/O module of three representative applications: 1) a key-value cache system; 2) a user-level file system; and 3) a graph processing engine. Prism-SSD improves application performance by 5%-27%, at varying development costs, between 200 and 3500 lines of code.

Original languageEnglish
Pages (from-to)882-896
Number of pages15
JournalIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Volume41
Issue number4
DOIs
StatePublished - 1 Jan 2021

Keywords

  • Flash memories
  • Flexible Storage Interface
  • Hardware
  • Libraries
  • Memory management
  • Open-Channel SSD
  • Performance evaluation
  • Prototypes
  • Standards
  • User-level Library.

All Science Journal Classification (ASJC) codes

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

Fingerprint

Dive into the research topics of 'Prism-SSD: A Flexible Storage Interface for SSDs'. Together they form a unique fingerprint.

Cite this