Open Source Licence Memory Simulator

A cycle-accurate and hardware-validated NAND flash simulation model (open source project). NANDFlashSim is used to build various NAND Flash-based storage systems such as Flash-based SSD, eMMC, CF memory card, mobile NAND flash mediums etc. We have been evaluated a thousand thousand NANDFlashSim instances on NERSC Hopper and Carver supercomputers. You can download source code from code.

System C based DRAM simulation model, which leverages DRAMSim's memory transaction level interfaces. This model enables DRAMSim2 to be integrated with comprehensive pin-level system simulation models like Tensilica's Xtensa. You can download the source code from code.

Solid State Drive Simulator/Emulator

  • FLASHWOOD -- Comprehensive Large-scale NVRAM Storage Simulation Framework

In this simulation framework, NVRAM software stack on multi-channel architecture are fully implemented, and diverse parameters/algorithms are reconfigurable (e.g., buffer cache, NVMHCIs, flash drivers, flash translation layers, physical layouts). Hardware components are emulated in a cycle-level by multiple NANDFlashSim instances, DRAM simulation instances, and virtual channel and controller modules. Flashwood can also evaluate dynamic energy and power consumption by catching all the different components' activities. The code for the flash software in the framework and device simulation code are around two hundreds thousand of lines and ten thousand of lines, respectively.

  • ASURA -- SSD emulation kernel driver

The SSD emulation kernel driver provides a logical volume to native file systems (e.g., Windows NTFS, EXT4) as a pseudo SSD device. Virtual channels and cycle-level NAND flash simulation instances of Asura model the actual runtime in cycle accurate by hooking kernel I/O dispatch routines. To enable large-scale SSD emulation, the driver only stores metadata of kernel modules, data of flash firmware and device simulation models -- omits actual data contents. In addition, Asura can be initiated as multiple driver instances in order to emulate an SSD RAID system. Asura has been implemented by a filter driver (WDM) for Windows (NTFS) and loadable kernel module for Linux (EXT4).

Simulators in Preparation for Open Licencing

We are preparing open licence simulation models for i) PCIe network and ii) NVM power model. It will include source code for simulation framework as well as a detailed manual.

  • PCIeNetSim -- PCIe network simulation model
  • DynamicFlash -- Power and energy model for flash memory