FOLLOWUS
1.Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China
2.Xi'an Satellite Control Center, Xi'an 710043, China
3.Beijing National Research Center for Information Science and Technology, Tsinghua University, Beijing 100084, China
‡ Corresponding author
Published:0 May 2023,
Received:25 July 2022,
Accepted:2022-11-16
Scan QR Code
JUNCHAO CHEN, GUANGYAN ZHANG, JUNYU WEI. A survey on design and application of open-channel solid-state drives. [J]. Frontiers of information technology & electronic engineering, 2023, 24(5): 637-658.
JUNCHAO CHEN, GUANGYAN ZHANG, JUNYU WEI. A survey on design and application of open-channel solid-state drives. [J]. Frontiers of information technology & electronic engineering, 2023, 24(5): 637-658. DOI: 10.1631/FITEE.2200317.
与传统的固态硬盘(SSDs)相比,开放通道固态硬盘(OCSSDs)向外暴露了它们的内部物理布局,并提供了一个基于主机端的闪存转换层(FTL),使得它允许主机端软件根据具体场景和需求控制其内部操作,如垃圾回收(GC)和输入/输出(I/O)调度等。本文对近年来基于OCSSDs的研究工作进行了全面的调研,总结了它们如何利用OCSSDs的特性来实现高吞吐量、低访问延迟、长寿命、强性能隔离和高资源利用率等目标,并从接口定制、FTL协同设计、内部并行性挖掘、I/O调度和GC处理等五个方面对这些工作进行了深入的研究分析。我们讨论了目前研究工作的优势和不足,并发现几乎所有的这些研究方法都面临着性能有效性和管理复杂性之间的困境。本文旨在通过开展综述调研能为希望进入这一领域的研究人员提供关于OCSSDs的基础知识,并进一步激发他们在相关研究工作中的新想法。
Compared with traditional solid-state drives (SSDs)
open-channel SSDs (OCSSDs) expose their internal physical layout and provide a host-based flash translation layer (FTL) that allows host-side software to control the internal operations such as garbage collection (GC) and input/output (I/O) scheduling. In this paper
we comprehensively survey research works built on OCSSDs in recent years. We show how they leverage the features of OCSSDs to achieve high throughput
low latency
long lifetime
strong performance isolation
and high resource utilization. We categorize these efforts into five groups based on their optimization methods: adaptive interface customizing
rich FTL co-designing
internal parallelism exploiting
rational I/O scheduling
and efficient GC processing. We discuss the strengths and weaknesses of these efforts and find that almost all these efforts face a dilemma between performance effectiveness and management complexity. We hope that this survey can provide fundamental knowledge to researchers who want to enter this field and further inspire new ideas for the development of OCSSDs.
领域专用存储闪存转换层垃圾回收内部并行性开放通道固态硬盘(OCSSDs)
Domain-specific storageFlash translation layerGarbage collectionInternal parallelismOpen-channel solid-state drives (OCSSDs)
Bhimani J, Yang JP, Yang ZY, et al., 2017. Enhancing SSDs with multi-stream: what? why? how?IEEE 36th Int Performance Computing and Communications Conf, p.1-2. doi: 10.1109/PCCC.2017.8280493http://doi.org/10.1109/PCCC.2017.8280493
Bjørling M, Gonzalez J, Bonnet P, 2017. LightNVM: the Linux open-channel SSD subsystem. 15th USENIX Conf on File and Storage Technologies, p.359-374.
Chen J, Wang Y, Zhou AC, et al., 2019. PATCH: process-variation-resilient space allocation for open-channel SSD with 3D flash. Design, Automation & Test in Europe Conf & Exhibition, p.216-221. doi: 10.23919/DATE.2019.8715197http://doi.org/10.23919/DATE.2019.8715197
Chiueh TC, Tsao W, Sun HC, et al., 2014. Software orchestrated flash array. Proc Int Conf on Systems and Storage, p.1-11. doi: 10.1145/2611354.2611360http://doi.org/10.1145/2611354.2611360
Du YZ, Gu JH, Xiao ZZ, et al., 2020. SSW: a strictly sequential writing method for open-channel SSD. J Syst Archit, 109:101828. doi: 10.1016/j.sysarc.2020.101828http://doi.org/10.1016/j.sysarc.2020.101828
González J, Bjørling M, 2017. Multi-tenant I/O isolation with open-channel SSDs. Non-Volatile Memories Workshop, p.1-2.
González J, Bjørling M, Lee S, et al., 2016. Application-driven flash translation layers on open-channel SSDs. Proc 7th Non-Volatile Memories Workshop, p.1-2.
Han K, Gwak H, Shin D, et al., 2021. ZNS+: advanced zoned namespace interface for supporting in-storage zone compaction. 15th USENIX Symp on Operating Systems Design and Implementation, p.147-162.
Hao MZ, Soundararajan G, Kenchammana-Hosekote DR, et al., 2016. The tail at store: a revelation from millions of hours of disk and SSD deployments. 14th USENIX Conf on File and Storage Technologies, p.263-276.
Hu Y, Jiang H, Feng D, et al., 2013. Exploring and exploiting the multilevel parallelism inside SSDs for improved performance and endurance. IEEE Trans Comput, 62(6):1141-1155. doi: 10.1109/TC.2012.60http://doi.org/10.1109/TC.2012.60
Huang J, Badam A, Caulfield L, et al., 2017. FlashBlox: achieving both performance isolation and uniform lifetime for virtualized SSDs. 15th USENIX Conf on File and Storage Technologies, p.375-390.
Jiang TY, Zhang GY, Huang ZC, et al., 2021. FusionRAID: achieving consistent low latency for commodity SSD arrays. 19th USENIX Conf on File and Storage Technologies, p.355-370.
Kang W, Shin D, Yoo S, 2017. Reinforcement learning-assisted garbage collection to mitigate long-tail latency in SSD. ACM Trans Embed Comput Syst, 16(5s):134. doi: 10.1145/3126537http://doi.org/10.1145/3126537
Lee C, Sim D, Hwang JY, et al., 2015. F2FS: a new file system for flash storage. 13th USENIX Conf on File and Storage Technologies, p.273-286.
Lee S, Liu M, Jun SW, et al., 2016. Application-managed flash. 14th USENIX Conf on File and Storage Technologies, p.339-353.
Lee S, Han K, Shin D, 2019. Host-level workload-aware budget compensation I/O scheduling for open-channel SSDs. IEEE Non-Volatile Memory Systems and Applications Symp, p.1-2. doi: 10.1109/NVMSA.2019.8863515http://doi.org/10.1109/NVMSA.2019.8863515
Li HC, Putra ML, Shi R, et al., 2021. IODA: a host/device co-design for strong predictability contract on modern flash storage. Proc ACM SIGOPS 28th Symp on Operating Systems Principles, p.263-279. doi: 10.1145/3477132.3483573http://doi.org/10.1145/3477132.3483573
Lu YY, Shu JW, Zheng WM, 2013. Extending the lifetime of flash-based storage through reducing write amplification from file systems. 11th USENIX Conf on File and Storage Technologies, p.257-270.
Lu YY, Shu JW, Zhang JC, 2019a. Mitigating synchronous I/O overhead in file systems on open-channel SSDs. ACM Tran Stor, 15(3):17. doi: 10.1145/3319369http://doi.org/10.1145/3319369
Lu YY, Zhang JC, Yang Z, et al., 2019b. OCStore: accelerating distributed object storage with open-channel SSDs. IEEE 39th Int Conf on Distributed Computing Systems, p.271-281. doi: 10.1109/ICDCS.2019.00035http://doi.org/10.1109/ICDCS.2019.00035
Marmol L, Sundararaman S, Talagala N, et al., 2015. NVMKV: a scalable, lightweight, FTL-aware key-value store. USENIX Annual Technical Conf, p.207-219.
Mathur A, Cao MM, Bhattacharya S, et al., 2007. The new Ext4 filesystem: current status and future plans. Proc Linux Symp, p.21-33.
NVM Express, Inc., 2023. NVM Express. https://nvmexpress.org/https://nvmexpress.org/
Oh G, Ahn S, 2021. Implementation of memory efficient flash translation layer for open-channel SSDs. Int J Adv Smart Converg, 10(1):142-150. doi: 10.7236/IJASC.2021.10.1.142http://doi.org/10.7236/IJASC.2021.10.1.142
O’Neil P, Cheng E, Gawlick D, et al., 1996. The log-structured merge-tree (LSM-tree). Acta Inform, 33(4):351-385. doi: 10.1007/s002360050048http://doi.org/10.1007/s002360050048
Ouyang J, Lin SD, Jiang S, et al., 2014. SDF: software-defined flash for web-scale Internet storage systems. Proc 19th Int Conf on Architectural Support for Programming Languages and Operating Systems, p.471-484. doi: 10.1145/2541940.2541959http://doi.org/10.1145/2541940.2541959
Park SY, Seo E, Shin JY, et al., 2010. Exploiting internal parallelism of flash-based SSDs. IEEE Comput Archit Lett, 9(1):9-12. doi: 10.1109/L-CA.2010.3http://doi.org/10.1109/L-CA.2010.3
Picoli IL, Pasco CV, Jónsson B, et al., 2017. uFLIP-OC: understanding flash I/O patterns on open-channel solid-state drives. Proc 8th Asia-Pacific Workshop on Systems, Article 20. doi: 10.1145/3124680.3124741http://doi.org/10.1145/3124680.3124741
Picoli IL, Hedam N, Bonnet P, et al., 2020. Open-channel SSD (what is it good for). 10th Conf on Innovative Data Systems Research, p.1-8.
Qin HW, Feng D, Tong W, et al., 2019. QBLK: towards fully exploiting the parallelism of open-channel SSDs. Design, Automation & Test in Europe Conf Exhibition, p.1064-1069. doi: 10.23919/DATE.2019.8715049http://doi.org/10.23919/DATE.2019.8715049
Qin HW, Feng D, Tong W, et al., 2021a. Better atomic writes by exposing the flash out-of-band area to file systems. Proc 22nd ACM SIGPLAN/SIGBED Int Conf on Languages, Compilers, and Tools for Embedded Systems, p.12-23. doi: 10.1145/3461648.3463843http://doi.org/10.1145/3461648.3463843
Qin HW, Feng D, Tong W, et al., 2021b. QBLKe: host-side flash translation layer management for open-channel SSDs. J Syst Archit, 119:102233. doi: 10.1016/j.sysarc.2021.102233http://doi.org/10.1016/j.sysarc.2021.102233
Qiu YH, Yin WB, Wang LL, 2021. A high-performance open-channel open-way NAND flash controller architecture. 31st Int Conf on Field-Programmable Logic and Applications, p.91-98. doi: 10.1109/FPL53798.2021.00023http://doi.org/10.1109/FPL53798.2021.00023
Reidys B, Sun JH, Badam A, et al., 2022. BlockFlex: enabling storage harvesting with software-defined flash in modern cloud platforms. 16th USENIX Symp on Operating Systems Design and Implementation, p.17-33.
Rodeh O, Bacik J, Mason C, 2013. BTRFS: the Linux B-tree filesystem. ACM Trans Stor, 9(3):9. doi: 10.1145/2501620.2501623http://doi.org/10.1145/2501620.2501623
Rosenblum M, Ousterhout JK, 1991. The design and implementation of a log-structured file system. Proc 13th ACM Symp on Operating Systems Principles, p.1-15. doi: 10.1145/121132.121137http://doi.org/10.1145/121132.121137
Shen ZY, Chen F, Jia YC, et al., 2017. DIDACache: a deep integration of device and application for flash based key-value caching. 15th USENIX Conf on File and Storage Technologies, p.391-405.
Shen ZY, Chen F, Yadgar G, et al., 2022. Prism-SSD: a flexible storage interface for SSDs. IEEE Trans Comput Aided Des Integr Circ Syst, 41(4):882-896. doi: 10.1109/TCAD.2021.3072326http://doi.org/10.1109/TCAD.2021.3072326
Son S, Ahn S, 2021. Optimizing garbage collection overhead of host-level flash translation layer for journaling filesystems. Int J Int Broadcast Commun, 13(2):27-35. doi: 10.7236/IJIBC.2021.13.2.27http://doi.org/10.7236/IJIBC.2021.13.2.27
The Open-Channel SSD Community, 2023. LightNVM Open Channel Specification. https://openchannelssd.readthedocs.io/en/latest/specificationhttps://openchannelssd.readthedocs.io/en/latest/specification
Wang HT, Li ZH, Zhang X, et al., 2018. OC-Cache: an open-channel SSD based cache for multi-tenant systems. IEEE 37th Int Performance Computing and Communications Conf, p.1-6. doi: 10.1109/PCCC.2018.8711079http://doi.org/10.1109/PCCC.2018.8711079
Wang P, Sun GY, Jiang S, et al., 2014. An efficient design and implementation of LSM-tree based key-value store on open-channel SSD. Proc 9th European Conf on Computer Systems, Article 16. doi: 10.1145/2592798.2592804http://doi.org/10.1145/2592798.2592804
Wang Y, Zhang MX, Yang X, et al., 2019. A thermal-aware physical space reallocation for open-channel SSD with 3-D flash memory. IEEE Trans Comput Aided Des Integr Circ Syst, 38(4):617-627. doi: 10.1109/TCAD.2018.2821442http://doi.org/10.1109/TCAD.2018.2821442
Wang Y, Huang JF, Chen J, et al., 2022. PVSensing: a process-variation-aware space allocation strategy for 3D NAND flash memory. IEEE Trans Comput Aided Des Integr Circ Syst, 41(5):1302-1315. doi: 10.1109/TCAD.2021.3091957http://doi.org/10.1109/TCAD.2021.3091957
Weil SA, Brandt SA, Miller EL, et al., 2006. Ceph: a scalable, high-performance distributed file system. Proc 7th Symp on Operating Systems Design and Implementation, p.307-320.
Wu SM, Lin KH, Chang LP, 2021. Integrating LSM trees with multichip flash translation layer for write-efficient KVSSDs. IEEE Trans Comput Aided Des Integr Circ Syst, 40(1):87-100. doi: 10.1109/TCAD.2020.2987781http://doi.org/10.1109/TCAD.2020.2987781
Yan SQ, Li HC, Hao MZ, et al., 2017. Tiny-tail flash: near-perfect elimination of garbage collection tail latencies in NAND SSDs. 15th USENIX Conf on File and Storage Technologies, p.15-28.
Yang JP, Plasson N, Gillis G, et al., 2014. Don’t stack your log on my log. 2nd Workshop on Interactions of NVM/Flash with Operating Systems and Workloads, p.1-10.
Yang LH, Zhang T, Fan YL, et al., 2019. Exploiting internal parallelism of SSD for hash join. Chin J Electron, 28(5):889-898. doi: 10.1049/cje.2019.06.009http://doi.org/10.1049/cje.2019.06.009
Zhang JC, Shu JW, Lu YY, 2016. ParaFS: a log-structured file system to exploit the internal parallelism of flash devices. USENIX Annual Technical Conf, p.87-100.
Zhang JC, Lu YY, Shu JW, et al., 2017. FlashKV: accelerating KV performance with open-channel SSDs. ACM Trans Embed Comput Syst, 16(5s):1-19. doi: 10.1145/3126545http://doi.org/10.1145/3126545
Zhang XY, Zhu F, Li S, et al., 2021. Optimizing performance for open-channel SSDs in cloud storage system. IEEE Int Parallel and Distributed Processing Symp, p.902-911. doi: 10.1109/IPDPS49936.2021.00099http://doi.org/10.1109/IPDPS49936.2021.00099
Publicity Resources
Related Articles
Related Author
Related Institution