Rapid NVM Simulation and Analysis on Single Bit Granularity Featuring Gem5 and NVMain


In emerging computing systems, non-volatile memory (NVM) is becoming an alternative to conventional main memory technologies such as DRAM. With its many advantages, it also yields disadvantages, such as shorter memory cell life times. Due to this shorter lived nature, wear-leveling on main memory becomes an important aspect of systems using NVM. Hardware methods are implemented such as iterative write schemes (repeatedly sense and write), which will check a memory cell before changing it. But hardware methods alone do not provide optimal wear-leveling, so they should be used together with software based methods, which try to evenly distribute wear over large memory regions. However, for software wear-leveling on NVM main memory, no standardized evaluation setup exists. Which leaves most of these approaches incomparable to each other. In this work we will leverage existing solutions for evaluation such as Gem5 and NVMain and extend them with our own methods, analysis setup and benchmark suite. We thoroughly explain our setup in this article and provide a tool for a comparable and easy to use evaluation setup for software based NVM main memory wear-leveling.

The 12th Non-Volatile Memory Systems and Applications Symposium