Re-Designing Main Memory Subsystems With Emerging Monolithic 3D (M3D) Integration And Phase Change Memory Technologies