skip to main content
research-article

Extending and Programming the NVMe I/O Determinism Interface for Flash Arrays

Published:11 January 2023Publication History
Skip Abstract Section

Abstract

Predictable latency on flash storage is a long-pursuit goal, yet unpredictability stays due to the unavoidable disturbance from many well-known SSD internal activities. To combat this issue, the recent NVMe IO Determinism (IOD) interface advocates host-level controls to SSD internal management tasks. Although promising, challenges remain on how to exploit it for truly predictable performance.

We present IODA,1 an I/O deterministic flash array design built on top of small but powerful extensions to the IOD interface for easy deployment. IODA exploits data redundancy in the context of IOD for a strong latency predictability contract. In IODA, SSDs are expected to quickly fail an I/O on purpose to allow predictable I/Os through proactive data reconstruction. In the case of concurrent internal operations, IODA introduces busy remaining time exposure and predictable-latency-window formulation to guarantee predictable data reconstructions. Overall, IODA only adds five new fields to the NVMe interface and a small modification in the flash firmware while keeping most of the complexity in the host OS. Our evaluation shows that IODA improves the 95–99.99th latencies by up to 75×. IODA is also the nearest to the ideal, no disturbance case compared to seven state-of-the-art preemption, suspension, GC coordination, partitioning, tiny-tail flash controller, prediction, and proactive approaches.

REFERENCES

  1. [1] Li Huaicheng, Putra Martin L., Shi Ronald, Lin Xing, Ganger Gregory R., and Gunawi Haryadi S.. 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’21).Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] Barroso Luiz, Marty Mike, Patterson David, and Ranganathan Parthasarathy. 2017. Attack of the killer microseconds. Communications of the ACM 60, 4 (2017), 48–54.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Dean Jeffrey and Barroso Luiz Andre. 2013. The tail at scale. Communications of the ACM 56, 2 (2013), 74–80.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] Architecting It. 2018. Why Deterministic Storage Performance is Important. Retrieved November 26, 2022 from https://www.architecting.it/blog/deterministic-storage-performance/.Google ScholarGoogle Scholar
  5. [5] Samsung. 2020. All-Flash NVMe Reference Architecture. Retrieved November 26, 2022 from https://www.samsung.com/semiconductor/global.semi/file/resource/2020/05/redhat-ceph-whitepaper-0521.pdf.Google ScholarGoogle Scholar
  6. [6] Micron. 2020. Micron 9100 U.2 and HHHL NVMe PCIe SSDs. Retrieved November 26, 2022 from https://www.micron.com/-/media/client/global/documents/products/data-sheet/ssd/9100_hhhl_u_2_pcie_ssd.pdf.Google ScholarGoogle Scholar
  7. [7] Intel. 2021. Achieve Consistent Low Latency for Your Storage-Intensive Workloads. Retrieved November 26, 2022 from https://www.intel.com/content/www/us/en/architecture-and-technology/optane-technology/low-latency-for-storage-intensive-workloads-article-brief.html.Google ScholarGoogle Scholar
  8. [8] Stenfort Ross, Wu Ta-Yu, and Prewitt Lee. 2020. NVMe Cloud SSD Specification. Retrieved November 26, 2022 from https://www.opencompute.org/documents/nvme-cloud-ssd-specification-v1-0-3-pdf.Google ScholarGoogle Scholar
  9. [9] Violin. 2020. Storage Latency in Flash Arrays. Retrieved November 26, 2022 from https://www.violinsystems.com/wp-content/uploads/Storage-Mojo-WP-storage-latency.pdf.Google ScholarGoogle Scholar
  10. [10] Yan Shiqin, Li Huaicheng, Hao Mingzhe, Tong Michael Hao, Sundararaman Swaminathan, Chien Andrew A., and Gunawi Haryadi S.. 2017. Tiny-tail flash: Near-perfect elimination of garbage collection tail latencies in NAND SSDs. In Proceedings of the 15th USENIX Symposium on File and Storage Technologies (FAST’17).Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. [11] Elyasi Nima, Choi Changho, Sivasubramaniam Anand, Yang Jingpei, and Balakrishnan Vijay. 2019. Trimming the tail for deterministic read performance in SSDs. In Proceedings of the IEEE International Symposium on Workload Characterization (IISWC’19).Google ScholarGoogle ScholarCross RefCross Ref
  12. [12] Ouyang Jian, Lin Shiding, Jiang Song, Hou Zhenyu, Wang Yong, and Wang Yuanzheng. 2014. SDF: Software-defined flash for web-scale internet storage system. In Proceedings of the 19th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14).Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Silverton Consulting. 2016. GreyBeards on Storage. Retrieved November 26, 2022 from https://silvertonconsulting.com/gbos2/tag/tail-latency/.Google ScholarGoogle Scholar
  14. [14] Petersen Chris, Zhang Wei, and Naberezhnov Alexei. 2018. Enabling NVMe I/O Determinism @ Scale. Retrieved November 26, 2022 from https://www.flashmemorysummit.com/English/Collaterals/Proceedings/2018/20180807_INVT-102A-1_Petersen.pdf.Google ScholarGoogle Scholar
  15. [15] Karkra Kapil. 2018. Using Software to Reduce High Tail Latencies on SSDs. Retrieved November 26, 2022 from https://www.flashmemorysummit.com/English/Collaterals/Proceedings/2018/20180808_SOFT-201-1_Karkar.pdf.Google ScholarGoogle Scholar
  16. [16] Incits. 2022. Data Set Management Commands Proposal for ATA8-ACS2. Retrieved December 5, 2022 from https://www.t13.org/.Google ScholarGoogle Scholar
  17. [17] NVM Express. 2020. NVM Express Base Specification 1.0. Retrieved November 26, 2022 from https://nvmexpress.org/wp-content/uploads/NVM-Express-1_0e.pdf.Google ScholarGoogle Scholar
  18. [18] Kim Taejin, Hong Duwon, Hahn Sangwook Shane, Chun Myoungjun, Lee Sungjin, Hwang Jooyoung, Lee Jongyoul, and Kim Jihong. 2019. Fully automatic stream management for multi-streamed SSDs using program contexts. In Proceedings of the 17th USENIX Symposium on File and Storage Technologies (FAST’19).Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] NVM Express. 2020. NVM Express Base Specification 1.4. Retrieved November 26, 2022 from https://nvmexpress.org/wp-content/uploads/NVM-Express-1_4-2019.06.10-Ratified.pdf.Google ScholarGoogle Scholar
  20. [20] Bennett Jon C. R.. 2012. Memory Management System and Method. Retrieved November 26, 2022 from https://www.google.com/patents/US8200887.Google ScholarGoogle Scholar
  21. [21] Rashmi K. V., Chowdhury Mosharaf, Kosaian Jack, Stoica Ion, and Ramchandran Kannan. 2016. EC-cache: Load-balanced, low-latency cluster caching with online erasure coding. In Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI’16).Google ScholarGoogle Scholar
  22. [22] Hu Yaochen, Wang Yushi, Liu Bang, Niu Di, and Huang Cheng. 2017. Latency reduction and load balancing in coded storage systems. In Proceedings of the 8th ACM Symposium on Cloud Computing (SoCC’17).Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Litz Heiner, Gonzalez Javier, Klimovic Ana, and Kozyrakis Christos. 2022. RAIL: Predictable, low tail latency for NVMe flash. ACM Transactions on Storage 18, 1 (2022), Article 5, 21 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Li Huaicheng, Hao Mingzhe, Tong Michael Hao, Sundararaman Swaminathan, Bjørling Matias, and Gunawi Haryadi S.. 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’18).Google ScholarGoogle Scholar
  25. [25] Bjørling Matias, Gonzalez Javier, and Bonnet Philippe. 2017. LightNVM: The Linux open-channel SSD subsystem. In Proceedings of the 15th USENIX Symposium on File and Storage Technologies (FAST’17).Google ScholarGoogle Scholar
  26. [26] Lee Junghee, Kim Youngjae, Shipman Galen M., Oral Sarp, Wang Feiyi, and Kim Jongman. 2011. A semi-preemptive garbage collector for solid state drives. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS’11).Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] William Wu, Shai Traister, Jianmin Huang, Neil David Hutchinson, and Steven Sprouse. 2014. Pre-emptive Garbage Collection of Memory Blocks. Retrieved November 26, 2022 from https://www.google.com/patents/US8626986.Google ScholarGoogle Scholar
  28. [28] Lee Junghee, Kim Youngjae, Shipman Galen M., Oral Sarp, and Kim Jongman. 2013. Preemptible I/O scheduling of garbage collection for solid state drives. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 32, 2 (2013), 247–260.Google ScholarGoogle Scholar
  29. [29] Wu Guanying and He Xubin. 2012. Reducing SSD read latency via NAND flash program and erase suspension. In Proceedings of the 10th USENIX Symposium on File and Storage Technologies (FAST’12).Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Kim Shine, Bae Jonghyun, Jang Hakbeom, Jin Wenjing, Gong Jeonghun, Lee Seungyeon, Ham Tae Jun, and Lee Jae W.. 2019. Practical erase suspension for modern low-latency SSDs. In Proceedings of the 2019 USENIX Annual Technical Conference (ATC’19).Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] Jea Woong Hyun and David Nellans. 2015. Erase Suspend/Resume for Memory. Retrieved November 26, 2022 from https://patents.google.com/patent/US9223514B2/en.Google ScholarGoogle Scholar
  32. [32] Colgrove John, Davis John D., Hayes John, Miller Ethan L., Sandvig Cary, Sears Russell, Tamches Ari, Vachharajani Neil, and Wang Feng. 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’15).Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Wu Suzhen, Zhu Weidong, Liu Guixin, Jiang Hong, and Mao Bo. 2018. GC-aware request steering with improved performance and reliability for SSD-based RAIDs. In Proceedings of the 32nd IEEE International Parallel and Distributed Processing Symposium (IPDPS’18).Google ScholarGoogle ScholarCross RefCross Ref
  34. [34] Kim Youngjae, Oral Sarp, Shipman Galen M., Lee Junghee, Dillow David A., and Wang Feiyi. 2011. Harmonia: A globally coordinated garbage collector for arrays of solid-state drives. In Proceedings of the 27th IEEE Symposium on Massive Storage Systems and Technologies (MSST’11).Google ScholarGoogle Scholar
  35. [35] Kim Jaeho, Lim Kwanghyun, Jung Youngdon, Lee Sungjin, Min Changwoo, and Noh Sam H.. 2019. Alleviating garbage collection interference through spatial separation in all flash arrays. In Proceedings of the 2019 USENIX Annual Technical Conference (ATC’19).Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. [36] Skourtis Dimitris, Achlioptas Dimitris, Watkins Noah, Maltzahn Carlos, and Brandt Scott. 2014. Flash on rails: Consistent flash performance through redundancy. In Proceedings of the 2014 USENIX Annual Technical Conference (ATC’14).Google ScholarGoogle Scholar
  37. [37] Huang Jian, Badam Anirudh, Caulfield Laura, Nath Suman, Sengupta Sudipta, Sharma Bikash, and Qureshi Moinuddin K.. 2017. FlashBlox: Achieving both performance isolation and uniform lifetime for virtualized SSDs. In Proceedings of the 15th USENIX Symposium on File and Storage Technologies (FAST’17).Google ScholarGoogle Scholar
  38. [38] Kim Jaeho, Lee Donghee, and Noh Sam H.. 2015. Towards SLO complying SSDs through OPS isolation. In Proceedings of the 13th USENIX Symposium on File and Storage Technologies (FAST’15).Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. [39] Hao Mingzhe, Li Huaicheng, Tong Michael Hao, Pakha Chrisma, Suminto Riza O., Stuardo Cesar A., Chien Andrew A., and Gunawi Haryadi S.. 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’17).Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Samsung. 2014. MZHPV128HDGM (SM951) 128 GB PCIe Gen3 8Gb/s x4 M.2. Retrieved December 5, 2022 from https://icecat.biz/rest/product-pdf?productId=26302110&lang=en.Google ScholarGoogle Scholar
  41. [41] Liu Chun-Yi, Kotra Jagadish, Jung Myoungsoo, and Kandemir Mahmut T.. 2018. PEN: Design and evaluation of partial-erase for 3D NAND-based high density SSDs. In Proceedings of the 16th USENIX Symposium on File and Storage Technologies (FAST’18).Google ScholarGoogle Scholar
  42. [42] Mesnier Michael, Akers Jason B., Chen Feng, and Luo Tian. 2011. Differentiated storage services. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP’11).Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. [43] Amvrosiadis George, Brown Angela Demke, and Goel Ashvin. 2015. Opportunistic storage maintenance. In Proceedings of the 25th ACM Symposium on Operating Systems Principles (SOSP’15).Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. [44] Zhang Jie, Kwon Miryeong, Gouk Donghyun, Koh Sungjoon, Lee Changlim, Alian Mohammad, Chun Myoungjun, et al. 2018. FlashShare: Punching through server storage stack from kernel to firmware for ultra-low latency SSDs. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI’18).Google ScholarGoogle Scholar
  45. [45] Liu Chun-Yi, Lee Yunju, Jung Myoungsoo, Kandemir Mahmut Taylan, and Choi Wonil. 2021. Prolonging 3D NAND SSD lifetime via read latency relaxation. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’21).Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. [46] Missimer Katherine and West Richard. 2018. Partitioned real-time NAND flash storage. In Proceedings of the 39th IEEE Real-Time Systems Symposium (RTSS’18).Google ScholarGoogle ScholarCross RefCross Ref
  47. [47] Suresh Lalith, Canini Marco, Schmid Stefan, and Feldmann Anja. 2015. C3: Cutting tail latency in cloud data stores via adaptive replica selection. In Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI’15).Google ScholarGoogle Scholar
  48. [48] Wu Zhe, Yu Curtis, and Madhyastha Harsha V.. 2015. CosTLO: Cost-effective redundancy for lower latency variance on cloud storage services. In Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI’15).Google ScholarGoogle Scholar
  49. [49] Hao Mingzhe, Toksoz Levent, Li Nanqinqin, Halim Edward Edberg, Hoffmann Henry, and Gunawi Haryadi S.. 2020. LinnOS: Predictability on unpredictable flash storage with a light neural network. In Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI’20).Google ScholarGoogle Scholar
  50. [50] Shin Ji-Yong, Balakrishnan Mahesh, Marian Tudor, and Weatherspoon Hakim. 2013. Gecko: Contention-oblivious disk arrays for cloud storage. In Proceedings of the 11th USENIX Symposium on File and Storage Technologies (FAST’13).Google ScholarGoogle Scholar
  51. [51] Kim Youngjae, Lee Junghee, Oral Sarp, Dillow David A., Wang Feiyi, and Shipman Galen M.. 2014. Coordinating garbage collection for arrays of solid-state drives. IEEE Transactions on Computers 63, 4 (April2014), 888–901.Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. [52] Caulfield Adrian M., Grupp Laura M., and Swanson Steven. 2009. Gordon: Using flash memory to build fast, power-efficient clusters for data-intensive applications. In Proceedings of the 14th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’09).Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. [53] Chen Feng, Lee Rubao, and Zhang Xiaodong. 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-’11).Google ScholarGoogle ScholarCross RefCross Ref
  54. [54] Jung Myoungsoo, Choi Wonil, Kwon Miryeong, Srikantaiah Shekhar, Yoo Joonhyuk, and Kandemir Mahmut. 2020. Design of a host interface logic for GC-free SSDs. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 39, 8 (Aug. 2020), 1674–1687.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. [55] Klimovic Ana, Litz Heiner, and Kozyrakis Christos. 2017. ReFlex: Remote flash \(\approx\) local flash. In Proceedings of the 22nd ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’17).Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. [56] Jiang Tianyang, Zhang Guangyan, Huang Zican, Ma Xiaosong, Wei Junyu, Li Zhiyue, and Zheng Weimin. 2021. FusionRAID: Achieving consistent low latency for commodity SSD arrays. In Proceedings of the 19th USENIX Symposium on File and Storage Technologies (FAST’21).Google ScholarGoogle Scholar
  57. [57] Seshadri Sudharsan, Gahagan Mark, Bhaskaran Sundaram, Bunker Trevor, De Arup, Jin Yanqin, Liu Yang, and Swanson Steven. 2014. Willow: A user-programmable SSD. In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI’14).Google ScholarGoogle Scholar
  58. [58] Lee Sungjin, Liu Ming, Jun SangWoo, Xu Shuotao, Kim Jihong, and Arvind. 2016. Application-managed flash. In Proceedings of the 14th USENIX Symposium on File and Storage Technologies (FAST’16).Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. [59] Zhang Yiying, Arulraj Leo Prasath, Arpaci-Dusseau Andrea C., and Arpaci-Dusseau Remzi H.. 2012. De-indirection for flash-based SSDs with nameless writes. In Proceedings of the 10th USENIX Symposium on File and Storage Technologies (FAST’12).Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. [60] Bjørling Matias, Aghayev Abutalib, Holmberg Hans, Ramesh Aravind, Moal Damien Le, Ganger Greg R., and Amvrosiadis George. 2021. ZNS: Avoiding the block interface tax for flash-based SSDs. In Proceedings of the 2021 USENIX Annual Technical Conference (ATC’21).Google ScholarGoogle Scholar
  61. [61] Tai Amy, Smolyar Igor, Wei Michael, and Tsafrir Dan. 2021. Optimizing storage performance with calibrated interrupts. In Proceedings of the 15th USENIX Symposium on Operating Systems Design and Implementation (OSDI’21).Google ScholarGoogle Scholar
  62. [62] Kwon Miryeong, Gouk Donghyun, Lee Changrim, Kim Byounggeun, Hwang Jooyoung, and Jung Myoungsoo. 2020. DC-Store: Eliminating noisy neighbor containers using deterministic I/O performance and resource isolation. In Proceedings of the 18th USENIX Symposium on File and Storage Technologies (FAST’20).Google ScholarGoogle Scholar
  63. [63] Dean Jeffrey and Ghemawat Sanjay. 2004. MapReduce: Simplified data processing on large clusters. In Proceedings of the 6th USENIX Symposium on Operating Systems Design and Implementation (OSDI’04).Google ScholarGoogle Scholar
  64. [64] Zaharia Matei, Konwinski Andy, Joseph Anthony D., Katz Randy, and Stoica Ion. 2008. Improving MapReduce performance in heterogeneous environments. In Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI’08).Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. [65] Chang Fay W. and Gibson Garth A.. 1999. Automatic I/O hint generation through speculative execution. In Proceedings of the 3rd USENIX Symposium on Operating Systems Design and Implementation (OSDI’99).Google ScholarGoogle Scholar
  66. [66] Navasca Christian, Cai Cheng, Nguyen Khanh, Demsky Brian, Lu Shan, Kim Miryung, and Xu Guoqing Harry. 2019. Gerenuk: Thin computation over big native data using speculative program transformation. In Proceedings of the 27th ACM Symposium on Operating Systems Principles (SOSP’19).Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. [67] Venkataraman Shivaram, Panda Aurojit, Ananthanarayanan Ganesh, Franklin Michael J., and Stoica Ion. 2014. The power of choice in data-aware cluster scheduling. In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI’14).Google ScholarGoogle Scholar
  68. [68] Ananthanarayanan Ganesh, Kandula Srikanth, Greenberg Albert, Stoica Ion, Lu Yi, Saha Bikas, and Harris Edward. 2010. Reining in the outliers in Map-Reduce clusters using Mantri. In Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI’10).Google ScholarGoogle Scholar
  69. [69] Jung Sheng Hoei, Sampath K. Ratnam, Renato C. Padilla, Kishore K. Muccherla, Sivaganam Parthasarathy, and Peter Feeley. 2019. Redundant Array of Independent NAND for a Three-Dimensional Memory Array. Retrieved November 26, 2022 from https://patents.google.com/patent/US20170249211A1/en.Google ScholarGoogle Scholar
  70. [70] Maas Martin, Asanovic Krste, Harris Tim, and Kubiatowicz John. 2016. Taurus: A holistic language runtime system for coordinating distributed managed-language applications. In Proceedings of the 21st ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’16).Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. [71] Maas Martin, Harris Tim, Asanovic Krste, and Kubiatowicz John. 2015. Trash day: Coordinating garbage collection in distributed systems. In Proceedings of the 15th Workshop on Hot Topics in Operating Systems (HotOS XV).Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. [72] Li Nanqinqin, Hao Mingzhe, Li Huaicheng, Emami Tim, and Gunawi Haryadi S.. 2022. Fantastic SSD internals and how to learn and use them. In Proceedings of the 15th ACM International Conference on Systems and Storage (SYSTOR’22).Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. [73] Kim Joonsung, Park Pyeongsu, Ahn Jaehyung, Kim Jihun, Kim Jong, and Kim Jangwoo. 2018. SSDcheck: Timely and accurate prediction of irregular behaviors in black-box SSDs. In Proceedings of the 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-51).Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. [74] Storage Search. 2020. What’s the State of DWPD? Endurance in Industry Leading Enterprise SSDs. Retrieved November 26, 2022 from http://www.storagesearch.com/dwpd.html.Google ScholarGoogle Scholar
  75. [75] Western Digital. 2015. Speeds, Feeds and Needs—Understanding SSD Endurance. Retrieved November 26, 2022 from https://blog.westerndigital.com/ssd-endurance-speeds-feeds-needs/.Google ScholarGoogle Scholar
  76. [76] Wikipedia. 2021. Non-Volatile Random-Access Memory. Retrieved November 26, 2022 from https://en.wikipedia.org/wiki/Non-volatile_random-access_memory.Google ScholarGoogle Scholar
  77. [77] Intel. 2021. Intel Optane Persistent Memory (PMem). Retrieved November 26, 2022 from https://www.intel.com/content/www/us/en/architecture-and-technology/optane-dc-persistent-memory.html.Google ScholarGoogle Scholar
  78. [78] GitHub. 2021. IODA Github Homepage. Retrieved November 26, 2022 from https://github.com/huaicheng/IODA.Google ScholarGoogle Scholar
  79. [79] GitHub. 2018. FEMU Github Homepage. Retrieved November 26, 2022 from https://github.com/ucare-uchicago/femu.Google ScholarGoogle Scholar
  80. [80] Chang Yun-Sheng, Hsiao Yao, Lin Tzu-Chi, Tsao Che-Wei, Wu Chun-Feng, Chang Yuan-Hao, Ko Hsiang-Shang, and Chen Yu-Fang. 2020. Determinizing crash behavior with a verified snapshot-consistent flash translation layer. In Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI’20).Google ScholarGoogle Scholar
  81. [81] Li Huaicheng, Hao Mingzhe, Novakovic Stanko, Gogte Vaibhav, Govindan Sriram, Ports Dan R. K., Zhang Irene, Bianchini Ricardo, Gunawi Haryadi S., and Badam Anirudh. 2020. LeapIO: Efficient and portable virtual NVMe storage on ARM SoCs. In Proceedings of the 25th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’20).Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. [82] Pletka Roman, Koltsidas Ioannis, Ioannou Nikolas, Tomic Sasa, Papandreou Nikolaos, Parnell Thomas, Pozidis Haralampos, Fry Aaron, and Fisher Tim. 2018. Management of next-generation NAND flash to achieve enterprise-level endurance and latency targets. ACM Transactions on Storage 14, 4 (2018), Article 33, 25 pages.Google ScholarGoogle Scholar
  83. [83] LightNVM. [n.d.]. Open-Channel Solid State Drives. Retrieved November 26, 2022 from http://lightnvm.io/.Google ScholarGoogle Scholar
  84. [84] OpenSSD. [n.d.]. Cosmos+ OpenSSD Platform. 1023–1024. Retrieved December 5, 2022 from http://openssd-project.org/.Google ScholarGoogle Scholar
  85. [85] GitHub. [n.d.]. DFC Open Source Community. Retrieved November 26, 2022 from https://github.com/DFC-OpenSource.Google ScholarGoogle Scholar
  86. [86] GitLab. 2017. Emulab D430s. Retrieved November 26, 2022 from https://gitlab.flux.utah.edu/emulab/emulab-devel/wikis/Utah-Cluster/d430s.Google ScholarGoogle Scholar
  87. [87] Samsung. 2020. Ultra-Low Latency with Samsung Z-NAND SSD. Retrieved December 5, 2022 from https://semiconductor.samsung.com/resources/brochure/Ultra-Low%20Latency%20with%20Samsung%20Z-NAND%20SSD.pdf.Google ScholarGoogle Scholar
  88. [88] SNIA. 2016. SNIA I/O Trace Data Files. Retrieved November 26, 2022 from http://iotta.snia.org/traces.Google ScholarGoogle Scholar
  89. [89] GitHub. [n.d.]. Filebench. Retrieved November 26, 2022 from https://github.com/filebench/filebench/wiki.Google ScholarGoogle Scholar
  90. [90] Cooper Brian F., Silberstein Adam, Tam Erwin, Ramakrishnan Raghu, and Sears Russell. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM Symposium on Cloud Computing (SoCC’11).Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. [91] GitHub. 2020. Sysbench. Retrieved November 26, 2022 from https://github.com/akopytov/sysbench.Google ScholarGoogle Scholar
  92. [92] GitHub. 2020. HiBench: The Bigdata Micro Benchmark Suite. Retrieved November 26, 2022 from https://github.com/Intel-bigdata/HiBench.Google ScholarGoogle Scholar
  93. [93] Ananthanarayanan Ganesh, Ghodsi Ali, Shenker Scott, and Stoica Ion. 2013. Effective straggler mitigation: Attack of the clones. In Proceedings of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI’13).Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. [94] Kim Myungsuk, Park Jisung, Cho Geonhee, and Kim Yoona. 2020. Evanesco: Architectural support for efficient data sanitization in modern flash-based storage systems. In Proceedings of the 25th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’20).Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. [95] Hu Yang, Jiang Hong, Feng Dan, Tian Lei, Luo Hao, and Zhang Shuping. 2011. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. In Proceedings of the 25th International Conference on Supercomputing (ICS’11).Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. [96] Wikipedia. [n.d.]. Additive increase/multiplicative decrease. Retrieved November 26, 2022 from https://en.wikipedia.org/wiki/Additive_increase/multiplicative_decrease.Google ScholarGoogle Scholar
  97. [97] Grupp Laura M., Davis John D., and Swanson Steven. 2013. The Harey Tortoise: Managing heterogeneous write performance in SSDs. In Proceedings of the 2013 USENIX Annual Technical Conference (ATC’13).Google ScholarGoogle Scholar
  98. [98] Zuck Aviad, Guhring Philipp, Zhang Tao, Porter Donald E., and Tsafrir Dan. 2019. Why and how to increase SSD performance transparency. In Proceedings of the 17th Workshop on Hot Topics in Operating Systems (HotOS XVII).Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. [99] Grupp Laura M., Davis John D., and Swanson Steven. 2012. The bleak future of NAND flash memory. In Proceedings of the 10th USENIX Symposium on File and Storage Technologies (FAST’12).Google ScholarGoogle ScholarDigital LibraryDigital Library
  100. [100] LightNVM. [n.d.]. Open-Channel Solid State Drives Specification (Revision 2.0). Retrieved November 26, 2022 from http://lightnvm.io/docs/OCSSD-2_0-20180129.pdf.Google ScholarGoogle Scholar
  101. [101] Arpaci-Dusseau Andrea C. and Arpaci-Dusseau Remzi H.. 2001. Information and control in gray-box systems. In Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP’01).Google ScholarGoogle ScholarDigital LibraryDigital Library
  102. [102] Gunawi Haryadi S., Arpaci-Dusseau Andrea C., and Arpaci-Dusseau Remzi H.. 2004. Deploying safe user-level network services with icTCP. In Proceedings of the 6th USENIX Symposium on Operating Systems Design and Implementation (OSDI’04).Google ScholarGoogle Scholar

Index Terms

  1. Extending and Programming the NVMe I/O Determinism Interface for Flash Arrays

            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 19, Issue 1
              February 2023
              259 pages
              ISSN:1553-3077
              EISSN:1553-3093
              DOI:10.1145/3578369
              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 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: 11 January 2023
              • Online AM: 19 November 2022
              • Accepted: 25 July 2022
              • Revised: 18 May 2022
              • Received: 18 January 2022
              Published in tos Volume 19, 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