
CLC number: TP333.5
On-line Access: 2024-08-27
Received: 2023-10-17
Revision Accepted: 2024-05-08
Crosschecked: 2023-02-06
Cited: 0
Clicked: 4133
Citations: Bibtex RefMan EndNote GB/T7714
Jin XUE, Renhai CHEN, Tianyu WANG, Zili SHAO. SoftSSD: enabling rapid flash firmware prototyping for solid-state drives @article{title="SoftSSD: enabling rapid flash firmware prototyping for solid-state drives %0 Journal Article TY - JOUR
基于SoftSSD的快速固态硬盘固件原型开发1香港中文大学计算机科学与工程学院,中国香港特别行政区,999077 2天津大学智能与计算学部,中国天津市,300354 摘要:近年来,固态硬盘已被广泛用于新兴的数据处理系统中。从本质上讲,固态硬盘是一个复杂的嵌入式系统,涉及硬件和软件设计。对于软件设计来说,固件模块如闪存转换层协调了内部操作和闪存管理,并对固态硬盘的整体输入/输出性能至关重要。尽管市场上新的固态硬盘功能发展迅速,但由于缺乏真实和可扩展的固态硬盘开发平台,闪存固件的研究大多是基于模拟方法实现。本文提出SoftSSD,一个面向软件的用于快速闪存固件原型开发的固态硬盘开发平台。SoftSSD的核心是一个具有事件驱动编程模型的新型框架。通过该编程模型,新的闪存转换算法可以被直接集成到全功能的闪存固件中。由此产生的闪存固件可以部署到一个通过外设组件互连总线连接到主机系统的硬件开发板上并对其进行评估。不同于现有的面向硬件的开发平台,SoftSSD通过软件方式实现了大部分的固态硬盘功能组件。因此,曾经被限制在硬件中的数据流和内部状态现在可以用软件调试器来检查以提供更好的可观察性和可扩展性,这对闪存固件的快速原型设计和研究至关重要。我们描述了SoftSSD的编程模型和硬件设计,在原型开发板上进行了实际应用工作负载的实验,以展示SoftSSD的性能和实用性,并发布了SoftSSD的开源代码供公众使用。 关键词组: Darkslateblue:Affiliate; Royal Blue:Author; Turquoise:Article
Reference[1]Belson B, Holdsworth J, Xiang W, et al., 2019. A survey of asynchronous programming using coroutines in the Internet of Things and embedded systems. ACM Trans Embed Comput Syst, 18(3):21. ![]() [2]Bjørling M, González J, Bonnet P, 2017. LightNVM: the Linux open-channel SSD subsystem. Proc 15th USENIX Conf on File and Storage Technologies, p.359-373. ![]() [3]Boukhobza J, Rubini S, Chen RH, et al., 2017. Emerging NVM: a survey on architectural integration and research challenges. ACM Trans Des Autom Electron Syst, 23(2):14. ![]() [4]Conway ME, 1963. Design of a separable transition-diagram compiler. Commun ACM, 6(7):396-408. ![]() [5]Gao CM, Shi L, Zhao MY, et al., 2014. Exploiting parallelism in I/O scheduling for access conflict minimization in flash-based solid state drives. Proc 30th Symp on Mass Storage Systems and Technologies, p.1-11. ![]() [6]Gupta A, Kim Y, Urgaonkar B, 2009. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings. ACM SIGARCH Comput Archit News, 37(1):229-240. ![]() [7]He J, Kannan S, Arpaci-Dusseau AC, et al., 2017. The unwritten contract of solid state drives. Proc 12th European Conf on Computer Systems, p.127-144. ![]() [8]Ho KC, Fang PC, Li HP, et al., 2013. A 45 nm 6b/cell charge-trapping flash memory using LDPC-based ECC and drift-immune soft-sensing engine. IEEE Int Solid-State Circuits Conf, p.222-223. ![]() [9]Hu Y, Jiang H, Feng D, et al., 2011. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. Proc Int Conf on Supercomputing, p.96-107. ![]() [10]Jung M, Choi W, Gao SW, et al., 2016. NANDFlashSim: high-fidelity, microarchitecture-aware NAND flash memory simulation. ACM Trans Storage, 12(2):6. ![]() [11]Jung M, Zhang J, Abulila A, et al., 2018. SimpleSSD: modeling solid state drives for holistic system simulation. IEEE Comput Archit Lett, 17(1):37-41. ![]() [12]Kim Y, Tauras B, Gupta A, et al., 2009. FlashSim: a simulator for NAND flash-based solid-state drives. Proc 1st Int Conf on Advances in System Simulation, p.125-131. ![]() [13]Kwak J, Lee S, Park K, et al., 2020. Cosmos+ OpenSSD: rapid prototype for flash storage systems. ACM Trans Storage, 16(3):15. ![]() [14]Lee G, Shin S, Song W, et al., 2019. Asynchronous I/O stack: a low-latency kernel I/O stack for ultra-low latency SSDs. USENIX Annual Technical Conf, p.603-616. ![]() [15]Li HC, Hao MZ, Tong MH, et al., 2018. The case of FEMU: cheap, accurate, scalable and extensible flash emulator. Proc 16th USENIX Conf on File and Storage Technologies, p.83-90. ![]() [16]Li S, Zhang T, 2010. Improving multi-level NAND flash memory storage reliability using concatenated BCH-TCM coding. IEEE Trans Very Large Scale Integr (VLSI) Syst, 18(10):1412-1420. ![]() [17]Lu LY, Pillai TS, Arpaci-Dusseau AC, et al., 2016. WiscKey: separating keys from values in SSD-conscious storage. Proc 14th USENIX Conf on File and Storage Technologies, p.133-148. ![]() [18]Lu YY, Shu JW, Zheng WM, 2013. Extending the lifetime of flash-based storage through reducing write amplification from file systems. Proc 11th USENIX Conf on File and Storage Technologies, p.257-270. ![]() [19]Ma CL, Wang Y, Shen ZY, et al., 2020. MNFTL: an efficient flash translation layer for MLC NAND flash memory. ACM Trans Des Autom Electron Syst, 25(6):50. ![]() [20]Moura ALD, Ierusalimschy R, 2009. Revisiting coroutines. ACM Trans Program Lang Syst, 31(2):6. ![]() [21]Shi L, Di YJ, Zhao MY, et al., 2016. Exploiting process variation for write performance improvement on NAND flash memory storage systems. IEEE Trans Very Large Scale Integr (VLSI) Syst, 24(1):334-337. ![]() [22]Tavakkol A, Gómez-Luna J, Sadrosadati M, et al., 2018. MQSim: a framework for enabling realistic studies of modern multi-queue SSD devices. Proc 16th USENIX Conf on File and Storage Technologies, p.49-66. ![]() [23]Wang S, Wu F, Lu Z, et al., 2017. Lifetime adaptive ECC in NAND flash page management. Design, Automation & Test in Europe Conf & Exhibition, p.1253-1256. ![]() [24]Xue J, Chen R, Shao Z, 2022. SoftSSD: software-defined SSD development platform for rapid flash firmware prototyping. IEEE 40th Int Conf on Computer Design, p.602-609. ![]() [25]Yang MC, Chang YM, Tsao CW, et al., 2014. Garbage collection and wear leveling for flash memory: past and future. Int Conf on Smart Computing, p.66-73. ![]() [26]Yoo J, Won Y, Hwang J, et al., 2013. VSSIM: virtual machine based SSD simulator. Proc IEEE 29th Symp on Mass Storage Systems and Technologies, p.1-14. ![]() [27]Zhang J, Kwon M, Swift M, et al., 2020. Scalable parallel flash firmware for many-core architectures. Proc 18th USENIX Conf on File and Storage Technologies, p.121-136. ![]() Journal of Zhejiang University-SCIENCE, 38 Zheda Road, Hangzhou
310027, China
Tel: +86-571-87952783; E-mail: cjzhang@zju.edu.cn Copyright © 2000 - 2025 Journal of Zhejiang University-SCIENCE | ||||||||||||||


ORCID:
Open peer comments: Debate/Discuss/Question/Opinion
<1>