학술논문

Achieving DRAM-Like PCM by Trading Off Capacity for Latency
Document Type
Periodical
Author
Source
IEEE Transactions on Computers IEEE Trans. Comput. Computers, IEEE Transactions on. 73(4):1180-1189 Apr, 2024
Subject
Computing and Processing
Phase change materials
Random access memory
Nonvolatile memory
Resistance
Voltage
Sensors
Costs
Phase change memory
non volatile main memory
emerging technology
storage class memory
error correcting code
Language
ISSN
0018-9340
1557-9956
2326-3814
Abstract
Phase Change Memory (PCM) is considered one of the most promising scalable non-volatile main memory alternatives to DRAM. It provides $\sim$∼4x-5x cost per bit advantage over DRAM, thus enabling cost-effective dense main memory solution. However, PCM accesses are slower than DRAM, which leads to significantly poorer overall system performance (upto 80% higher execution time for memory intensive applications based on our analysis). To use PCM as a viable DRAM replacement, the performance gap between the two memory technologies has to be bridged, primarily by improving PCM read latency. In this work we propose an optimized PCM architecture, PCM-Duplicate, that trades off capacity to improve PCM read latency. In PCM-Duplicate, every row in the PCM subarray has a duplicate row. During memory read, both the rows are activated simultaneously. As a result, the bitline discharges through two PCM cells. This reduces the discharge time significantly, bringing down the overall sensing latency by $ \gt $>3x compared to baseline PCM. While the overall PCM density benefit over DRAM halves, it still provides 2x more capacity than DRAM while having almost comparable read latency. PCM-Duplicate can either be used as low-cost DRAM main memory alternative or it can be used to replace the DRAM-based last level cache used in today's hybrid main memory systems for the slower PCM memories. Both these system options not only improve main memory capacity but also allow main memory based persistence by replacing DRAM and making the entire main memory non-volatile.