Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Visibility Graph-based Cache Management for DRAM Buffer Inside Solid-state Drives

Published: 19 June 2023 Publication History
  • Get Citation Alerts
  • Abstract

    Most solid-state drives (SSDs) adopt an on-board Dynamic Random Access Memory (DRAM) to buffer the write data, which can significantly reduce the amount of write operations committed to the flash array of SSD if data exhibits locality in write operations. This article focuses on efficiently managing the small amount of DRAM cache inside SSDs. The basic idea is to employ the visibility graph technique to unify both temporal and spatial locality of references of I/O accesses, for directing cache management in SSDs. Specifically, we propose to adaptively generate the visibility graph of cached data pages and then support batch adjustment of adjacent or nearby (hot) cached data pages by referring to the connection situations in the visibility graph. In addition, we propose to evict the buffered data pages in batches by also referring to the connection situations, to maximize the internal flushing parallelism of SSD devices without worsening I/O congestion. The trace-driven simulation experiments show that our proposal can yield improvements on cache hits by between 0.8% and 19.8%, and the overall I/O latency by 25.6% on average, compared to state-of-the-art cache management schemes inside SSDs.

    References

    [1]
    B. Kim, J. Choi, and S. Min. 2019. Design tradeoffs for SSD reliability. In USENIX Conference on File and Storage Technologies (FAST’19).
    [2]
    X. Xu, Z. Cai, J. Liao, and Y. Ishiakwa. 2020. Frequent access pattern-based prefetching inside of solid-state drives. In Design, Automation & Test in Europe Conference & Exhibition (DATE’20).
    [3]
    K. Kim, and T. Kim. 2020. HMB in DRAM-less NVMe SSDs: Their usage and effects on performance. PloS One 15, 3 (2020), e0229645.
    [4]
    M. Tarihi, H. Asadi, A. Haghdoost, et al. 2016. A hybrid non-volatile cache design for solid-state drives using comprehensive I/O characterization. IEEE TC 65, 6 (2016), 1678–1691.
    [5]
    Y. Wang, K. Kim, B. Lee, et al. 2018. A novel buffer management scheme based on particle swarm optimization for SSD. TJSC 74 (2018), 141–159.
    [6]
    J. Li, Z. Sha, Z. Cai, et al. 2020. Patch-based data management for dual-copy buffers in RAID-enabled SSDs. IEEE TCAD 39, 11 (2020), 3956–3967.
    [7]
    H. Sun, S. Dai, et al. 2021. Co-active: A workload-aware collaborative cache management scheme for NVMe SSDs. IEEE TPDS 32, 6 (2021), 1437–1451.
    [8]
    A. Jain and C. Lin. Back to the future: Leveraging Belady’s algorithm for improved cache replacement. In ISCA 44, 3 (2016), 78–89.
    [9]
    M. Kandemir, J. Ramanujam, et al. 1999. Improving cache locality by a combination of loop and data transformations. IEEE TC 48, 2 (1999), 159–167.
    [10]
    G. Wu, X. He, and B. Eckart. 2012. An adaptive write buffer management scheme for flash-based SSDs. ACM TOS 8, 1 (2012), 1–24.
    [11]
    S. Park, D. Jung, J. Kang, et al. 2006. CFLRU: A replacement algorithm for flash memory. In International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES’06).
    [12]
    J. Robinson and M. Devarakonda. 1990. Data cache management using frequency-based replacement. In 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems (SIGMETRICS’90).
    [13]
    S. U. Khan, S. Yang, L. Wang, et al. 2015. A modified particle swarm optimization algorithm for global optimizations of inverse problems. IEEE TOM 52, 3 (2015), 1–4.
    [14]
    Megiddo and D. Modha. 2003. A self-tuning low overhead replacement cache. In USENIX Conference on File and Storage Technologies (FAST’03).
    [15]
    M. Wang and Z. Li. 2017. A spatial and temporal locality-aware adaptive cache design with network optimization for tiled many-core architectures. IEEE VLSI 25, 9 (2017), 2419–2433.
    [16]
    C. Du, Y. Yao, J. Zhou, and X. Xu. 2019. VBBMS: A novel buffer management strategy for NAND flash storage devices. IEEE TCE 65, 2 (2019), 134–141.
    [17]
    S. Jiang, X. Ding, and F. Chen. 2005. DULO: An effective buffer cache management scheme to exploit both temporal and spatial locality. In USENIX Conference on File and Storage Technologies (FAST’05).
    [18]
    H. Wang, X. Yi, P. Huang, et al. 2018. Efficient SSD caching by avoiding unnecessary writes using machine learning. In International Conference on Parallel Processing (ICPP’18).
    [19]
    L. Lacasa, B. Luque, F. Ballesteros, et al. 2008. From time series to complex networks: The visibility graph. PNAS 105, 13 (2008), 4972–4975.
    [20]
    Z. Sha, Z. Cai, D. Yin, et al. 2022. Unifying temporal and spatial locality for cache management inside SSDs. In Design, Automation & Test in Europe Conference & Exhibition (DATE’22).
    [21]
    N. Tran, D. Reed, and S. Member. 2004. Automatic ARIMA time series modeling for adaptive I/O prefetching. TPDS 15, 4 (2004), 362–377.
    [22]
    Y. Gao, D. Yu, and H. Wang. 2020. Fault diagnosis of rolling bearings using weighted horizontal visibility graph and graph Fourier transform. Measurement 149 (2020), 107036.
    [23]
    G. Iacobello, S. Scarsoglio, and L. Ridolfi. 2018. Visibility graph analysis of wall turbulence time-series. Physics Letters A 382, 1 (2018), 1–11.
    [24]
    R. V. Donner and J. F. Donges. 2012. Visibility graph analysis of geophysical time series: Potentials and possible pitfalls. Acta Geophysica 60 (2012), 589–623.
    [25]
    L. Lacasa, B. Luque, F. Ballesteros, et al. 2009. Horizontal visibility graphs: Exact results for random time series. Phys. Rev. 80, 4 (2009), 046103.
    [26]
    H. Li, et al. 2021. Merging and prioritizing optimization in block I/O scheduling of disk storage. JCSC 30, 10 (2021), 2150186.
    [27]
    J. Liao, F. Trahay, B. Gerofi, and Y. Ishikawa. 2016. Prefetching on storage servers through mining access patterns on blocks. TPDS 27, 9 (2016), 2698–2710.
    [28]
    P. Erdos, R. Faudree, J. Pach, and J. Spencer. 1988. How to make a graph bipartite. J. Combin. Theory Ser. 54, 1 (1988), 86–98.
    [29]
    W. Zhang, Q. Cao, H. Jiang, et al. 2018. PA-SSD: A page-type aware TLC SSD for improved write/read performance and storage efficiency. In International Conference on Supercomputing (ICS’18). 22–32.
    [30]
    C. Liu, Y. Lee, et al. 2021. GSSA: A resource allocation scheme customized for 3D NAND SSDs. In IEEE International Symposium on High-Performance Computer Architecture (HPCA’21).
    [31]
    T. Chang, J. W. Hsieh, T. C. Chang, et al. 2021. EMT: Elegantly measured tanner for key-value store on SSD. TCAD 41, 1 (2021) 91–103.
    [32]
    W. Wang, T. Chen, Y. H. Chang, et al. 2020. How to cut out expired data with nearly zero overhead for solid-state drives. In ACM/IEEE Design Automation Conference (DAC’20).
    [33]
    D. Narayanan, A. Donnelly, and A. Rowstron. 2008. Write off-loading: Practical power management for enterprise storage. ACM TOS 4, 3 (2008), 1–23.
    [34]
    C. Lee, T. Matsuki, et al. 2017. Understanding storage traffic characteristics on enterprise virtual desktop infrastructure. In ACM International Systems and Storage Conference (SYSTOR’17).
    [36]
    B. Kim, H. Yang, and S. Min. 2018. AutoSSD: An autonomic SSD architecture. In USENIX Annual Technical Conference (ATC’18).
    [37]
    H. Kim and S. Ahn. 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In USENIX Conference on File and Storage Technologies (FAST’08).
    [38]
    Y. Zhou and J. Philbin. 2001. The multi-queue replacement algorithm for second level buffer caches. In Proceedings of the USENIX Annual Technical Conference (ATC’01), 91–104.
    [39]
    B. Gill and D. Modha. 2005. WOW: Wise ordering for writes-combining spatial and temporal locality in non-volatile caches. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’05).
    [40]
    S. Jiang and X. Zhang. 2002. LIRS: An efficient low inter-reference recency set replacement policy to improve buffer cache performance. ACM SIGMETRICS Performance Evaluation Review 30, 1 (2002), 31–42.
    [41]
    Q. Zhu, F. David, C. Devaraj, et al. 2004. Reducing energy consumption of disk storage using power-aware cache management. In International Symposium on High Performance Computer Architecture (HPCA’04). 118.
    [42]
    S. Wu, B. Mao. et al. 2016. Garbage collection aware cache management with improved performance for flash-based SSDs. In International Conference on Supercomputing (ICS’16).
    [43]
    H. Chen, Y. Pan, C. Li, et al. 2019. ECR: Eviction-cost-aware cache management policy for page-level flash-based SSDs. CCPE 33, 15 (2019), e5395.
    [44]
    H. Jo, et al. 2006. FAB: Flash-aware buffer management policy for portable media players. TCE 52, 2 (2006), 485–493.
    [45]
    J. Hu, et al. 2010. PUD-LRU: An erase-efficient write buffer management algorithm for flash memory SSD. In IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS’10).
    [46]
    H. Shim, B. Seo, J. Kim, et al. 2010. An adaptive partitioning scheme for DRAM-based cache in solid state drives. In Symposium on Mass Storage Systems and Technologies (MSST’10).

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Storage
    ACM Transactions on Storage  Volume 19, Issue 3
    August 2023
    233 pages
    ISSN:1553-3077
    EISSN:1553-3093
    DOI:10.1145/3604654
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 19 June 2023
    Online AM: 03 March 2023
    Accepted: 17 February 2023
    Revised: 17 January 2023
    Received: 23 July 2022
    Published in TOS Volume 19, Issue 3

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Solid-state drives
    2. Cache Management
    3. Temporal and Spatial Locality
    4. Visibility Graph
    5. batch adjustment and eviction

    Qualifiers

    • Research-article

    Funding Sources

    • National Natural Science Foundation of China
    • Natural Science Foundation Project of CQ CSTC

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 440
      Total Downloads
    • Downloads (Last 12 months)322
    • Downloads (Last 6 weeks)6

    Other Metrics

    Citations

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    Full Text

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media