skip to main content
research-article

Pattern-Based Prefetching with Adaptive Cache Management Inside of Solid-State Drives

Authors Info & Claims
Published:29 January 2022Publication History
Skip Abstract Section

Abstract

This article proposes a pattern-based prefetching scheme with the support of adaptive cache management, at the flash translation layer of solid-state drives (SSDs). It works inside of SSDs and has features of OS dependence and uses transparency. Specifically, it first mines frequent block access patterns that reflect the correlation among the occurred I/O requests. Then, it compares the requests in the current time window with the identified patterns to direct prefetching data into the cache of SSDs. More importantly, to maximize the cache use efficiency, we build a mathematical model to adaptively determine the cache partition on the basis of I/O workload characteristics, for separately buffering the prefetched data and the written data. Experimental results show that our proposal can yield improvements on average read latency by 1.8%–36.5% without noticeably increasing the write latency, in contrast to conventional SSD-inside prefetching schemes.

REFERENCES

  1. [1] Grupp Laura M., Davis John D., and Swanson Steven. 2012. The bleak future of NAND flash memory. In Proceedings of USENIX Conference on File and Storage Technologies (FAST’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] Micheloni Rino. 2017. Solid-State Drive (SSD): A nonvolatile storage system. In Proceedings of the IEEE 105, 4 (2017), 583–588. DOI: https://doi.org/10.1109/JPROC.2017.2678018Google ScholarGoogle ScholarCross RefCross Ref
  3. [3] Matsui Chihiro, Sun Chao, and Takeuchi Ken. 2017. Design of hybrid SSDs with storage class memory and NAND flash memory. In Proceedings of the IEEE 105, 9 (2017), 1812–1821. DOI: https://doi.org/10.1109/JPROC.2017.2716958Google ScholarGoogle ScholarCross RefCross Ref
  4. [4] Park Chanik, Cheon Wonmoon, Kang Jeonguk, Roh Kangho, Cho Wonhee, and Kim Jin-Soo. 2008. A reconfigurable FTL (flash translation layer) architecture for NAND flash-based applications. In ACM Transactions on Embedded Computing Systems 7, 4 (2008), 38:1–38:23. DOI: https://doi.org/10.1145/1376804.1376806 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Chang Yuan-Hao, Wu Po-Liang, Kuo Tei-Wei, and Hung Shih-Hao. 2012. An adaptive file-system-oriented FTL mechanism for flash-memory storage systems. In ACM Transactions on Embedded Computing Systems 11, 1 (2012), 9:1–9:19. DOI: https://doi.org/10.1145/2146417.2146426 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Gupta Aayush, Pisolkar Raghav, Urgaonkar Bhuvan, and Sivasubramaniam Anand. 2011. Leveraging value locality in optimizing NAND flash-based SSDs. In Proceedings of USENIX Conference on File and Storage Technologies (FAST’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Liao Jianwei, Zhang Fengxiang, Li Li, and Xiao Guoqiang. 2015. Adaptive wear-leveling in flash-based memory. In IEEE Computer Architecture Letters 14, 1 (2014) 1–4.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Wang Yili, Kim Kyung Tae, Jun Lee Byung, and Youn Hee Yong. 2018. A novel buffer management scheme based on particle swarm optimization for SSD. In The Journal of Supercomputing. 74, 1 (2018), 141–159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] Cui Jinhua, Zhang Youtao, Huang Jianhang, Wu Weiguo, and Yang Jun. 2018. ShadowGC: Cooperative garbage collection with multi-level buffer for performance improvement in NAND flash-based SSDs. In Proceeding of Design, Automation & Test in Europe Conference & Exhibition (DATE’18). DOI: https://doi.org/10.23919/DATE.2018.8342206Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Chang Yuan-Hao, Hsieh Jen-Wei, and Kuo Tei-Wei. 2009. Improving flash wear-leveling by proactively moving static data. In IEEE Transactions on Computers 59, 1 (2009), 53–65. DOI: https://doi.org/10.1109/TC.2009.134 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. [11] Li Jun, Xu Xiaofei, Peng Xiaoning, and >Liao Jianwei. 2019. Pattern-based write scheduling and read balance-oriented wear-leveling for solid state drivers. In Proceedings of the Symposium on Mass Storage Systems and Technologies (MSST’19). DOI: https://doi.org/10.1109/MSST.2019.00-10Google ScholarGoogle ScholarCross RefCross Ref
  12. [12] Shriver Elizabeth A. M., Small Christopher, and Smith Keith A.. 1999. Why does file system prefetching work?. In Proceedings of the USENIX Annual Technical Conference (ATC’99). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Uppal Ahsen J., Chiang Ron Chi-Lung, and Huang H. Howie. 2012. Flashy prefetching for high-performance flash drives. In Proceedings of the Symposium on Mass Storage Systems and Technologies (MSST’12). DOI: https://doi.org/10.1109/MSST.2012.6232367Google ScholarGoogle ScholarCross RefCross Ref
  14. [14] Laga Arezki, Boukhobza Jalil, Koskas Michel, and Singhoff Frank. 2016. Lynx: A learning linux prefetching mechanism for SSD performance model. In Proceedings of the Non-Volatile Memory Systems and Applications Symposium (NVMSA’16). DOI: https://doi.org/10.1109/NVMSA.2016.7547186Google ScholarGoogle ScholarCross RefCross Ref
  15. [15] Cosmos OpenSSD Platform. Retrieved September 2020 from http://www.openssd-project.org.Google ScholarGoogle Scholar
  16. [16] Jiang Song, Ding Xiaoning, Xu Yuehai, and Davis Kei. 2013. A prefetching scheme exploiting both data layout and access history on disk. In ACM Transactions on Storage 9, 3 (2013), 10:1–10:23. DOI: https://doi.org/10.1145/2508010 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] Liao Jianwei, Trahay François, Gerofi Balazs, and Ishikawa Yutaka. 2016. Prefetching on storage servers through mining access patterns on blocks. In IEEE Transactions on Parallel and Distributed Systems 27, 9 (2016), 2698–2710. DOI: https://doi.org/10.1109/TPDS.2015.2496595 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] He Jun, Bent John, Torres Aaron, Grider Gary, Gibson Garth, Maltzahn Carlos, and Sun Xian-He. 2013. I/O acceleration with pattern detection. In Proceedings of the International Symposium on High-Performance Parallel and Distributed Computing (HPDC’13). DOI: https://doi.org/10.1145/2462902.2462909 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Peled Leeor, Weiser Uri C., and Etsion Yoav. 2018. Towards memory prefetching with neural networks: Challenges and insights. https://arxiv.org/pdf/1804.00478v1.pdf.Google ScholarGoogle Scholar
  20. [20] Xu Rui, Jin Xi, Tao Linfeng, Guo Shuaizhi, Xiang Zikun, and Tian Teng. 2018. An efficient resource-optimized learning prefetcher for solid state drives. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE’18). DOI: https://doi.org/10.1145/2462902.2462909Google ScholarGoogle ScholarCross RefCross Ref
  21. [21] Tiwari Devesh, Boboila Simona, Vazhkudai Sudharshan S., Kim Youngjae, Ma Xiaosong, Desnoyers Peter, and Solihin Yan. 2013. Active flash: Towards energy-efficient, in-situ data analytics on extreme-scale machines. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Tseng Hung-Wei, Zhao Qianchen, Zhou Yuxiao, Gahagan Mark, and Swanson Steven. 2016. Morpheus: Creating application objects efficiently for heterogeneous computing. In Proceedings of the ACM/IEEE Annual International Symposium on Computer Architecture (ISCA’16). DOI: https://doi.org/10.1109/ISCA.2016.15 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Jun Sang Woo, Liu Ming, Lee Sungjin, Hicks Jamey, Ankcorn John, King Myron, Xu Shuotao, and Arvind. 2015. BlueDBM: An appliance for big data analytics. In Proceedings of the ACM/IEEE Annual International Symposium on Computer Architecture (ISCA’15). DOI: https://doi.org/10.1145/2749469.2750412 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Pei Shuyi, Yang Jing, and Yang Qing. 2019. REGISTOR: A platform for unstructured data processing inside SSD storage. In ACM Transactions on Storage 15, 1 (2019), 7:1–7:24. DOI: https://doi.org/10.1145/3310149 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. [25] Groeneveld Richard A. and Glen 1984 Meeden. Measuring skewness and kurtosis. In Journal of the Royal Statistical Society: Series D (The Statistician). DOI: https://doi.org/10.2307/2987742Google ScholarGoogle Scholar
  26. [26] Tan Pang-Ning, Steinbach Michael, and Kumar Vipin. 2016. Introduction to data mining. Pearson Education India.Google ScholarGoogle Scholar
  27. [27] Li Zhenmin, Chen Zhifeng, Srinivasan Sudarshan M., Zhou Yuanyuan. 2004. C-Miner: Mining block correlations in storage systems. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’04). Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. [28] Yadgar Gala and Gabel Moshe. 2016. Avoiding the streetlight effect: I/O workload analysis with SSDs in mind. In Proceedings of the USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage’16). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Kwon Miryeong, Zhang Jie, Park Gyuyoung, Choi Wonil, Donofrio David, Shalf John, Kandemir Mahmut T., and Jung Myoungsoo. 2017. TraceTracker: Hardware/software co-evaluation for large-scale I/O workload reconstruction. In Proceedings of the IEEE International Symposium on Workload Characterization (IISWC’17). DOI: https://doi.org/10.1109/IISWC.2017.8167759Google ScholarGoogle ScholarCross RefCross Ref
  30. [30] Search Engine I/O. Retrieved March 2020 from http://traces.cs.umass.edu/index.php/Storage/Storage.Google ScholarGoogle Scholar
  31. [31] Narayanan Dushyanth, Donnelly Austin, and Rowstron Antony I. T.. 2008. Write off-loading: Practical power management for enterprise storage. In ACM Transactions on Storage 4, 3 (2008), 10:1–10:23. DOI: https://doi.org/10.1145/1416944.1416949 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. [32] Lee Chunghan, Kumano Tatsuo, Matsuki Tatsuma, Endo Hiroshi, Fukumoto Naoto, and Sugawara Mariko. 2017. Understanding storage traffic characteristics on enterprise virtual desktop infrastructure. In Proceedings of the ACM International Systems and Storage Conference (SYSTOR’17). DOI: https://doi.org/10.1145/3078468.3078479 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Zhang Wenhui, Cao Qiang, Jiang Hong, and Yao Jie. 2018. PA-SSD: A page-type aware TLC SSD for improved write/read performance and storage efficiency. In Proceedings of the International Conference on Supercomputing (ICS’18). DOI: https://doi.org/10.1145/3205289.3205319 Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Li Jun, Sha Zhibing, Cai Zhigang, Trahay François, and Liao Jianwei. 2020. Patch-based data management for dual-copy buffers in RAID-enabled SSDs. In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 39, 11 (2020), 3956–3967. DOI: https://doi.org/10.1109/TCAD.2020.3012252Google ScholarGoogle ScholarCross RefCross Ref
  35. [35] Xu Xiaofei, Cai Zhigang, Liao Jianwei, and Ishikawa Yutaka. 2020. Frequent access pattern-based prefetching inside of solid-state drives. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE’20). DOI: https://doi.org/10.23919/DATE48585.2020.9116382 Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. [36] Kang Woon-Hak, Lee Sang-Won, Moon Bongki, Kee Yang-Suk, and Oh Moonwook. 2014. Durable write cache in flash memory SSD for relational and NoSQL databases. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD’14). DOI: https://doi.org/10.1145/2588555.2595632Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Pattern-Based Prefetching with Adaptive Cache Management Inside of Solid-State Drives

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Storage
      ACM Transactions on Storage  Volume 18, Issue 1
      February 2022
      245 pages
      ISSN:1553-3077
      EISSN:1553-3093
      DOI:10.1145/3512348
      • Editor:
      • Sam H. Noh
      Issue’s Table of Contents

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 29 January 2022
      • Accepted: 1 July 2021
      • Revised: 1 April 2021
      • Received: 1 October 2020
      Published in tos Volume 18, Issue 1

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    View Full Text

    HTML Format

    View this article in HTML Format .

    View HTML Format
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!