Publishing Service

Polishing & Checking

Frontiers of Information Technology & Electronic Engineering

ISSN 2095-9184 (print), ISSN 2095-9230 (online)

SoftSSD: enabling rapid flash firmware prototyping for solid-state drives&

Abstract: Recently, solid-state drives (SSDs) have been used in a wide range of emerging data processing systems. Essentially, an SSD is a complex embedded system that involves both hardware and software design. For the latter, firmware modules such as the flash translation layer (FTL) orchestrate internal operations and flash management, and are crucial to the overall input/output performance of an SSD. Despite the rapid development of new SSD features in the market, the research of flash firmware has been mostly based on simulations due to the lack of a realistic and extensible SSD development platform. In this paper, we propose SoftSSD, a software-oriented SSD development platform for rapid flash firmware prototyping. The core of SoftSSD is a novel framework with an event-driven programming model. With the programming model, new FTL algorithms can be implemented and integrated into a full-featured flash firmware in a straightforward way. The resulting flash firmware can be deployed and evaluated on a hardware development board, which can be connected to a host system via peripheral component interconnect express and serve as a normal non-volatile memory express SSD. Different from existing hardware-oriented development platforms, SoftSSD implements the majority of SSD components (e.g., host interface controller) in software, so that data flows and internal states that were once confined in the hardware can now be examined with a software debugger, providing the observability and extensibility that are critical to the rapid prototyping and research of flash firmware. We describe the programming model and hardware design of SoftSSD. We also perform experiments with real application workloads on a prototype board to demonstrate the performance and usefulness of SoftSSD, and release the open-source code of SoftSSD for public access.

Key words: Solid-state drives; Storage system; Software hardware co-design

Chinese Summary  <9> 基于SoftSSD的快速固态硬盘固件原型开发

薛进1,陈仁海2,王天雨1,邵子立1
1香港中文大学计算机科学与工程学院,中国香港特别行政区,999077
2天津大学智能与计算学部,中国天津市,300354
摘要:近年来,固态硬盘已被广泛用于新兴的数据处理系统中。从本质上讲,固态硬盘是一个复杂的嵌入式系统,涉及硬件和软件设计。对于软件设计来说,固件模块如闪存转换层协调了内部操作和闪存管理,并对固态硬盘的整体输入/输出性能至关重要。尽管市场上新的固态硬盘功能发展迅速,但由于缺乏真实和可扩展的固态硬盘开发平台,闪存固件的研究大多是基于模拟方法实现。本文提出SoftSSD,一个面向软件的用于快速闪存固件原型开发的固态硬盘开发平台。SoftSSD的核心是一个具有事件驱动编程模型的新型框架。通过该编程模型,新的闪存转换算法可以被直接集成到全功能的闪存固件中。由此产生的闪存固件可以部署到一个通过外设组件互连总线连接到主机系统的硬件开发板上并对其进行评估。不同于现有的面向硬件的开发平台,SoftSSD通过软件方式实现了大部分的固态硬盘功能组件。因此,曾经被限制在硬件中的数据流和内部状态现在可以用软件调试器来检查以提供更好的可观察性和可扩展性,这对闪存固件的快速原型设计和研究至关重要。我们描述了SoftSSD的编程模型和硬件设计,在原型开发板上进行了实际应用工作负载的实验,以展示SoftSSD的性能和实用性,并发布了SoftSSD的开源代码供公众使用。

关键词组:固态硬盘;存储系统;软硬件协同设计


Share this article to: More

Go to Contents

References:

<Show All>

Open peer comments: Debate/Discuss/Question/Opinion

<1>

Please provide your name, email address and a comment





DOI:

10.1631/FITEE.2200456

CLC number:

TP333.5

Download Full Text:

Click Here

Downloaded:

3254

Download summary:

<Click Here> 

Downloaded:

255

Clicked:

1202

Cited:

0

On-line Access:

2023-05-31

Received:

2022-10-13

Revision Accepted:

2023-05-31

Crosschecked:

2023-02-06

Journal of Zhejiang University-SCIENCE, 38 Zheda Road, Hangzhou 310027, China
Tel: +86-571-87952276; Fax: +86-571-87952331; E-mail: jzus@zju.edu.cn
Copyright © 2000~ Journal of Zhejiang University-SCIENCE