CLC number: TP302
On-line Access: 2023-05-31
Received: 2022-07-25
Revision Accepted: 2023-05-31
Crosschecked: 2022-11-16
Cited: 0
Clicked: 1839
Citations: Bibtex RefMan EndNote GB/T7714
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.
@article{title="A survey on design and application of open-channel solid-state drives",
author="Junchao CHEN, Guangyan ZHANG, Junyu WEI",
journal="Frontiers of Information Technology & Electronic Engineering",
volume="24",
number="5",
pages="637-658",
year="2023",
publisher="Zhejiang University Press & Springer",
doi="10.1631/FITEE.2200317"
}
%0 Journal Article
%T A survey on design and application of open-channel solid-state drives
%A Junchao CHEN
%A Guangyan ZHANG
%A Junyu WEI
%J Frontiers of Information Technology & Electronic Engineering
%V 24
%N 5
%P 637-658
%@ 2095-9184
%D 2023
%I Zhejiang University Press & Springer
%DOI 10.1631/FITEE.2200317
TY - JOUR
T1 - A survey on design and application of open-channel solid-state drives
A1 - Junchao CHEN
A1 - Guangyan ZHANG
A1 - Junyu WEI
J0 - Frontiers of Information Technology & Electronic Engineering
VL - 24
IS - 5
SP - 637
EP - 658
%@ 2095-9184
Y1 - 2023
PB - Zhejiang University Press & Springer
ER -
DOI - 10.1631/FITEE.2200317
Abstract: 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.
[1]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.
[2]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.
[3]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.
[4]Chiueh TC, Tsao W, Sun HC, et al., 2014. Software orchestrated flash array. Proc Int Conf on Systems and Storage, p.1-11.
[5]Du YZ, Gu JH, Xiao ZZ, et al., 2020. SSW: a strictly sequential writing method for open-channel SSD. J Syst Archit, 109:101828.
[6]González J, Bjørling M, 2017. Multi-tenant I/O isolation with open-channel SSDs. Non-Volatile Memories Workshop, p.1-2.
[7]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.
[8]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.
[9]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.
[10]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.
[11]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.
[12]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.
[13]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.
[14]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.
[15]Lee S, Liu M, Jun SW, et al., 2016. Application-managed flash. 14th USENIX Conf on File and Storage Technologies, p.339-353.
[16]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.
[17]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.
[18]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.
[19]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.
[20]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.
[21]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.
[22]Mathur A, Cao MM, Bhattacharya S, et al., 2007. The new Ext4 filesystem: current status and future plans. Proc Linux Symp, p.21-33.
[23]NVM Express, Inc., 2023. NVM Express. https://nvmexpress.org/
[24]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.
[25]O’Neil P, Cheng E, Gawlick D, et al., 1996. The log-structured merge-tree (LSM-tree). Acta Inform, 33(4):351-385.
[26]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.
[27]Park SY, Seo E, Shin JY, et al., 2010. Exploiting internal parallelism of flash-based SSDs. IEEE Comput Archit Lett, 9(1):9-12.
[28]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.
[29]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.
[30]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.
[31]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.
[32]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.
[33]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.
[34]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.
[35]Rodeh O, Bacik J, Mason C, 2013. BTRFS: the Linux B-tree filesystem. ACM Trans Stor, 9(3):9.
[36]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.
[37]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.
[38]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.
[39]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.
[40]The Open-Channel SSD Community, 2023. LightNVM Open Channel Specification. https://openchannelssd.readthedocs.io/en/latest/specification
[41]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.
[42]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.
[43]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.
[44]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.
[45]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.
[46]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.
[47]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.
[48]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.
[49]Yang LH, Zhang T, Fan YL, et al., 2019. Exploiting internal parallelism of SSD for hash join. Chin J Electron, 28(5):889-898.
[50]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.
[51]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.
[52]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.
Open peer comments: Debate/Discuss/Question/Opinion
<1>