Enhancing Phase-Change Memory via DRAM Cache
Brian Pak, Lincoln Roop
Goals
Approach
• Increase the lifetime of Phase-Change Memory by
reducing the number of writes to PCM
Ø PCM cell write/erase endurance: ~107
Ø Limits PCM from being sole main memory
• Guaranteed lifetime for the worst case
(e.g. wear-out attacks)
Ø Protects PCM lifetime with minimal performance
degradation
• Introduce an extra level of indirection: DRAM Cache
• More robust and wear-out-resistant cache
replacement policy
Ø Access Density Decay (ADD) Policy
o Keep track of the number of accesses per
block (A) – Access Density
§ A = (α x # Writes) + (β x # Reads),
where α = weightwrite, β = weightread
o Decay access density by half for every
N instructions
PCM suffers wear-out problem
with multiple writes to the same
location
o For eviction, a block with the least access
density is evicted to PCM
• Employ wear-leveling to evenly distribute the writes
across PCM (when a block is evicted from the cache)
With DRAM write-back cache,
unnecessary writes to PCM
can be avoided
Experiments and Results
• Experiment I
Ø PCM Lifetime comparison
• Experiment II
Ø ADD Parameter (decay cycle) comparison
o PCM Only
o PCM + DRAM Cache (LRU)
o PCM + DRAM Cache (ADD)
o Decay Cycle: 200K, 500K, 1M, 2M instructions
• Result
• Result
Effect of Different Decay Cycle
2500
Comprison between ADD and LRU
1.2
1
0.8
0.6
DRAM Cache 1MB (ADD)
# Writes to PCM
# Writes to PCM Ratio to DRAM (LRU)
2000
1500
Shifting Attack (DRAM ADD 1MB)
1000
DRAM Cache 1MB (LRU)
ALL PCM
0.4
500
0.2
0
DRAM Cache 1MB (ADD)
DRAM Cache 1MB (LRU)
ALL PCM
0
403.gcc
1
1
1
Attack and Useful
1.00254399
1
0
Shifting Attack
0.059665871
1
3468.854893
462.libquantum
1
1
43.21399062
200K
500K
1M
Decay Cycle (# insns)
2M
10M