University of California, Davis
Hybrid on-chip memories that combine Non-Volatile Memories (NVMs) with SRAMs promise to mitigate the increasing leakage power of traditional on-chip SRAMs. The authors present HaVOC: a run-time memory manager that virtualizes the hybrid on-chip memory space and supports efficient sharing of distributed Scratch-Pad Memories (SPMs) and NVMs. HaVOC allows programmers and the compiler to partition the application's address space and generate data/code layouts considering virtualized hybrid-address spaces. They define a data volatility metric used by their hybrid-memory-aware compilation flow to generate memory allocation policies that are enforced at run-time by a filter-inspired dynamic memory algorithm.