QBLK: Towards Fully Exploiting the Parallelism of Open-Channel SSDs

Hongwei Qina, Dan Fengb, Wei Tongc, Jingning Liud and Yutong Zhaoe
Wuhan National Laboratory for Optoelectronics, Key Laboratory of Information Storage System Engineering Research Center of data storage systems and Technology, Ministry of Education of China School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan, China
aglqhw@hust.edu.cn
bdfeng@hust.edu.cn
cTongwei@hust.edu.cn
djnliu@hust.edu.cn
eytzhao@hust.edu.cn

ABSTRACT


By exposing physical channels to host software, Open-Channel SSD shows great potential in future high performance storage systems. However, the existing scheme fails to achieve acceptable performance under heavy workloads. The main reasons reside not only in its single-buffer architecture, more importantly, but also in its line-based physical address management. Besides, the lock of address mapping table is also a performance burden under heavy workloads. We propose QBLK, an open source driver which tries to better exploit the parallelism of Open-Channel SSDs. Particularly, QBLK adopts four key techniques, namely (1) Multi-queue based buffering, (2) Per-channel based address management, (3) Lock-free address mapping, and (4) Fine-grained draining. Experimental results show that QBLK achieves up to 97.4% bandwidth improvement compared with the state-of-the-art PBLK scheme.

Keywords: NAND flash, Open-Channel SSD, Parallelism.



Full Text (PDF)