Skip to main content

Advertisement

Log in

A survey on design and application of open-channel solid-state drives

开放通道固态硬盘的设计与应用研究综述

  • Review
  • Published:
Frontiers of Information Technology & Electronic Engineering Aims and scope Submit manuscript

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.

摘要

与传统的固态硬盘(SSDs)相比,开放通道固态硬盘(OCSSDs)向外暴露了它们的内部物理布局,并提供了一个基于主机端的闪存转换层(FTL),使得它允许主机端软件根据具体场景和需求控制其内部操作,如垃圾回收(GC)和输入/输出(I/O)调度等。本文对近年来基于OCSSDs的研究工作进行了全面的调研,总结了它们如何利用OCSSDs的特性来实现高吞吐量、低访问延迟、长寿命、强性能隔离和高资源利用率等目标,并从接口定制、FTL协同设计、内部并行性挖掘、I/O调度和GC处理等五个方面对这些工作进行了深入的研究分析。我们讨论了目前研究工作的优势和不足,并发现几乎所有的这些研究方法都面临着性能有效性和管理复杂性之间的困境。本文旨在通过开展综述调研能为希望进入这一领域的研究人员提供关于OCSSDs的基础知识,并进一步激发他们在相关研究工作中的新想法。

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

References

  • 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. https://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. https://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. https://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. https://doi.org/10.1016/j.sysarc.2020.101828

    Article  Google Scholar 

  • González J, Bj0rling 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. https://doi.org/10.1109/TC.2012.60

    Article  MathSciNet  MATH  Google Scholar 

  • 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. Fusion-RAID: 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. https://doi.org/10.1145/3126537

    Article  Google Scholar 

  • 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. https://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. https://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. https://doi.org/10.1145/3319369

    Google Scholar 

  • 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. https://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/

  • 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. https://doi.org/10.7236/IJASC.2021.10.1.142

    Google Scholar 

  • O’Neil P, Cheng E, Gawlick D, et al., 1996. The log-structured merge-tree (LSM-tree). Acta Inform, 33(4):351–385. https://doi.org/10.1007/s002360050048

    Article  MATH  Google Scholar 

  • 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. https://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. https://doi.org/10.1109/L-CA.2010.3

    Article  Google Scholar 

  • 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. https://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. https://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. https://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. https://doi.org/10.1016/j.sysarc.2021.102233

    Article  Google Scholar 

  • 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. https://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. https://doi.org/10.1145/2501620.2501623

    Google Scholar 

  • 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. https://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. https://doi.org/10.1109/TCAD.2021.3072326

    Article  Google Scholar 

  • 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. https://doi.org/10.7236/IJIBC.2021.13.2.27

    Google Scholar 

  • The Open-Channel SSD Community, 2023. LightNVM Open Channel Specification. https://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. https://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. https://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. https://doi.org/10.1109/TCAD.2018.2821442

    Article  Google Scholar 

  • 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. https://doi.org/10.1109/TCAD.2021.3091957

    Article  Google Scholar 

  • 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. https://doi.org/10.1109/TCAD.2020.2987781

    Article  Google Scholar 

  • 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. https://doi.org/10.1049/cje.2019.06.009

    Article  Google Scholar 

  • 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. https://doi.org/10.1145/3126545

    Article  Google Scholar 

  • 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. https://doi.org/10.1109/IPDPS49936.2021.00099

Download references

Author information

Authors and Affiliations

Authors

Contributions

Junchao CHEN designed the research. Junchao CHEN and Junyu WEI drafted the paper. Guangyan ZHANG helped organize the paper. Junchao CHEN and Guangyan ZHANG revised and finalized the paper.

Corresponding author

Correspondence to Guangyan Zhang  (张广艳).

Additional information

Compliance with ethics guidelines

Guangyan ZHANG is a guest editor of this special feature, and he was not involved with the peer review process of this manuscript. Junchao CHEN, Guangyan ZHANG, and Junyu WEI declare that they have no conflict of interest.

Project supported by the National Natural Science Foundation of China (No. 62025203)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chen, J., Zhang, G. & Wei, J. A survey on design and application of open-channel solid-state drives. Front Inform Technol Electron Eng 24, 637–658 (2023). https://doi.org/10.1631/FITEE.2200317

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1631/FITEE.2200317

Key words

CLC number

关键词