skip to main content
10.1145/3534056.3534940acmconferencesArticle/Chapter ViewAbstractPublication PagessystorConference Proceedingsconference-collections
research-article
Public Access
Best Paper

Fantastic SSD internals and how to learn and use them

Published:06 June 2022Publication History

ABSTRACT

This work presents (a) Queenie, an application-level tool that can automatically learn 10 internal properties of block-level SSDs, (b) Kelpie, the learning and analysis results of running Queenie on 21 different SSD models from 7 major SSD vendors, and (c) Newt, a set of storage performance optimization examples that use the learned properties. By bringing numerous observations and unique findings, this work exposes substantial improvement spaces for both SSD users and vendors, enlightening possibilities of unleashing more SSD performance potential and highlighting the necessity of further exploring SSD internals.

References

  1. 2018. Open-Channel Solid State Drives Specification. http://lightnvm.io/docs/OCSSD-2_0-20180129.pdf.Google ScholarGoogle Scholar
  2. 2019. SOLID STATE DRIVE (SSD) MARKET - GROWTH, TRENDS, AND FORECAST (2019 - 2024). https://www.mordorintelligence.com/industry-reports/solid-state-drive-market.Google ScholarGoogle Scholar
  3. 2022. Queenie GitHub Homepage. https://github.com/ucare-uchicago/Queenie.Google ScholarGoogle Scholar
  4. Abutalib Aghayev and Peter Desnoyers. 2015. Skylight-A Window on Shingled Disk Operation. In Proceedings of the 13th USENIX Symposium on File and Storage Technologies (FAST).Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy. 2008. Design Tradeoffs for SSD Performance. In Proceedings of the USENIX Annual Technical Conference (ATC).Google ScholarGoogle Scholar
  6. Matias Bjørling, Abutalib Aghayev, Hans Holmberg, Aravind Ramesh, Damien Le Moal, Gregory R. Ganger, and George Amvrosiadis. 2021. ZNS: Avoiding the Block Interface Tax for Flash-based SSDs. In Proceedings of the 2021 USENIX Annual Technical Conference (ATC).Google ScholarGoogle Scholar
  7. Matias Bjørling, Javier González, and Philippe Bonnet. 2017. LightNVM: The Linux Open-Channel SSD Subsystem. In Proceedings of the 15th Usenix Conference on File and Storage Technologies (Santa clara CA, USA) (FAST'17). USENIX Association, USA, 359--373.Google ScholarGoogle Scholar
  8. Simona Boboila and Peter Desnoyers. 2010. Write Endurance in Flash Drives: Measurements and Analysis. In Proceedings of the 8th USENIX Symposium on File and Storage Technologies (FAST).Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Simona Boboila and Peter Desnoyers. 2011. Performance Models of Flash-Based Solid-State Drives for Real Workloads. In Proceedings of the 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST '11). IEEE Computer Society, USA, 1--6.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Zhen Cao, Vasily Tarasov, Hari Prasath Raman, Dean Hildebrand, and Erez Zadok. 2017. On the Performance Variation in Modern Storage Stacks. In Proceedings of the 15th Usenix Conference on File and Storage Technologies (Santa clara, CA, USA) (FAST'17). USENIX Association, USA, 329--343.Google ScholarGoogle Scholar
  11. Li-Pin Chang. 2008. Hybrid Solid-State Disks: Combining Heterogeneous NAND Flash in Large SSDs. In Proceedings of the 2008 Asia and South Pacific Design Automation Conference (Seoul, Korea) (ASP-DAC '08). IEEE Computer Society Press, Washington, DC, USA, 428--433.Google ScholarGoogle ScholarCross RefCross Ref
  12. Feng Chen, Rubao Lee, and Xiaodong Zhang. 2011. Essential Roles of Exploiting Internal Parallelism of Flash Memory Based Solid State Drives in High-speed Data Processing. In Proceedings of the 17th International Symposium on High Performance Computer Architecture (HPCA-17).Google ScholarGoogle ScholarCross RefCross Ref
  13. John Colgrove, John D. Davis, John Hayes, Ethan L. Miller, Cary Sandvig, Russell Sears, Ari Tamches, Neil Vachharajani, and Feng Wang. 2015. Purity: Building Fast, Highly-Available Enterprise Flash Storage from Commodity Components. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (SIGMOD).Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Timothy E. Denehy, John Bent, Florentina I. Popovici, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2004. Deconstructing Storage Arrays. In Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XI).Google ScholarGoogle Scholar
  15. Peter Desnoyers. 2014. Analytic Models of SSD Write Performance. In ACM Transactions on Storage (TOS).Google ScholarGoogle Scholar
  16. Laura M. Grupp, John D. Davis, and Steven Swanson. 2013. The Harey Tortoise: Managing Heterogeneous Write Performance in SSDs. In Proceedings of the 2013 USENIX Annual Technical Conference (ATC).Google ScholarGoogle Scholar
  17. Kyuhwa Han, Hyunho Gwak, Dongkun Shin, and Jooyoung Hwang. 2021. ZNS+: Advanced Zoned Namespace Interface for Supporting In-Storage Zone Compaction. In Proceedings of the 15th Symposium on Operating Systems Design and Implementation (OSDI).Google ScholarGoogle Scholar
  18. Mingzhe Hao, Huaicheng Li, Michael Hao Tong, Chrisma Pakha, Riza O. Suminto, Cesar A. Stuardo, Andrew A. Chien, and Haryadi S. Gunawi. 2017. MittOS: Supporting Millisecond Tail Tolerance with Fast Rejecting SLO-Aware OS Interface. In Proceedings of the 26th ACM Symposium on Operating Systems Principles (SOSP).Google ScholarGoogle Scholar
  19. Mingzhe Hao, Gokul Soundararajan, Deepak Kenchammana-Hosekote, Andrew A. Chien, and Haryadi S. Gunawi. 2016. The Tail at Store: A Revelation from Millions of Hours of Disk and SSD Deployments. In Proceedings of the 14th Usenix Conference on File and Storage Technologies (Santa Clara, CA) (FAST'16). USENIX Association, USA, 263--276.Google ScholarGoogle Scholar
  20. Mingzhe Hao, Levent Toksoz, Nanqinqin Li, Edward Edberg Halim, Henry Hoffmann, and Haryadi S. Gunawi. 2020. LinnOS: Predictability on Unpredictable Flash Storage with a Light Neural Network. In Proceedings of the 14th Symposium on Operating Systems Design and Implementation (OSDI).Google ScholarGoogle Scholar
  21. Jun He, Sudarsun Kannan, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2017. The Unwritten Contract of Solid State Drives. In Proceedings of the 2017 EuroSys Conference (EuroSys).Google ScholarGoogle Scholar
  22. Seongcheol Hong and Dongkun Shin. 2010. NAND Flash-Based Disk Cache Using SLC/MLC Combined Flash Memory. In 2010 International Workshop on Storage Network Architecture and Parallel I/Os. 21--30.Google ScholarGoogle Scholar
  23. Xiao-Yu Hu, Robert Haas, and Eleftheriou Evangelos. 2011. Container Marking: Combining Data Placement, Garbage Collection and Wear Leveling for Flash. In Proceedings of the IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. H. Howie Huang, Shan Li, Alex Szalay, and Andreas Terzis. 2011. Performance Modeling and Analysis of Flash-Based Storage Devices. In Proceedings of the 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST '11). IEEE Computer Society, USA, 1--11.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Xavier Jimenez, David Novo, and Paolo Ienne. 2014. Wear Unleveling: Improving NAND Flash Lifetime by Balancing Page Endurance. In Proceedings of the 12th USENIX Symposium on File and Storage Technologies (FAST).Google ScholarGoogle Scholar
  26. Myoungsoo Jung and Mahmut Kandemir. 2013. Revisiting Widely Held SSD Expectations and Rethinking System-Level Implications. In Proceedings of the ACM SIGMETRICS/International Conference on Measurement and Modeling of Computer Systems (Pittsburgh, PA, USA) (SIGMETRICS '13). Association for Computing Machinery, New York, NY, USA, 203--216.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Jeong-Uk Kang, Jeeseok Hyun, Hyunjoo Maeng,, and Sangyeun Cho. 2014. The Multi-streamed Solid-State Drive. In the 6th Workshop on Hot Topics in Storage and File Systems (HotStorage).Google ScholarGoogle Scholar
  28. Jihun Kim, Joonsung Kim, Pyeongsu Park, Jong Kim, and Jangwoo Kim. 2018. SSD Performance Modeling Using Bottleneck Analysis. IEEE Comput. Archit. Lett. 17, 1 (January 2018), 80--83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Jaeho Kim, Kwanghyun Lim, Youngdon Jung, Sungjin Lee, Changwoo Min, and Sam H. Noh. 2019. Alleviating Garbage Collection Interference Through Spatial Separation in All Flash Arrays. In Proceedings of the 2019 USENIX Annual Technical Conference (ATC).Google ScholarGoogle Scholar
  30. Joonsung Kim, Pyeongsu Park, Jaehyung Ahn, Jihun Kim, Jong Kim, and Jangwoo Kim. 2018. SSDcheck: Timely and Accurate Prediction of Irregular Behaviors in Black-Box SSDs. In 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-51).Google ScholarGoogle Scholar
  31. Jaehong Kim, Sangwon Seo, Dawoon Jung, Jin-Soo Kim, and Jaehyuk Huh. 2011. Parameter-Aware I/O Management for Solid State Disks (SSDs). In IEEE Transactions on Computers (TC).Google ScholarGoogle Scholar
  32. Jae-Hong Kim, Dawoon Jung, Jin-Soo Kim, and Jaehyuk Huh. 2009. A Methodology for Extracting Performance Parameters in Solid State Disks (SSDs). In Proceedings of the IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).Google ScholarGoogle Scholar
  33. Pradeep Kumar and H. Howie Huang. 2017. Falcon: Scaling IO Performance in Multi-SSD Volumes. In Proceedings of the 2017 USENIX Annual Technical Conference (ATC).Google ScholarGoogle Scholar
  34. Sungjin Lee, Ming Liu, Sangwoo Jun, Shuotao Xu, Jihong Kim, and Arvind Arvind. 2016. Application-Managed Flash. In Proceedings of the 14th Usenix Conference on File and Storage Technologies (Santa Clara, CA) (FAST'16). USENIX Association, USA, 339--353.Google ScholarGoogle Scholar
  35. Huaicheng Li, Mingzhe Hao, Michael Hao Tong, Swaminathan Sundararaman, Matias Bjørling, and Haryadi S. Gunawi. 2018. The CASE of FEMU: Cheap, Accurate, Scalable and Extensible Flash Emulator. In Proceedings of the 16th USENIX Symposium on File and Storage Technologies (FAST).Google ScholarGoogle Scholar
  36. Huaicheng Li, Martin L. Putra, Ronald Shi, Xing Lin, Gregory R. Ganger, and Haryadi S. Gunawi. 2021. IODA: A Host/Device Co-Design for Strong Predictability Contract on Modern Flash Storage. In Proceedings of the 28th ACM Symposium on Operating Systems Principles (SOSP).Google ScholarGoogle Scholar
  37. Shan Li and H. Howie Huang. 2010. Black-Box Performance Modeling for Solid-State Drives. In Proceedings of the IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).Google ScholarGoogle Scholar
  38. Yongkun Li, Patrick P. C. Lee, and John C. S. Lui. 2011. Stochastic Modeling of Large-Scale Solid-State Storage Systems: Analysis, Design Tradeoffs and Optimization. In Proceedings of the 2011 ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS).Google ScholarGoogle Scholar
  39. Heiner Litz, Javier Gonzalez, Ana Klimovic, and Christos Kozyrakis. 2022. RAIL: Predictable, Low Tail Latency for NVMe Flash. ACM Trans. Storage 18, 1, Article 5 (jan 2022), 21 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Jian Ouyang, Shiding Lin, Song Jiang, Zhenyu Hou, Yong Wang, and Yuanzheng Wang. 2014. SDF: Software-Defined Flash for Web-Scale Internet Storage System. In Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Torben Kling Petersen and John Bent. 2017. Hybrid Flash Arrays for HPC Storage Systems: An Alternative to Burst Buffers. In IEEE High Performance Extreme Computing Conference (HPEC).Google ScholarGoogle ScholarCross RefCross Ref
  42. Sergey Platonov. 2018. RAIN: Reinvention of RAID for the World of NVMe. In Flash Memory Summit.Google ScholarGoogle Scholar
  43. Jiri Schindler, John Linwood Griffin, Christopher R. Lumb, and Gregory R. Ganger. 2002. Track-Aligned Extents: Matching Access Patterns to Disk Drive Characteristics. In Proceedings of the 1st USENIX Symposium on File and Storage Technologies (FAST).Google ScholarGoogle Scholar
  44. Benny Van Houdt. 2013. A Mean Field Model for a Class of Garbage Collection Algorithms in Flash-Based Solid State Drives. In Proceedings of the ACM SIGMETRICS/International Conference on Measurement and Modeling of Computer Systems (Pittsburgh, PA, USA) (SIGMETRICS '13). Association for Computing Machinery, New York, NY, USA, 191--202.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Matthieu Viry. [n.d.]. Compute Natural Breaks in Python (Fisher-Jenks algorithm). https://github.com/mthh/jenkspy.Google ScholarGoogle Scholar
  46. Brent Welch and Geoffrey Noer. 2013. Optimizing a Hybrid SSD/HDD HPC Storage System Based on File Size Distributions. In Proceedings of the 29th IEEE Symposium on Massive Storage Systems and Technologies (MSST).Google ScholarGoogle ScholarCross RefCross Ref
  47. Bruce L. Worthington, Gregory R. Ganger, Yale N. Patt, and John Wilkes. 1995. On Line Extraction of SCSI Disk Drive Parameters. In Proceedings of the 1995 ACM Conference on Measurement and Modeling of Computer Systems (SIGMETRICS).Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Kan Wu, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. 2019. Towards an Unwritten Contract of Intel Optane SSD. In the 11th Workshop on Hot Topics in Storage and File Systems (HotStorage).Google ScholarGoogle Scholar
  49. Suzhen Wu, Yanping Lin, Bo Mao, and Hong Jiang. 2016. Garbage Collection Aware Cache Management with Improved Performance for Flash-based SSDs. In Proceedings of the 30th International Conference on Supercomputing (ICS).Google ScholarGoogle Scholar
  50. Shiqin Yan, Huaicheng Li, Mingzhe Hao, Michael Hao Tong, Swaminathan Sundararaman, Andrew A. Chien, and Haryadi S. Gunawi. 2017. Tiny-Tail Flash: Near-Perfect Elimination of Garbage Collection Tail Latencies in NAND SSDs. In 15th USENIX Conference on File and Storage Technologies (FAST 17). USENIX Association, Santa Clara, CA, 15--28.Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Kamen Yotov, Keshav Pingali, and Paul Stodghill. 2005. Automatic Measurement of Memory Hierarchy Parameters. In Proceedings of the 2005 ACM Conference on Measurement and Modeling of Computer Systems (SIGMETRICS).Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Jianquan Zhang, Dan Feng, Jianlin Gao, Wei Tong, Jingning Liu, Yu Hua, Yang Gao, Caihua Fang, Wen Xia, Feiling Fu, and Yaqing Li. 2016. Application-Aware and Software-Defined SSD Scheme for Tencent Large-Scale Storage System. In Proceedings of 22nd IEEE International Conference on Parallel and Distributed Systems (ICPADS).Google ScholarGoogle ScholarCross RefCross Ref
  53. Aviad Zuck, Philipp Guhring, Tao Zhang, Donald E. Porter, and Dan Tsafrir. 2019. Why and How to Increase SSD Performance Transparency. In The 17th Workshop on Hot Topics in Operating Systems (HotOS XVII).Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Fantastic SSD internals and how to learn and use them

        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
        • Published in

          cover image ACM Conferences
          SYSTOR '22: Proceedings of the 15th ACM International Conference on Systems and Storage
          June 2022
          163 pages
          ISBN:9781450393805
          DOI:10.1145/3534056

          Copyright © 2022 ACM

          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 the author(s) 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: 6 June 2022

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          SYSTOR '22 Paper Acceptance Rate12of41submissions,29%Overall Acceptance Rate94of285submissions,33%

          Upcoming Conference

          SYSTOR '24
          The 17th ACM International Systems and Storage Conference
          September 23 - 25, 2024
          Tel-Aviv , Israel

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader