SAPPER:Statistically-Aware Probabilistic Power-Efficient Refresh
Jamie Liu Ben Jaiyen Richard Veras Onur Mutlu
October 27, 2011
Background Related Work SAPPER Evaluation Conclusion
DRAM Overview
DRAM is the dominant main memory technology due to high density andlow cost
Stores data as charge on a capacitor
Charge leakage causes data to be lost
DRAM cells must be periodically refreshed (charge on cells restored) toavoid data loss
Retention time varies between DRAM cells
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 2 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Key Challenges
Refreshes interfere with memory accesses, reducing performance
Refreshes consume energy
Higher DRAM density means greater probability of a cell failure, withconsequences for device yield
Cost sensitivity of DRAM makes modifying DRAM devices unattractive
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 3 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Status Quo
Memory controller issues auto-refresh commands at a fixed time interval
Refreshing is managed by the DRAM
Control on DRAM must be very simple for cost reasons
Every row is refreshed even if not strictly necessary
No support for variability in retention time — all cells refreshed at theminimum retention time across the entire device
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 4 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Smart Refresh
Count accesses as refreshesM. Ghosh and H.-H. S. Lee, “Smart Refresh: An Enhanced MemoryController Design for Reducing Energy in Conventional and 3DDie-Stacked DRAMs,” MICRO 2007
Very high storage overhead (768 KB for a 32 GB memory controller)
No support for variability in retention time
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 5 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Retention-Aware Placement
Only refresh used pages and prefer use of high-retention pages todecrease refresh rate
R. K. Venkatesan et al., “Retention-Aware Placement in DRAM (RAPID):Software Methods for Quasi-Non-Volatile DRAM,” HPCA 2006C. Isen and L. K. John, “Eskimo: Energy Savings Using Semantic Knowledgeof Inconsequential Memory Occupancy for DRAM Subsystem,” MICRO2009
Either the OS performs refreshes (requires hard-deadline scheduling, highcontext switching overhead) . . .
Or hardware has to track retention time for each row (extremely highstorage overhead)
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 6 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
ECC
Allow refresh lapses and correct errors using ECCJ. Kim and M. C. Papaefthymiou, “Dynamic Memory Design for LowData-Retention Power”, PATMOS 2000P. G. Emma, W. R. Reohr, and M. Meterelliyoz, “Rethinking Refresh:Increasing Availability and Reducing Power in DRAM for CacheApplications,” IEEE Micro 2008C. Wilkerson et al., “Reducing Cache Power with Low-Cost, Multi-BitError-Correcting Codes”, ISCA 2010
ECC imposes significant storage overhead — very expensive incost-sensitive commodity DRAM
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 7 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Accepting Retention Errors
Allow non-critical data to be refreshed at a lower rateS. Liu et al., “Flikker: Saving DRAM Refresh-Power Through Critical DataPartitioning”, ASPLOS 2011
Requires significant programmer effort to determine which applicationdata is non-critical and/or recovery from corruption of non-critical data
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 8 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Refresh Scheduling
Try to schedule refreshes for when the system is idleJ. Stuecheli et al., “Elastic Refresh: Techniques to Mitigate Refresh Penaltiesin High Density Memory,” MICRO 2010
Doesn’t decrease number of refreshes (no impact on energy consumption)
No support for variability in retention time
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 9 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
DRAM Retention Distribution
Probability density of retention time distribution
10-2 10-1 100 101 102 103
Retention Time (s)
10-9
10-8
10-7
10-6
10-5
10-4
10-3
10-2
10-1
100Pr
obab
ility
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 10 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Minimum Retention Time and Yield
4 Gb 8 Gb 16 Gb 32 Gb 64 Gb 128 GbDevice Density
0.01%
0.1%
1%
10%
100%D
evic
e Fa
ilure
Pro
babi
lity
(1 -
Yie
ld)
128 ms64 ms32 ms
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 11 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
DRAM Retention Distribution
Most refresh overhead incurred because of a small number oflow-retention rows
Low-retention rows are difficult to eliminate
Refreshing only the lowest-retention rows at the lowest refresh intervalcan allow significant energy savings
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 12 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
System Overview
Modification to the memory controller (or cache controller in eDRAM, orlogic die in stacked memory device)
Keep track of rows in lowest-retention groups (e.g. 64–128 ms, 128–256ms, 256–512 ms)
Row counter counts through every row in the DRAM system
Refresh tracked rows at their group refresh interval (64 ms, 128 ms, or 256ms respectively)
Refresh all other rows at the default interval (512 ms)
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 13 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Efficient Row Tracking
Naive way to track rows is to use a tableJ.-H. Oh, “Refresh for Dynamic Cells with Weak Retention”, U.S. PatentUS20050099868
Requires associative lookup to check if a row is in a retention group
Fixed size: system fails to provide correctness if the table capacity isinsufficient
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 14 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Bloom Filters
Bloom filters provide a space-efficient probabilistic row trackingmechanism
False positives cause a row to be refreshed more frequently than needed(no correctness issue)
A Bloom filter can contain any number of elements (no overflow issue)
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 15 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Tolerating Temperature Variation
Change in temperature causes retention time of all cells to change by apredictable factor
Period scaling: increase the rate at which the row counter countsdepending on the temperature
Results in uniform refresh rate scaling for all rows
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 16 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Period Scaling
Row Counter
n bits where 2n = # of supported rows
PeriodScaler
PeriodCounter
Increment Period Scaleron Row Counter roll-over
Period ScalerRoll-over Value
=?
Increment Period Counteron Period Scaler roll-over
Use Period Counterto determine whichBloom filter needsrefreshing
Choose lengths basedon design choices. (# ofBloom filters, granularityof temperature scaling)
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 17 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Methodology
32 GB DRAM
64–128 ms retention range: 256 B Bloom filter, 10 hash functions
128–256 ms retention range: 1 KB Bloom filter, 6 hash functions
Default refresh interval: 256 ms
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 18 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Initial Results
74.7% refresh reduction
21.2% idle energy reduction
Active energy reduction still being analyzed
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 19 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Sensitivity to Row Size
4 KB 8 KB 16 KB 32 KBRow Size
0.20
0.22
0.24
0.26
0.28
Nor
mal
ized
Ref
resh
es
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 20 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Sensitivity to Tail Probability
1.00E-6 1.25E-6 1.50E-6 1.75E-6 2.00E-6Tail Probability
0.20
0.22
0.24
0.26
0.28
Nor
mal
ized
Ref
resh
es
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 21 SAFARI — Carnegie Mellon University
Background Related Work SAPPER Evaluation Conclusion
Conclusion
74.7% refresh reduction on average
Low overhead: 1.25 KB for 32 GB memory controller
Low complexity in hardware
Robust to DRAM parameter variation
Enables higher-density memory systems
SAPPER: Statistically-Aware Probabilistic Power-Efficient Refresh 22 SAFARI — Carnegie Mellon University