Objected-Oriented Flash based SSD simulator
Overview
NAND Flash memory-based Solid-State Disks (SSDs) are becoming popular as a storage media in domains ranging from mobile laptops to enterprise-scale storage systems due to a number of benefits (e.g., lighter weights, faster access times, lower power consumption, higher resistance to vibrations) they offer over the conventional Hard Disk Drives (HDDs). While a number of well-regarded simulation environments exist for HDDs, it does not yet hold true for SSDs. This is due to SSDs having been in the storage market for relatively shorter time as well as the lack of information (hardware configuration and software methods) about the state-of-the-art SSDs that are publicly available. We describe the design and implementation of FlashSim, a simulator aimed at filling this void in performance evaluation of emerging storage systems that employ SSDs. FlashSim is an event-driven simulator that follows the object oriented programming paradigm for modularity.
UML diagram
The simulator was written as a single-threaded program in C++ for simplicity. C++ could provide a comprehensible object-oriented scheme where each class instance represented a hardware or software component. The UML diagrams below contain all C++ classes used by the SSD simulator.
[20091104] You can download new UML diagram from
Download the SSD simulator
The current version of the simulator is a single-threaded event-driven program in C++. It simulates multiple planes, dies, and packages for parallelism effects. The parts for FTL (Flash Translation Layer) including address translation layer, GC, and wear-leveler are left to implement for future work. This project is a work in progress. Also anyone who is interested in using this simulator can participate in implementing the simulator. We welcome and encourage your contribution and feedbacks.
[20091104] We have released new version of simulator with bug patches. You may download from:
Contributors
Brendan Tauras
Youngjae Kim (Ph.D Student)
Aayush Gupta (M.S Student)
Questions or comments
In case you have any doubts or questions, please write to: btauras@gmail.com or youkim@cse.psu.edu
