  Hybrid memory systems, comprised of emerging non-volatile memory (NVM) and
DRAM, have been proposed to address the growing memory demand of applications.
Emerging NVM technologies, such as phase-change memories (PCM), memristor, and
3D XPoint, have higher capacity density, minimal static power consumption and
lower cost per GB. However, NVM has longer access latency and limited write
endurance as opposed to DRAM. The different characteristics of two memory
classes point towards the design of hybrid memory systems containing multiple
classes of main memory.
  In the iterative and incremental development of new architectures, the
timeliness of simulation completion is critical to project progression. Hence,
a highly efficient simulation method is needed to evaluate the performance of
different hybrid memory system designs. Design exploration for hybrid memory
systems is challenging, because it requires emulation of the full system stack,
including the OS, memory controller, and interconnect. Moreover, benchmark
applications for memory performance test typically have much larger working
sets, thus taking even longer simulation warm-up period.
  In this paper, we propose a FPGA-based hybrid memory system emulation
platform. We target at the mobile computing system, which is sensitive to
energy consumption and is likely to adopt NVM for its power efficiency. Here,
because the focus of our platform is on the design of the hybrid memory system,
we leverage the on-board hard IP ARM processors to both improve simulation
performance while improving accuracy of the results. Thus, users can implement
their data placement/migration policies with the FPGA logic elements and
evaluate new designs quickly and effectively. Results show that our emulation
platform provides a speedup of 9280x in simulation time compared to the
software counterpart Gem5.
