PEN: Design and Evaluation of Partial-Erase for 3D NAND-Based High Density SSDs


Chun-yi Liu and Jagadish Kotra, The Pennsylvania State University; Myoungsoo Jung, Yonsei University; Mahmut Kandemir, The Pennsylvania State University


3D NAND flash memories promise unprecedented flash storage capacities, which can be extremely important in certain application domains where both storage capacity and performance are first-class target metrics. However a block of 3D NAND flash contains many more pages than its 2D counterpart. This increased number of pages-per-block has numerous ramifications such as the longer erase latency, higher garbage collection costs, and increased write amplification factors, which can collectively prevent the 3D NAND flash products from becoming the mainstream in high-performance storage domain. In this paper, we introduce PEN, an architecture-level mechanism that enables partial-erase of flash blocks. Using our proposed partial-erase support, we also discuss how one can build a custom garbage collector for two types of flash translation layers (FTLs), namely, block-level FTL and hybrid FTL. Our experimental evaluations of PEN with a set of diverse real storage workloads indicate that the proposed approach can shorten the write latency by $44.3\%$ and $47.9\%$ for block-level FTL and hybrid FTL, respectively.

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.

@inproceedings {210520,
author = {Chun-yi Liu and Jagadish Kotra and Myoungsoo Jung and Mahmut Kandemir},
title = {{PEN}: Design and Evaluation of {Partial-Erase} for 3D {NAND-Based} High Density {SSDs}},
booktitle = {16th USENIX Conference on File and Storage Technologies (FAST 18)},
year = {2018},
isbn = {978-1-931971-42-3},
address = {Oakland, CA},
pages = {67--82},
url = {},
publisher = {USENIX Association},
month = feb