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

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
  • 481
    Total Downloads
  • Downloads (Last 12 months)281
  • Downloads (Last 6 weeks)20
Reflects downloads up to 26 Sep 2024

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