CS-773 Paper Presentation���Randomised Row-Swap: Mitigating Row Hammer by Breaking Spatial Correlation between Aggressor and Victim Rows�
�Prokash Ghosh��The Booster Dose (#1)
214077001@iitb.ac.in
1
2
Outline
3
DRAM Bank
Row of Cells
Row
Row
Row
Row
Wordline
VLOW
VHIGH
Victim Row
Victim Row
Aggressor Row
Repeatedly opening and closing a row induces Row Hammer Attack in adjacent rows
Opened
Closed
Classical Row Hammer
Spatial Connection Between Aggressor Rows and Victims Rows
Row 0
Row 1
Row 2
Row 3
Row 4
Row 2
open
Row 1
Row 3
Row 3
closed
Row 3
open
Row 2
Row 4
Row 1
Row 5
Victim Row
Victim Row
Aggressor Row
Row 3
open
Row 3
closed
Aggressor Row
DRAM Bank
Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors, (Kim et al., ISCA 2014)
Prior Victim Focused : Mitigations
Row 0
Row 1
Row 2
Row 3
Row 5
Row 2
open
Row 1
Row 3
Row 2
closed
Row 2
open
Row 2
Row 4
Row 1
Victim Row
Victim Row
Aggressor Row
Row 2
open
Row 3 (Aggressor row)
Prior Defences
CAL[‘14],TWICe[ISCA’19], Graphene[MICRO’20], TRR-DDR4 standard
1
DRAM Bank
Track Aggressor
2
Mitigative Action
DDR4/LPDDR4 Specification: https://www.jedec.org/
Special
Refresh(TRR)
6
Prior Victim Focused : Mitigations
Can excessive usage of special refresh
corrupt data at the second level neighbours
of the aggressor row?
Target Row Refresh(TRR) 🡪 It is defined in DDR4/LPDDR4 specification: www.jedec.org
YES
7
Google’s Half-Double Row Hammer
Row 2 (Far Aggressor )
Row 1 (New Victim-Distance2)
Row 0
Row 3 (Near Aggressor)
Row 6
Row 5 (New Victim-Distance2)
Row 7
Row 4 (Far Aggressor )
1
Near Aggressor
2
Far Aggressor
3
New Victim at Distance-2
Google, 2021: Half-Double: Next-Row-Over Assisted RowHammer. https://github.com/google/hammer-kit/blob/main/20210525_half_double.pdf.
Special
Refresh
8
Familiarity with Some Terms
ACT 🡪 Activate Command, opens an intended row.
TRR 🡪 Target Row Refresh ( Refresh a selected row instead of refresh whole bank)
Note : ACTmax- 🡪 Maximum number of activations possible within 64ms ( ~1.36millions)
9
Row-Hammer Threshold: DDR Generations
Sl.No | DRAM Generations | RH-Theshold |
1 | DDR3(old) | 139K |
2 | DDR3(new) | 22.4K |
3 | DD4(old) | 17.5K |
4 | DDR4(new) | 10K |
5 | LPDDR4(old) | 16.8K |
6 | LPDDR4(new) | 4.8K |
TRH = 4.8K
10
New Solution: Aggressor Focused Mitigations
11
Aggressor
Aggressor
Randomized Row Swap : High Level
Row-Y
.………………..
Row X
Victim
Victim
Aggressor
Row-X
Row-Y
.………………..
Aggressor
Victim
Victim
Swap1
Row X ⬄ Aggressor
Aggressor
Aggressor
Row -X
Aggressor
.………………..
Row-Y
Victim
Victim
Swap2
Row Y ⬄ new Aggressor
Starting Position
12
Overview of Row-Swap
1
2
3
4
X
Y
13
RRS: In detail
RIT(Row Indirection Table)
HRT(Hot Row Tracker)
Swap=Yes
1
Present
Absent
Swap=Yes
.………………..
2
3
5
5
4
Memory access
14
Tracking Aggressor: Hot Row Tracker(HRT)
Yeonhong Park,Woosuk Kwon, Eojin Lee, Tae Jun Ham, Jung Ho Ahn, and JaeW. Lee, Graphene: Strong yet Lightweight Row Hammer Protection. In MICRO 2020.
Row
Address Count
A
6
Spill
Counter
2
X
3
Z
5
Row
Address Count
A
7
Spill
Counter
2
X
3
Z
5
A
Row
Address Count
A
7
Spill
Counter
3
X
3
Z
5
B
Row
Address Count
A
7
Spill
Counter
3
C
4
Z
5
C
Misra-Gries Algorithm:
15
High Level Operations in RIT+HRT
16
Security of Row Swap
17
Collision Avoidance Table (CAT)
18
Comparison of RRS with Victim Focused Mitigations
Attribute | Victim-Focused | RRS |
Slowdown | <0.1 % | 0.4% |
Mitigates Classic Row Hammer( Neighbouring bit flips) | √ | √ |
Mitigates Complex Patterns ( Far Aggressors of Half-Double) | X | √ |
Works Without Knowing DRAM mapping | X | √ |
19
What is Block Hammer
20
Perf. comparison RRS vs Block-Hammer
BlockHammer: Preventing RowHammer at Low Cost by Blacklisting Rapidly-Accessed DRAM Rows, HPCA, 2021.
Slowdown | Worst-case | Average |
Block-Hammer | 21.7% | 2% |
Slowdown | Worst-case | Average |
RRS | 7.6% | 0.4% |
21
Performance Sensitivity to RH-Threshold
As TRH increases slowdown reduces
22
Performance Overhead of Row-Swap
Avg 0.4% slowdown observed with 78-workloads
23
Results : Storage/Power Overhead
24
Summary
25
Conclusion
26
Disadvantages of RRS
27
Criticism Points
Points to Discuss
28
Possible Extensions
29
References
30
THANK YOU
31
Questions
32
Backup
33
34
CASLAT
ACT
READ
PRECHARGE
Command Bus
Address Bus
ACTIVE
tRC
tCCD
tRTP
tRP
35
Finding the RRS interval
64ms
36
Finding the RRS interval
64ms
37
An Event ( E) : Round of attack
E-1
Random Swap 1
E-2
Random Swap 2
38
Statistical Modelling : Bucket balls
39
Contd..
40
Contd..
41
Attack iterations Calculations
42
Collision Avoidance Table (CAT): Storage Optimization
43
Collision Avoidance Table (CAT): Storage Optimization
44
TRRS = 800
Entries required in =1.36millions/800=1700
Number of RIT-tuples = 3400
Issues in Evaluation Methodology
45
46
Contd..
Limitations
47
48
Performance Overhead of Row-Swap
49
Familiarity with Some Terms
Epoch 🡪 Refresh interval 64ms
ACT 🡪 Activate Command
TRR 🡪 Target Row Refresh
tRC 🡪 Time gap between two successive ACT commands in different rows of same bank
ACTmax 🡪 Maximum number of activations possible within an epoch. ( 1.36millions)
TRH 🡪 Minimum number of activations required to trigger Row Hammer Attack (4.8K accesses) on any physical row address within 64ms
Row Size 🡪8kB
Note : DDR4/LPDDR4 is used for this paper work.(PICTURE—tRC)