  The current mobile applications have rapidly growing memory footprints,
posing a great challenge for memory system design. Insufficient DRAM main
memory will incur frequent data swaps between memory and storage, a process
that hurts performance, consumes energy and deteriorates the write endurance of
typical flash storage devices. Alternately, a larger DRAM has higher leakage
power and drains the battery faster. Further, DRAM scaling trends make further
growth of DRAMin the mobile space prohibitive due to cost. Emerging
non-volatile memory (NVM) has the potential to alleviate these issues due to
its higher capacity per cost than DRAM and mini-mal static power. Recently, a
wide spectrum of NVM technologies, including phase-change memories (PCM),
memristor, and 3D XPoint have emerged. Despite the mentioned advantages, NVM
has longer access latency compared to DRAMand NVM writes can incur higher
latencies and wear costs. Therefore integration of these new memory
technologies in the memory hierarchy requires a fundamental rearchitect-ing of
traditional system designs. In this work, we propose a hardware-accelerated
memory manager (HMMU) that addresses both types of memory in a flat space
address space. We design a set of data placement and data migration policies
within this memory manager, such that we may exploit the advantages of each
memory technology. By augmenting the system with this HMMU, we reduce the
overall memory latency while also reducing writes to the NVM. Experimental
results show that our design achieves a 39% reduction in energy consumption
with only a 12% performance degradation versus an all-DRAM baseline that is
likely untenable in the future.
