The technologies of Non-Volatile memory, i.e. the memory that can retain stored information when the power is lost, entered a new stage of development in recent years. Silicon prototypes (e.g. PC-RAM, STT-RAM, M-RAM) demonstrate performance that can be compared with Volatile DRAM, but at the same time they have higher capacity. This class of prototypes has byte-addressing feature, which allows using them as the main memory, while the non-volatility feature gives them new functionality. Revision of habitual architectures and use cases is required to fully utilize all capabilities of NV-RAM. In this project we investigate ways to provide efficient NV-RAM support for legacy and proprietary software.
One possible solution to provide persistent memory access for legacy software is a hypervisor-based approach. Thereby, neither system nor application software of a virtual machine has to be adapted as NV-RAM support. Persistence of data is transparently provided by the virtualisation layer. We develop hypervisor-based persistence as part of NV-Hypervisor, which builds a lightweight extension to the QEMU virtualisation platform. Our current prototype provides safety of VM from power outage. Moreover, NV-Hypervisor decreases VM recovery time significantly.
We evaluate our research on top of commodity server platform that is equipped with DRAM and NV-DIMMs. NV-DIMMs is a technology of persistent memory provided by Vking tech. NV-DIMMs are DRAM memory modules that are backed with flash memory of the same size and a capacitor. In case of a voltage drop the module uses the capacitor energy to mirror DRAM state to the flash memory. At recovery time, the state stored in flash memory is written back to volatile memory.
