Modeling and Simulating Emerging Memory Technologies: A Tutorial

📅 2025-02-14
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Due to the scarcity of real non-volatile memory (NVM) devices, architectural exploration and hardware-software co-design are severely constrained. To address this, we propose and open-source a cycle-accurate, parameterized simulation toolchain tailored for emerging NVM technologies. Our toolchain is the first to systematically integrate four representative NVM use cases: hybrid main memory/cache hierarchies, in-memory computing, wear leveling, and hierarchical storage systems—enabling highly customizable, system-level modeling. Implemented in C++ and Python with modular interfaces, it balances simulation fidelity and usability. Experimental validation confirms its accuracy in reproducing key NVM characteristics—including latency, power consumption, and endurance—across diverse configurations. The toolchain has already enabled multiple cutting-edge co-design studies, effectively bridging the gap between architectural research and practical NVM deployment in the absence of widespread physical devices.

Technology Category

Application Category

📝 Abstract
Non-volatile Memory (NVM) technologies present a promising alternative to traditional volatile memories such as SRAM and DRAM. Due to the limited availability of real NVM devices, simulators play a crucial role in architectural exploration and hardware-software co-design. This tutorial presents a simulation toolchain through four detailed case studies, showcasing its applicability to various domains of system design, including hybrid main-memory and cache, compute-in-memory, and wear-leveling design. These case studies provide the reader with practical insights on customizing the toolchain for their specific research needs. The source code is open-sourced.
Problem

Research questions and friction points this paper is trying to address.

Modeling emerging Non-volatile Memory technologies
Simulating NVM for architectural exploration
Customizing toolchain for system design
Innovation

Methods, ideas, or system contributions that make the work stand out.

Non-volatile Memory simulation
Toolchain for system design
Open-source simulation toolchain
🔎 Similar Papers
No similar papers found.
Yun-Chih Chen
Yun-Chih Chen
TU Dortmund University, Germany
T
Tristan Seidl
TU Dortmund University, Germany
N
Nils Hölscher
TU Dortmund University, Germany
Christian Hakert
Christian Hakert
Technische Universität Dortmund
non-volatile memoryoperating systemshardware architectureshardware near programming
M
Minh Duy Truong
TU Dortmund University, Germany
Jian-Jia Chen
Jian-Jia Chen
TU Dortmund University and Lamarr Institute, Germany
real-time systemsembedded systemsregularizationresource-aware machine learningpower management
J
João Paulo C. de Lima
Technische Universität Dresden, ScaDS.AI, Germany
Asif Ali Khan
Asif Ali Khan
Researcher, TU Dresden
Emerging ArchitecturesNonvolatile MemoriesCompilersComputing-In-Memory
Jeronimo Castrillon
Jeronimo Castrillon
Professor, TU Dresden
CompilersHeterogeneous SystemsEmerging ComputingDomain-specific LanguagesParallel Computing
A
Ali Nezhadi
Karlsruhe Institute of Technology (KIT), Germany
Lokesh Siddhu
Lokesh Siddhu
Assistant Professor at CSE, IIT Guwahati
Non-Volatile Memory3D MemoryThermal DesignLow Power DesignComputer Architecture
Hassan Nassar
Hassan Nassar
KIT
Embedded SystemsHardware SecurityReconfigurable Hardware
Mahta Mayahinia
Mahta Mayahinia
Karlsruhe Institute of Technology
Reliable ComputingEmerging TechnologiesComputation in Memory
M
Mehdi Baradaran Tahoori
Karlsruhe Institute of Technology (KIT), Germany
Jörg Henkel
Jörg Henkel
Professor of Computer Science, Karlsruhe Institute of Technology
Embedded SystemsSystems-on-ChipDependable SystemsLow Power DesignThermal Design
N
Nils Wilbert
Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany
S
Stefan Wildermann
Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany
Jürgen Teich
Jürgen Teich
Full Professor, Computer Science, Friedrich-Alexander-Universität Erlangen-Nürnberg
embedded systemshardware/software co-designreconfigurable computing