Reinforcement Learning-Based SLC Cache Technique for Enhancing SSD Write Performance

Authors: 

Sangjin Yoo, Sungkyunkwan University, Samsung Electronics; Dongkun Shin, Sungkyunkwan University

Abstract: 

Although quad-level-cell (QLC) NAND flash memory can provide high density, its lower write performance and endurance compared to triple-level-cell (TLC) flash memory are critical obstacles to the proliferation of QLC flash memory. To resolve such problems of QLC flash, hybrid architectures, which program a part of QLC blocks in the single-level-cell (SLC) mode and utilizes the blocks as a cache of remaining QLC blocks, are widely adopted in the commercial solid-state disks (SSDs). However, it is challenging to optimize various parameters of hybrid SSDs such as the SLC cache size and the hot/cold separation threshold. In particular, the parameters must be adjusted dynamically by monitoring the change on I/O workloads. However, current techniques use heuristically determined fixed parameters. This paper proposes a reinforcement learning (RL)-based SLC cache management technique, which observes workload patterns and internal status of hybrid SSD and decides the optimal SLC cache parameters maximizing the efficiency of hybrid SSD. Experimental results show that the proposed technique improves write throughput and write amplification factor by 77.6% and 20.3% on average, respectively, over the previous techniques.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {254310,
author = {Sangjin Yoo and Dongkun Shin},
title = {Reinforcement Learning-Based {SLC} Cache Technique for Enhancing {SSD} Write Performance},
booktitle = {12th {USENIX} Workshop on Hot Topics in Storage and File Systems (HotStorage 20)},
year = {2020},
url = {https://www.usenix.org/conference/hotstorage20/presentation/yoo},
publisher = {{USENIX} Association},
month = jul,
}

Presentation Video