Architecting high-performance, efficient, and scalable heterogeneous memory systems with 3D-DRAM