GALRU: A Group-Aware Buffer Management Scheme for Flash Storage Systems

Many flash storage systems divide input/output (I/O) requests that require large amounts of data into sub-requests to exploit their internal parallelism. In this case, an I/O request can be completed only after all sub-requests have been completed. Thus, non-critical sub-requests that are completed quickly do not affect I/O latency. To efficiently reduce I/O latency, we propose a buffer management scheme that allocates buffer space by considering the relationship between the processing time of the sub-request and I/O latency. The proposed scheme prevents non-critical sub-requests from wasting ready-to-use buffer space by avoiding the situation in which buffer spaces that are and are not ready to use are allocated to an I/O request. To allocate the same type of buffer space to an I/O request, the proposed scheme first groups sub-requests derived from the same I/O request and then applies a policy for allocating buffer space in units of sub-request groups. When the ready-to-use buffer space is insufficient to be allocated to the sub-request group being processed at a given time, the proposed scheme does not allocate it to the sub-request group but it instead sets it aside for future I/O requests. The results of the experiments to test the proposed scheme show that it can reduce I/O latency by up to 24% compared with prevalent buffer management schemes.

[1]  Fang Wang,et al.  Gasa: A New Page Replacement Algorithm for NAND Flash Memory , 2016, 2016 IEEE International Conference on Networking, Architecture and Storage (NAS).

[2]  Mohammad Arjomand,et al.  Exploiting Intra-Request Slack to Improve SSD Performance , 2017, ASPLOS.

[3]  Yuhui Deng,et al.  Architectures and optimization methods of flash memory based storage systems , 2011, J. Syst. Archit..

[4]  Jie Yao,et al.  PA-SSD: A Page-Type Aware TLC SSD for Improved Write/Read Performance and Storage Efficiency , 2018, ICS.

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

[6]  Yan Li,et al.  NAND Flash Memory: Challenges and Opportunities , 2013, Computer.

[7]  Chi Zhang,et al.  DIR: Dynamic Request Interleaving for Improving the Read Performance of Aged SSDs , 2019, 2019 IEEE Non-Volatile Memory Systems and Applications Symposium (NVMSA).

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

[9]  Xiaodong Zhang,et al.  Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing , 2011, 2011 IEEE 17th International Symposium on High Performance Computer Architecture.

[10]  Hyokyung Bahn,et al.  Page Replacement Algorithms for NAND Flash Memory Storages , 2007, ICCSA.

[11]  Xiao Qin,et al.  CalmWPC: A buffer management to calm down write performance cliff for NAND flash-based storage systems , 2019, Future Gener. Comput. Syst..

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

[13]  Jun Yang,et al.  DLV: Exploiting Device Level Latency Variations for Performance Improvement on Flash Memory Storage Systems , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[14]  Kyu Ho Park,et al.  CAVE: channel-aware buffer management scheme for solid state disk , 2011, SAC '11.

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

[16]  Joonwon Lee,et al.  Exploiting Internal Parallelism of Flash-based SSDs , 2010, IEEE Computer Architecture Letters.

[17]  Joonwon Lee,et al.  A multi-channel architecture for high-performance NAND flash-based storage system , 2007, J. Syst. Archit..

[18]  Jie Zhou,et al.  An Advanced Adaptive Least Recently Used Buffer Management Algorithm for SSD , 2019, IEEE Access.

[19]  Eui-Young Chung,et al.  Design and analysis of flash translation layers for multi-channel NAND flash-based storage devices , 2009, IEEE Transactions on Consumer Electronics.

[20]  Guangjie Han,et al.  Locality-Aware Replacement Algorithm in Flash Memory to Optimize Cloud Computing for Smart Factory of Industry 4.0 , 2017, IEEE Access.

[21]  Guangjie Han,et al.  DPW-LRU: An Efficient Buffer Management Policy Based on Dynamic Page Weight for Flash Memory in Cyber-Physical Systems , 2019, IEEE Access.

[22]  Charles C. Weems,et al.  A Pattern Adaptive NAND Flash Memory Storage Structure , 2012, IEEE Transactions on Computers.

[23]  Liyan Qiao,et al.  A hardware-software co-design experiments platform for NAND flash based on Zynq , 2014, 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications.

[24]  Sriram Sankar,et al.  Storage characterization for unstructured data in online services applications , 2009, 2009 IEEE International Symposium on Workload Characterization (IISWC).

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

[26]  Delin Cai,et al.  A Multiple LRU List Buffer Management Algorithm , 2019, IOP Conference Series: Materials Science and Engineering.

[27]  Tao Xie,et al.  I/O Characteristics of Smartphone Applications and Their Implications for eMMC Design , 2015, 2015 IEEE International Symposium on Workload Characterization.

[28]  Jianliang Xu,et al.  FD-Buffer: A Cost-Based Adaptive Buffer Replacement Algorithm for FlashMemory Devices , 2014, IEEE Transactions on Computers.

[29]  Sanghyuk Jung,et al.  Architecture exploration of flash memory storage controller through a cycle accurate profiling , 2011, IEEE Transactions on Consumer Electronics.

[30]  Yinfeng Wang,et al.  PT-LRU: a probabilistic page replacement algorithm for NAND flash-based consumer electronics , 2014, IEEE Transactions on Consumer Electronics.

[31]  Peiquan Jin,et al.  Flash-DBSim: A simulation tool for evaluating Flash-based database algorithms , 2009, 2009 2nd IEEE International Conference on Computer Science and Information Technology.

[32]  Mingwei Lin,et al.  HDC: An adaptive buffer replacement algorithm for NAND flash memory-based databases , 2014 .

[33]  Sang Lyul Min,et al.  Ozone (O3): An Out-of-Order Flash Memory Controller Architecture , 2011, IEEE Transactions on Computers.

[34]  Dongjin Kim,et al.  SUPA: A Single Unified Read-Write Buffer and Pattern-Change-Aware FTL for the High Performance of Multi-Channel SSD , 2017, ACM Trans. Storage.

[35]  Jun Yang,et al.  CBM: A cooperative buffer management for SSD , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

[36]  Rubao Lee,et al.  Internal Parallelism of Flash Memory-Based Solid-State Drives , 2016, ACM Trans. Storage.

[37]  Zhen Zhou,et al.  An efficient page replacement algorithm for NAND flash memory , 2013, IEEE Transactions on Consumer Electronics.

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

[39]  Qiang Cao,et al.  Improving Overall Performance of TLC SSD by Exploiting Dissimilarity of Flash Pages , 2020, IEEE Transactions on Parallel and Distributed Systems.

[40]  Zhiqiang Yao,et al.  F-LRU: An efficient buffer replacement algorithm for NAND flash-based databases , 2016 .