Non-Volatile Memory Trends: Towards Improving Density and Energy Profiles across the System Stack