Energy-Aware Data Movement In Non-Volatile Memory Hierarchies