Abstract
With the ever-increasing demand of supercomputing and hyperscale data centers for high-performance and reliable storage systems, solid-state drives (SSDs) have emerged as a dominant technology. Unlike traditional hard disk drives, SSDs utilize flash memory to achieve significantly faster data access and higher bandwidth. These advantages translate to improved system responsiveness, faster boot times, and enhanced application performance across various compute and data-intensive workloads. However, the intricate architecture and dynamic nature of modern SSDs pose significant challenges for designers. Hardware advancements, such as the adoption of 3D NAND flash memory and complex controller algorithms, necessitate rigorous testing and optimization before real-world deployment. This is where SSD simulators and emulators become indispensable tools in the development cycle. This survey delves into the critical role of SSD simulators and emulators, highlighting their contributions to accelerated innovation, performance optimization, predictive analysis, and future-proofing capabilities. Through a comprehensive evaluation of these tools, this work aims to provide valuable insights for researchers and developers, ultimately leading to the continued advancement of efficient, reliable, and future-proof SSD solutions.




Similar content being viewed by others
Data availability
No datasets were generated or analyzed during the current study.
References
Cho S, Kim B, Cho H, Seo G, Mutlu O, Kim M, Park J (2024) Aero: Adaptive erase operation for improving lifetime and performance of modern nand flash-based ssds. In: Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3, pp. 101–118
Tavakkol A, Gómez-Luna J, Sadrosadati M, Ghose S, Mutlu O (2018) \(\{\)MQSim\(\}\): A framework for enabling realistic studies of modern \(\{\)Multi-Queue\(\}\)\(\{\)SSD\(\}\) devices. In: 16th USENIX Conference on File and Storage Technologies (FAST 18), pp. 49–66
Mativenga R, Hamandawana P, Kwon SJ, Chung T-S (2018) Eddaps: An efficient data distribution approach for pcm-based ssd. In: 2018 IEEE International Conference on Cluster Computing (CLUSTER), pp. 158–159. IEEE
Mativenga R, Hamandawana P, Kwon SJ, Chung T-S (2019) Extends: efficient data placement and management for next generation pcm-based storage systems. IEEE Access 7:148718–148730
Cai Y, Ghose S, Haratsch EF, Luo Y, Mutlu O (2017) Error characterization, mitigation, and recovery in flash-memory-based solid-state drives. Proc IEEE 105(9):1666–1704
Chang Y-H, Lin J-H, Hsieh J-W, Kuo T-W (2010) A strategy to emulate nor flash with nand flash. ACM Trans Storage (TOS) 6(2):1–23
Bez R, Camerlenghi E, Modelli A, Visconti A (2003) Introduction to flash memory. Proc IEEE 91(4):489–502
Alsalibi AI, Mittal S, Al-Betar MA, Sumari PB (2018) A survey of techniques for architecting slc/mlc/tlc hybrid flash memory-based ssds. Concurr Comput Pract Exp 30(13):4420
Cai Y, Ghose S, Luo Y, Mai K, Mutlu O, Haratsch EF (2017) Vulnerabilities in mlc nand flash memory programming: Experimental analysis, exploits, and mitigation techniques. In: 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA), pp. 49–60. IEEE
Cai Y, Luo Y, Haratsch EF, Mai K, Mutlu O (2015) Data retention in mlc nand flash memory: Characterization, optimization, and recovery. In: 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA), pp. 551–563. IEEE
Jin Y, Lee B (2019) A comprehensive survey of issues in solid state drives. Adv Comput 114:1–69
Lim S.-P, Lee S.-W, Moon B (2010) Faster ftl for enterprise-class flash memory ssds. In: 2010 International Workshop on Storage Network Architecture and Parallel I/Os, pp. 3–12. IEEE
Nadig R, Sadrosadati M, Mao H, Ghiasi NM, Tavakkol A, Park J, Sarbazi-Azad H, Luna JG, Mutlu O (2023) Venice: Improving solid-state drive parallelism at low cost via conflict-free accesses. In: Proceedings of the 50th Annual International Symposium on Computer Architecture, pp. 1–16
Liang S (2010) Algorithms designs and implementations for page allocation in ssd firmware and ssd caching in storage systems. Master’s thesis, The Ohio State University
Shin J-Y, Xia Z-L, Xu N-Y, Gao R, Cai X-F, Maeng S, Hsu F-H (2009) Ftl design exploration in reconfigurable high-performance ssd for server applications. In: Proceedings of the 23rd International Conference on Supercomputing, pp. 338–349
Gillingham P, Chinn D, Choi E, Kim J-K, Macdonald D, Oh H, Pyeon H-B, Schuetz R (2013) 800 mb/s ddr nand flash memory multi-chip package with source-synchronous interface for point-to-point ring topology. IEEE Access 1:811–816
Tavakkol A, Arjomand M, Sarbazi-Azad H (2012) Network-on-ssd: a scalable and high-performance communication design paradigm for ssds. IEEE Comput Archit Lett 12(1):5–8
Mielke N, Belgal HP, Fazio A, Meng Q, Righos N (2006) Recovery effects in the distributed cycling of flash memories. In: 2006 IEEE International Reliability Physics Symposium Proceedings, pp. 29–35. IEEE
Modelli A, Visconti A, Bez R (2004) Advanced flash memory reliability. In: 2004 International Conference on Integrated Circuit Design and Technology (IEEE Cat. No. 04EX866), pp. 211–218. IEEE
Agrawal N (2008) Design tradeoffs for ssd performance. In: USENIX ATC
Cai Y, Haratsch EF, Mutlu O, Mai K (2013) Threshold voltage distribution in mlc nand flash memory: Characterization, analysis, and modeling. In: 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 1285–1290. IEEE
Park J, Azizi R, Oliveira GF, Sadrosadati M, Nadig R, Novo D, Gómez-Luna J, Kim M, Mutlu O (2022) Flash-cosmos: In-flash bulk bitwise operations using inherent computation capability of nand flash memory. In: 2022 55th IEEE/ACM International Symposium on Microarchitecture (MICRO), pp. 937–955. IEEE
Cai Y, Haratsch EF, Mutlu O, Mai K (2012) Error patterns in mlc nand flash memory: Measurement, characterization, and analysis. In: 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 521–526. IEEE
Zuck A, Toledo S, Sotnikov D, Harnik D (2014) Compression and \(\{\)SSDs\(\}\): Where and how? In: 2nd Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW 14)
Li J, Zhao K, Zhang X, Ma J, Zhao M, Zhang T (2015) How much can data compressibility help to improve \(\{\)NAND\(\}\) flash memory lifetime? In: 13th USENIX Conference on File and Storage Technologies (FAST 15), pp. 227–240
Chung T-S, Park D-J, Park S, Lee D-H, Lee S-W, Song H-J (2009) A survey of flash translation layer. J Syst Architect 55(5–6):332–343
Gupta A, Kim Y, Urgaonkar B (2009) Dftl: a flash translation layer employing demand-based selective caching of page-level address mappings. Acm Sigplan Notices 44(3):229–240
Chang L-P, Kuo T-W, Lo S-W (2004) Real-time garbage collection for flash-memory storage systems of real-time embedded systems. ACM Trans Embed Comput Syst (TECS) 3(4):837–863
Yang M-C, Chang Y-M, Tsao C-W, Huang P-C, Chang Y-H, Kuo T-W (2014) Garbage collection and wear leveling for flash memory: Past and future. In: 2014 International Conference on Smart Computing, pp. 66–73. IEEE
Gal E, Toledo S (2005) Algorithms and data structures for flash memories. ACM Comput Surveys (CSUR) 37(2):138–163
Chang L-P (2007) On efficient wear leveling for large-scale flash-memory storage systems. In: Proceedings of the 2007 ACM Symposium on Applied Computing, pp. 1126–1130
Micheloni R, Crippa L, Marelli A, Silvagni A (2010) Nand ddr interface. Inside NAND Flash Memories, 161–196
Zhao K, Zhao W, Sun H, Zhang X, Zheng N, Zhang T (2013) \(\{\)LDPC-in-SSD\(\}\): Making advanced error correction codes work effectively in solid state drives. In: 11th USENIX Conference on File and Storage Technologies (FAST 13), pp. 243–256
Tanakamaru S, Yanagihara Y, Takeuchi K (2013) Error-prediction ldpc and error-recovery schemes for highly reliable solid-state drives (ssds). IEEE J Solid-State Circuits 48(11):2920–2933
Park J, Kim M, Chun M, Orosa L, Kim J, Mutlu O (2021) Reducing solid-state drive read latency by optimizing read-retry. In: Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 702–716
Cai Y, Ghose S, Haratsch EF, Luo Y, Mutlu O (2018) Reliability issues in flash-memory-based solid-state drives: Experimental analysis, mitigation, recovery. Inside Solid State Drives (SSDs), 233–341
Cha J, Kang S (2013) Data randomization scheme for endurance enhancement and interference mitigation of multilevel flash memory devices. ETRI J 35(1):166–169
Rollins D, et al. (2011) A comparison of client and enterprise ssd data path protection. Micron Technology, Inc 2, 1–3
Peterson WW, Brown DT (1961) Cyclic codes for error detection. Proc IRE 49(1):228–235
Cai Y, Mutlu O, Haratsch EF, Mai K (2013) Program interference in mlc nand flash memory: Characterization, modeling, and mitigation. In: 2013 IEEE 31st International Conference on Computer Design (ICCD), pp. 123–130. IEEE
Cai Y, Yalcin G, Mutlu O, Haratsch EF, Unsal O, Cristal A, Mai K (2014) Neighbor-cell assisted error correction for mlc nand flash memories. ACM SIGMETRICS Perform Eval Rev 42(1):491–504
Kim C, Ryu J, Lee T, Kim H, Lim J, Jeong J, Seo S, Jeon H, Kim B, Lee I et al (2012) A 21 nm high performance 64 gb mlc nand flash memory with 400 mb/s asynchronous toggle ddr interface. IEEE J Solid-State Circuits 47(4):981–989
Dirik C, Jacob B (2009) The performance of pc solid-state disks (ssds) as a function of bandwidth, concurrency, device architecture, and system organization. ACM SIGARCH Comput Archit News 37(3):279–289
Mielke NR, Frickey RE, Kalastirsky I, Quan M, Ustinov D, Vasudevan VJ (2017) Reliability of solid-state drives based on nand flash memory. Proc IEEE 105(9):1725–1750
Grupp LM, Davis JD, Swanson S (2012) The bleak future of nand flash memory. In: FAST, vol. 7, pp. 10–2
Mohan V, Siddiqua T, Gurumurthi S, Stan MR (2010) How i learned to stop worrying and love flash endurance. In: 2nd Workshop on Hot Topics in Storage and File Systems (HotStorage 10)
Boboila S, Desnoyers P (2010) Write endurance in flash drives: Measurements and analysis. In: FAST, pp. 115–128
Jimenez X, Novo D, Ienne P (2014) Wear unleveling: Improving \(\{\)NAND\(\}\) flash lifetime by balancing page endurance. In: 12th USENIX Conference on File and Storage Technologies (FAST 14), pp. 47–59
Margaglia F, Brinkmann A (2015) Improving mlc flash performance and endurance with extended p/e cycles. In: 2015 31st Symposium on Mass Storage Systems and Technologies (MSST), pp. 1–12. IEEE
Gouk D, Kwon M, Zhang J, Koh S, Choi W, Kim NS, Kandemir M, Jung M (2018) Amber: Enabling precise full-system simulation with detailed modeling of all ssd resources. In: 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), pp. 469–481. IEEE
Lee D, Hong D, Choi W, Kim J (2022) Mqsim-e: an enterprise ssd simulator. IEEE Comput Archit Lett 21(1):13–16
Jung M, Zhang J, Abulila A, Kwon M, Shahidi N, Shalf J, Kim NS, Kandemir M (2017) Simplessd: modeling solid state drives for holistic system simulation. IEEE Comput Archit Lett 17(1):37–41
Yoo J, Won Y, Hwang J, Kang S, Choi J, Yoon S, Cha J (2013) Vssim: Virtual machine based ssd simulator. In: 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST), pp. 1–14. IEEE
Performance impact and interplay of ssd parallelism through advanced commands, allocation strategy and data granularity. In: Proceedings of the International Conference on Supercomputing, pp. 96–107 (2011)
Kim Y, Tauras B, Gupta A, Urgaonkar B (2009) Flashsim: a simulator for nand flash-based solid-state drives. In: 2009 First International Conference on Advances in System Simulation, pp. 125–131. IEEE
He J, Kannan S, Arpaci-Dusseau AC, Arpaci-Dusseau RH (2017) The unwritten contract of solid state drives. In: Proceedings of the Twelfth European Conference on Computer Systems, pp. 127–144
Jung M, Choi W, Gao S, Wilson EH III, Donofrio D, Shalf J, Kandemir MT (2016) Nandflashsim: High-fidelity, microarchitecture-aware nand flash memory simulation. ACM Trans Storage (TOS) 12(2):1–32
Malladi KT, Chang M-T, Niu D, Zheng H (2017) Flashstoragesim: performance podeling for ssd architectures. In: 2017 International Conference on Networking, Architecture, and Storage (NAS), pp. 1–2. IEEE
Dayan N, Svendsen MK, Bjorling M, Bonnet P, Bouganim L (2014) Eagletree: exploring the design space of ssd-based algorithms. arXiv preprint arXiv:1401.6360
Ahn H, Lee Y, Lee K-H (2015) Srsim: a simulator for ssd-based raid. In: International Conference: Beyond Databases, Architectures and Structures, pp. 610–620. Springer
Zuolo L, Zambelli C, Micheloni R, Indaco M, Di Carlo S, Prinetto P, Bertozzi D, Olivo P (2015) Ssdexplorer: A virtual platform for performance/reliability-oriented fine-grained design space exploration of solid state drives. IEEE Trans Comput Aided Des Integr Circuits Syst 34(10):1627–1638
Desnoyers P (2012) Analytic modeling of ssd write performance. In: Proceedings of the 5th Annual International Systems and Storage Conference, pp. 1–10
Jiao Z, Bhimani J, Kim BS (2022) Wear leveling in ssds considered harmful. In: Proceedings of the 14th ACM Workshop on Hot Topics in Storage and File Systems, pp. 72–78
Prabhakaran V, Wobber T (2009) Ssd extension for disksim simulation environment. Microsoft Reseach
Bucy JS, Ganger GR, et al (2003) The disksim simulation environment version 3.0 reference manual. In: School of Computer Science, Carnegie Mellon University
Poremba M, Xie Y (2012) Nvmain: an architectural-level main memory simulator for emerging non-volatile memories. In: 2012 IEEE Computer Society Annual Symposium on VLSI, pp. 392–397. IEEE
Choi W, Zhang J, Gao S, Lee J, Jung M, Kandemir M (2016) An in-depth study of next generation interface for emerging non-volatile memories. In: 2016 5th Non-Volatile Memory Systems and Applications Symposium (NVMSA), pp. 1–6. IEEE
Kim S-H, Shim J, Lee E, Jeong S, Kang I, Kim J-S (2023) \(\{\)NVMeVirt\(\}\): A versatile software-defined virtual \(\{\)NVMe\(\}\) device. In: 21st USENIX Conference on File and Storage Technologies (FAST 23), pp. 379–394
Song I, Oh M, Kim BSJ, Yoo S, Lee J, Choi J (2023) Confzns: A novel emulator for exploring design space of zns ssds. In: Proceedings of the 16th ACM International Conference on Systems and Storage, pp. 71–82
Han K, Gwak H, Shin D, Hwang J (2021) Zns+: Advanced zoned namespace interface for supporting in-storage zone compaction. In: 15th \(\{\)USENIX\(\}\) Symposium on Operating Systems Design and Implementation (\(\{\)OSDI\(\}\) 21), pp. 147–162
Li H, Hao M, Tong MH, Sundararaman S, Bjørling M, Gunawi HS (2018) The \(\{\)CASE\(\}\) of \(\{\)FEMU\(\}\): Cheap, accurate, scalable and extensible flash emulator. In: 16th USENIX Conference on File and Storage Technologies (FAST 18), pp. 83–90
Malladi KT, Awasthi M, Zheng H (2016) Flexdrive: a framework to explore nvme storage solutions. In: 2016 IEEE 18th International Conference on High Performance Computing and Communications; IEEE 14th International Conference on Smart City; IEEE 2nd International Conference on Data Science and Systems (HPCC/SmartCity/DSS), pp. 1115–1122. IEEE
Yu L, Lu Y, Mandava M, Richter E, Mailthody VS, Min SW, Hwu W-m, Chen D (2023) Fssd: Fpga-based emulator for ssds. In: 2023 33rd International Conference on Field-Programmable Logic and Applications (FPL), pp. 101–108. IEEE
Wang S, Cao J, Murillo DV, Shi Y, Zheng M (2016) Emulating realistic flash device errors with high fidelity. In: 2016 IEEE International Conference on Networking, Architecture and Storage (NAS), pp. 1–2. IEEE
Kwak J, Lee S, Park K, Jeong J, Song YH (2020) Cosmos+ openssd: rapid prototype for flash storage systems. ACM Trans Storage (TOS) 16(3):1–35
Jung T, Lee Y, Shin I (2014) Openssd platform simulator to reduce ssd firmware test time. Life Science Journal 11(7)
Software S, SW STAR Lab. project. A.L.: The OpenSSD Project Platforms. http://www.openssd-project.org/platforms/ Accessed 2024-07-29
Jung M (2020) \(\{\)OpenExpress\(\}\): Fully hardware automated open research framework for future fast \(\{\)NVMe\(\}\) devices. In: 2020 USENIX Annual Technical Conference (USENIX ATC 20), pp. 649–656
Lee S, Park J, Kim J (2012) Flashbench: a workbench for a rapid development of flash-based storage devices. In: 2012 23rd IEEE International Symposium on Rapid System Prototyping (RSP), pp. 163–169. IEEE
Jeong J, Hahn SS, Lee S, Kim J (2014) Lifetime improvement of \(\{\)NAND\(\}\) flash-based storage systems using dynamic program and erase scaling. In: 12th USENIX Conference on File and Storage Technologies (FAST 14), pp. 61–74
Kim M, Park J, Cho G, Kim Y, Orosa L, Mutlu O, Kim J (2020) Evanesco: architectural support for efficient data sanitization in modern flash-based storage systems. In: Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 1311–1326
Park J, Lee S, Kim J (2017) Dac: Dedup-assisted compression scheme for improving lifetime of nand storage systems. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017, pp. 1249–1252. IEEE
Jeong J, Hahn SS, Lee S, Kim J (2013) Improving \(\{\)NAND\(\}\) endurance by dynamic program and erase scaling. In: 5th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 13)
Jeong J, Song Y, Hahn SS, Lee S, Kim J (2016) Dynamic erase voltage and time scaling for extending lifetime of nand flash-based ssds. IEEE Trans Comput 66(4):616–630
Lee S, Kim J, Mithal A (2014) Refactored design of i/o architecture for flash storage. IEEE Comput Archit Lett 14(1):70–74
Ha K, Jeong J, Kim J (2015) An integrated approach for managing read disturbs in high-density nand flash memory. IEEE Trans Comput Aided Des Integr Circuits Syst 35(7):1079–1091
Shim Y, Kim M, Chun M, Park J, Kim Y, Kim J (2019) Exploiting process similarity of 3d flash memory for high performance ssds. In: Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture, pp. 211–223
Kim T, Lee S, Park J, Kim J (2016) Efficient lifetime management of ssd-based raids using dedup-assisted partial stripe writes. In: 2016 5th Non-Volatile Memory Systems and Applications Symposium (NVMSA), pp. 1–6. IEEE
Kuppan Thirumalai G (2023) Future developments and innovations in ssd firmware. A Beginner’s Guide to SSD Firmware: Designing. Optimizing, and Maintaining SSD Firmware. Apress, Berkeley, CA, pp 187–189
Xue J, Chen R, Shao Z (2022) Softssd: Software-defined ssd development platform for rapid flash firmware prototyping. In: 2022 IEEE 40th International Conference on Computer Design (ICCD), pp. 602–609. IEEE
Xue J, Chen R, Wang T, Shao Z (2023) Softssd: enabling rapid flash firmware prototyping for solid-state drives. Frontiers Inf Technol Electron Eng 24(5):659–674
Singhai A, Okin KA (2016) Programmable, High Performance Solid State Drive Controller Architecture. US Patent US20160162202A1, June 2016
Liao J-J, Wu C-H (2012) A multi-controller architecture for high-performance solid-state drives. ACM SIGAPP Appl Comput Rev 12(4):58–66
Zhang W, Li M (2014) Intelligent DMA (Direct Memory Access) Controller for Solid-state Hard Disk Controller. CN Patent CN102279825B, November 2014
Lu Y, Yu L, Chen D (2023) Ssde: Fpga-based ssd express emulation framework. In: 2023 IEEE/ACM International Conference on Computer Aided Design (ICCAD), pp. 1–9. IEEE
Park J, Eom H (2024) Fdpvirt: Investigating the behavior of fdp ssds. In: Proceedings of the 25th International Middleware Conference: Demos, Posters and Doctoral Symposium, pp. 25–26
Acknowledgements
This research was supported by the Brain Pool program funded by the Ministry of Science and ICT through the National Research Foundation of Korea (RS-2023-00284115).
Author information
Authors and Affiliations
Contributions
All authors wrote and reviewed the manuscript.
Corresponding author
Ethics declarations
Conflict of interest
The authors declare no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
He is now a Visiting Research Professor at Chosun University under the Brain Pool (BP) Program of the National Research Foundation (NRF) of Korea.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Gheibi-Fetrat, A., Serajeh Hassani, F., Mohammadi-Lak, M. et al. A survey of SSD simulators and emulators. J Supercomput 81, 592 (2025). https://doi.org/10.1007/s11227-025-07078-0
Accepted:
Published:
DOI: https://doi.org/10.1007/s11227-025-07078-0