A Survey Of Architectural Approaches for Managing Embedded DRAM and Non-Volatile On-Chip Caches | Synapse