VBBMS: A Novel Buffer Management Strategy for NAND Flash Storage Devices

NAND flash storage devices are gaining popularity in consumer electronic devices, such as digital cameras, tablet PCs, and smartphones, due to their attractive features. However, write operations significantly limit the performance of the flash storage in consumer electronics devices due to their long latency and heavy overhead of garbage collection. Hence, NAND flash storage devices generally use RAM memory as a buffer to improve their write performance and to extend their lifetime. This paper proposes a novel buffer management algorithm (BMA), called as virtual-block-based buffer management scheme (VBBMS), which can make full use of both temporal and spatial localities at virtual-block level. The main difference with the existing BMAs is that the management granularity of VBBMS is a virtual block, while the management granularity of existing BMAs is a page or a block. In addition, VBBMS divides RAM into random request service region (RRSR), which is responsible for handling random requests, and sequential request service region (SRSR), which is responsible for handling sequential requests. When replacement happens, VBBMS selects victim virtual-block according to LRU policy in RRSR and first-in first-out (FIFO) policy in SRSR. VBBMS has been extensively evaluated under various realistic workloads, and our benchmark results show that VBBMS can improve buffer hit ratio, reduce response time, and erase times, compared to five existing BMAs.

[1]  Young-Jin Kim,et al.  LAST: locality-aware sector translation for NAND flash memory-based storage systems , 2008, OPSR.

[2]  Zhiqiang Yao,et al.  Dynamic garbage collection scheme based on past update times for NAND flash-based consumer electronics , 2015, IEEE Transactions on Consumer Electronics.

[3]  Il Han Park,et al.  A 512-Gb 3-b/Cell 64-Stacked WL 3-D-NAND Flash Memory , 2018, IEEE Journal of Solid-State Circuits.

[4]  Suzhen Wu,et al.  Improving the SSD Performance by Exploiting Request Characteristics and Internal Parallelism , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Peiquan Jin,et al.  CCF-LRU: a new buffer replacement algorithm for flash memory , 2009, IEEE Transactions on Consumer Electronics.

[6]  Dongkun Shin,et al.  Recently-evicted-first buffer replacement policy for flash storage devices , 2008, IEEE Transactions on Consumer Electronics.

[7]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[8]  Renhai Chen,et al.  A Block-Level Log-Block Management Scheme for MLC NAND Flash Memory Storage Systems , 2017, IEEE Transactions on Computers.

[9]  Joonwon Lee,et al.  CFLRU: a replacement algorithm for flash memory , 2006, CASES '06.

[10]  Jin-Soo Kim,et al.  FAB: flash-aware buffer management policy for portable media players , 2006, IEEE Transactions on Consumer Electronics.

[11]  Edwin Hsing-Mean Sha,et al.  Durable Address Translation in PCM-Based Flash Storage Systems , 2017, IEEE Transactions on Parallel and Distributed Systems.

[12]  Laurence T. Yang,et al.  A Real-Time Flash Translation Layer for NAND Flash Memory Storage Systems , 2012, IEEE Transactions on Multi-Scale Computing Systems.

[13]  Youyou Lu,et al.  HiNFS , 2018, ACM Trans. Storage.

[14]  Yuping Wang,et al.  PAB: Parallelism-Aware Buffer Management Scheme for Nand-Based SSDs , 2013, 2013 IEEE 21st International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems.

[15]  Hong Jiang,et al.  GCaR: Garbage Collection aware Cache Management with Improved Performance for Flash-based SSDs , 2016, ICS.

[16]  Hyojun Kim,et al.  BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage , 2008, FAST.

[17]  Cheng Li,et al.  Pannier: Design and Analysis of a Container-Based Flash Cache for Compound Objects , 2017, ACM Trans. Storage.

[18]  Peiquan Jin,et al.  AD-LRU: An efficient buffer replacement algorithm for flash-based databases , 2012, Data Knowl. Eng..

[19]  Liang Shi,et al.  Exploiting Parallelism for Access Conflict Minimization in Flash-Based Solid State Drives , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[20]  Sanghyun Park,et al.  Selective I/O Bypass and Load Balancing Method for Write-Through SSD Caching in Big Data Analytics , 2018, IEEE Transactions on Computers.

[21]  Dongjin Yu,et al.  PR-LRU: A Novel Buffer Replacement Algorithm Based on the Probability of Reference for Flash Memory , 2017, IEEE Access.

[22]  Frank Singhoff,et al.  MONTRES : Merge ON-the-Run External Sorting Algorithm for Large Data Volumes on SSD Based Storage Systems , 2017, IEEE Transactions on Computers.

[23]  Zhipeng Li,et al.  Workload-Aware Elastic Striping With Hot Data Identification for SSD RAID Arrays , 2017, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[24]  Sooyong Kang,et al.  LRU-WSR: integration of LRU and writes sequence reordering for flash memory , 2008, IEEE Transactions on Consumer Electronics.

[25]  Jeong-Don Ihm,et al.  256 Gb 3 b/Cell V-nand Flash Memory With 48 Stacked WL Layers , 2017, IEEE Journal of Solid-State Circuits.

[26]  Piero Olivo,et al.  Memory Driven Design Methodologies for Optimal SSD Performance , 2018 .

[27]  Young Ik Eom,et al.  CLOCK-DNV: a write buffer algorithm for flash storage devices of consumer electronics , 2017, IEEE Transactions on Consumer Electronics.

[28]  Xavier Jimenez,et al.  Wear unleveling: improving NAND flash lifetime by balancing page endurance , 2014, FAST.

[29]  Jin-Soo Kim,et al.  Utilizing Subpage Programming to Prolong the Lifetime of Embedded NAND Flash-Based Storage , 2018, IEEE Transactions on Consumer Electronics.