Non-volatile memories are very promising candidates to be employed as next-generation non-volatile main memory (NVMM), because of their advantages over traditional DRAM main memory such as non-volatility, high density, and low leakage power. However, NVMM suffers a new security vulnerability because the nature of non-volatility allows the data to be retained a long time after power is off. An attacker with physical access to the system can readily scan the main memory content and extract all valuable information from the main memory. To protect the data of the NVMM, the whole memory should be provided with a security mechanism with comparable security level to DRAM. Take mobile devices (e.g. smart phone or laptop) for example, once attackers have physical access to the NVMM will they be able to read out the sensitive information. Therefore, memory encryption is required only when the device is shut down or put into sleep/screenlock mode. One-time encryption, encrypting the whole/most part of the memory only when it is necessary, is an efficient solution in such mobile scenarios. However, one-time memory encryption approach faces two challenges: First, it should be fast enough to maintain a low vulnerability window when locked and provide instant response when unlocked. Second, it should be energy-efficient considering the limited battery life.