Revisiting Residue Codes for Modern Memories Evgeny Manzhosov Adam Hastings, Meghna Pancholi, Ryan Piersma, Mohamed Tarek Ibn Ziad, and Simha Sethumadhavan Department of Computer Science Columbia University
A New Way to Store Metadata PERFORMANCE Revisiting Residue Codes for Modern Memories 2
A New Way to Store Metadata PERFORMANCE SECURITY RELIABILITY Revisiting Residue Codes for Modern Memories 3
A New Way to Store Metadata Metadata is widely used in computer architecture Revisiting Residue Codes for Modern Memories 4
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Security Metadata Data Revisiting Residue Codes for Modern Memories 5
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Reliability techniques: e.g., ChipKill ECC w/ 12.5% overhead Security Metadata Data Data Revisiting Residue Codes for Modern Memories ECC 6
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Reliability techniques: e.g., ChipKill ECC w/ 12.5% overhead Problem: metadata increases cost Security Metadata Data Data Revisiting Residue Codes for Modern Memories ECC 7
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Reliability techniques: e.g., ChipKill ECC w/ 12.5% overhead Problem: metadata increases cost Forces architects to choose among multiple important techniques Security Metadata Data Data Revisiting Residue Codes for Modern Memories ECC 8
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Reliability techniques: e.g., ChipKill ECC w/ 12.5% overhead Problem: metadata increases cost Forces architects to choose among multiple important techniques Security Metadata Trade off? Data Data Revisiting Residue Codes for Modern Memories ECC 9
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Reliability techniques: e.g., ChipKill ECC w/ 12.5% overhead Problem: metadata increases cost Forces architects to choose among multiple important techniques Complicated system design to manage metadata Revisiting Residue Codes for Modern Memories 10
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Reliability techniques: e.g., ChipKill ECC w/ 12.5% overhead Problem: metadata increases cost Forces architects to choose among multiple important techniques Complicated system design to manage metadata Solution: Revisiting Residue Codes for Modern Memories 11
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Reliability techniques: e.g., ChipKill ECC w/ 12.5% overhead Problem: metadata increases cost Forces architects to choose among multiple important techniques Complicated system design to manage metadata Solution: MUSE (Multi-Use) ECC Revisiting Residue Codes for Modern Memories 12
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Reliability techniques: e.g., ChipKill ECC w/ 12.5% overhead Problem: metadata increases cost Forces architects to choose among multiple important techniques Complicated system design to manage metadata Solution: MUSE (Multi-Use) ECC w/ 30% less metadata overhead for Chip Kill ECC Revisiting Residue Codes for Modern Memories 13
A New Way to Store Metadata Metadata is widely used in computer architecture Modern hardware security solutions: 1 to 21% overhead Reliability techniques: e.g., ChipKill ECC w/ 12.5% overhead Problem: metadata increases cost Forces architects to choose among multiple important techniques Complicated system design to manage metadata Solution: MUSE (Multi-Use) ECC w/ 30% less metadata overhead for Chip Kill ECC Rowhammer defense w/ 40b hash w/o giving up on reliability Revisiting Residue Codes for Modern Memories 14
Talk Outline ChipKill with MUSE ECC Revisiting Residue Codes for Modern Memories 15
Talk Outline ChipKill with MUSE ECC Use Cases: Rowhammer defenses PIM Reliability Revisiting Residue Codes for Modern Memories 16
Talk Outline ChipKill with MUSE ECC Use Cases: Rowhammer defenses PIM Reliability Paper Contents Overview Revisiting Residue Codes for Modern Memories 17
MUSE ECC Revisiting Residue Codes for Modern Memories 18
MUSE ECC πππ‘π Revisiting Residue Codes for Modern Memories 19
MUSE ECC πππππ€πππ πππ‘π π Revisiting Residue Codes for Modern Memories 20
MUSE ECC πππππ€πππ πππ‘π π Revisiting Residue Codes for Modern Memories Store To Memory 21
MUSE ECC πππππ€πππ πππ‘π π Store To Memory Read From Memory Revisiting Residue Codes for Modern Memories 22
MUSE ECC πππππ€πππ πππ‘π π Store To Memory πππππππππ πππππ€πππ mod π Read From Memory Revisiting Residue Codes for Modern Memories 23
MUSE ECC πππππ€πππ πππ‘π π Store To Memory πππππππππ πππππ€πππ mod π πππ‘π 0 πππππ€πππ/π πππππππππ 0 Revisiting Residue Codes for Modern Memories Read From Memory 24
MUSE ECC πππππ€πππ πππ‘π π Store To Memory πππππππππ πππππ€πππ mod π πππππ€πππ/π πππ‘π 0 πππππ πππππππππ 0 πππ π Revisiting Residue Codes for Modern Memories Read From Memory 25
MUSE ECC # π’ππππ’π ππππππππππ # πππ ππππππ Sπππππ πΈππππ πΆππππππ‘πππ Revisiting Residue Codes for Modern Memories 26
What is ChipKill? Revisiting Residue Codes for Modern Memories 27
What is ChipKill? X2 DRAM X2 DRAM b0 b1 b2 b3 X2 DRAM bN-1 bN Revisiting Residue Codes for Modern Memories 28
What is ChipKill? X2 DRAM X2 DRAM X X b2 b3 bN-1 bN Revisiting Residue Codes for Modern Memories 29
What is ChipKill? X2 DRAM X2 DRAM X X b2 b3 bN-1 bN ChipKill Error Correction b0 b1 b2 b3 bN-1 bN Revisiting Residue Codes for Modern Memories 30
ChipKill with MUSE ECC X2 DRAM X2 DRAM b0 b1 b2 b3 X2 DRAM b0 b1 b2 b3 Memory Controller IO bN-1 bN bN-1 bN Revisiting Residue Codes for Modern Memories 31
ChipKill with MUSE ECC X2 DRAM X2 DRAM b0 b1 b2 b3 X2 DRAM b0 b1 b2 b3 Memory Controller IO bN-1 bN bN-1 bN Revisiting Residue Codes for Modern Memories 32
ChipKill with MUSE ECC X2 DRAM X2 DRAM b0 b1 b2 b3 X2 DRAM b0 b1 b2 b3 Memory Controller IO bN-1 bN bN-1 bN Revisiting Residue Codes for Modern Memories 33
ChipKill with MUSE ECC π!ππ ππ π# ππ ππ πππππππππ# πππππππππ% πππππππππ& X2 DRAM X2 DRAM b0 b1 b2 b3 b0 b1 b2 b3 Memory Controller IO bN-1 bN bN-1 bN Revisiting Residue Codes for Modern Memories 34
ChipKill with MUSE ECC π%ππ ππ π& ππ ππ πππππππππ( πππππππππ( πππππππππ* X2 DRAM X2 DRAM b0 b1 b2 b3 b0 b1 b2 b3 Memory Controller IO bN-1 bN bN-1 bN Revisiting Residue Codes for Modern Memories 35
ChipKill with MUSE ECC # π’ππππ’π ππππππππππ # πππ π π¦ππππ ππππππ πΆβπππΎπππ Revisiting Residue Codes for Modern Memories 36
ChipKill with MUSE ECC # π’ππππ’π ππππππππππ # πππ π π¦ππππ ππππππ 12b instead of 16b πΆβπππΎπππ DDR4 MUSE: 25% fewer ECC bits Revisiting Residue Codes for Modern Memories 37
MUSE ECC: Shuffling Revisiting Residue Codes for Modern Memories 38
MUSE ECC: Shuffling πππππππππ ππππππ πππππππππ ππππππ ! π΄ ππ πΆβπππΎπππ Revisiting Residue Codes for Modern Memories 39
MUSE ECC: Shuffling X2 DRAM b0 b3 b0 X2 DRAM X2 DRAM b3 Memory Controller IO Revisiting Residue Codes for Modern Memories 40
MUSE ECC: Shuffling X2 DRAM X2 DRAM b0 b3 b2 b1 X2 DRAM b0 b1 b2 b3 Memory Controller IO Revisiting Residue Codes for Modern Memories 41
MUSE ECC: Shuffling X2 DRAM X2 DRAM b0 b3 b2 b1 X2 DRAM b0 b1 b2 b3 bK Memory Controller IO bK bN Revisiting Residue Codes for Modern Memories bN 42
MUSE ECC: Shuffling X2 DRAM X2 DRAM b0 b3 b2 b1 X2 DRAM b0 b1 b2 b3 bK Memory Controller IO bK bN Revisiting Residue Codes for Modern Memories bN 43
MUSE ECC: Shuffling MUSE Chip Kill X2 DRAM X2 DRAM b0 b1 b0 b1 b2 b3 bN-1 bN Revisiting Residue Codes for Modern Memories 44
MUSE ECC: Shuffling MUSE ChipKill X2 DRAM X2 DRAM b0 b1 b0 b1 MUSE ChipKill w/ Shuffling b2 b3 X2 DRAM X2 DRAM bN-1 bN b0 b3 b0 b2 b1 b3 Revisiting Residue Codes for Modern Memories bK bN 45
MUSE ECC: Shuffling # π’ππππ’π ππππππππππ # πππ π π¦ππππ ππππππ πΆβπππΎπππ Revisiting Residue Codes for Modern Memories 46
MUSE (Multi-Use) ECC ChipKill Guarantees Revisiting Residue Codes for Modern Memories 47
Multi-Use (MUSE) ECC ChipKill Guarantees Storage Efficient Revisiting Residue Codes for Modern Memories 48
Multi-Use (MUSE) ECC ChipKill Guarantees Storage Efficient Revisiting Residue Codes for Modern Memories Flexible 49
Outline ChipKill with MUSE ECC Use Cases: Rowhammer defenses PIM Reliability Paper Contents Overview Revisiting Residue Codes for Modern Memories 50
Use Cases Revisiting Residue Codes for Modern Memories 51
Use Case 1: Rowhammer Defense DDR5 w/ 128B Cache Lines 80b channel Revisiting Residue Codes for Modern Memories 52
Use Case 1: Rowhammer Defense DDR5 w/ 128B Cache Lines MUSE(80,69) ECC 80b codeword with 64b data and 5b metadata Revisiting Residue Codes for Modern Memories 53
Use Case 1: Rowhammer Defense DDR5 w/ 128B Cache Lines MUSE(80,69) ECC 40b hash for 64B data 40b aggregated across 8 DRAM transactions Revisiting Residue Codes for Modern Memories 54
Use Case 1: Rowhammer Defense Chance of successful attack is π#ππ Faking hash value will take a lot of time [1] DDR5 w/ 40b hash for MUSE(80,69) ECC 128B Cache Lines 64B data [1]: Exploiting correcting codes: On the effectiveness of ECC memory against rowhammer attacks. Cojocar, L., Razavi, K., Giuffrida, C. and Bos, H., In 2019 IEEE Symposium on Security and Privacy. Revisiting Residue Codes for Modern Memories 55
Use Case 2: Processing-In-Memory PIM with MUSE: Revisiting Residue Codes for Modern Memories 56
Use Case 2: Processing-In-Memory PIM with MUSE: ΓΌSingle code for both storage and arithmetic reliability Revisiting Residue Codes for Modern Memories 57
Use Case 2: Processing-In-Memory PIM with MUSE: ΓΌSingle code for both storage and arithmetic reliability ΓΌECC check is done in parallel to compute Revisiting Residue Codes for Modern Memories 58
Use Case 2: Processing-In-Memory PIM with MUSE: ΓΌSingle code for both storage and arithmetic reliability ΓΌECC check is done in parallel to compute ΓΌStorage efficient: 256b data needs 12b ECC (out of 32b) Revisiting Residue Codes for Modern Memories 59
Outline ChipKill with MUSE ECC Use Cases: Rowhammer defenses PIM Reliability Paper Contents Overview Revisiting Residue Codes for Modern Memories 60
In the paper DDR4 & DDR5 MUSE Codes Revisiting Residue Codes for Modern Memories 61
In the paper DDR4 & DDR5 MUSE Codes More Case Studies Revisiting Residue Codes for Modern Memories 62
In the paper DDR4 & DDR5 MUSE Codes More Case Studies uArch details Revisiting Residue Codes for Modern Memories 63
In the paper DDR4 & DDR5 MUSE Codes More Case Studies uArch details Revisiting Residue Codes for Modern Memories Performance Evaluation 64
Conclusion MUSE ECC is the only ECC scheme that: Provides ChipKill with only 9.3% storage overhead Offers in-lined metadata storage for any purpose Drop-in replacement for existing ECC schemes Revisiting Residue Codes for Modern Memories 65
Backup slides Revisiting Residue Codes for Modern Memories 66
Background: Residue Codes πππππ€πππ: 1101111 11001010 Revisiting Residue Codes for Modern Memories 67
Background: Residue Codes LSB MSB πππππ€πππ ! : 11π1111 0 11001010 Revisiting Residue Codes for Modern Memories 68
Background: Residue Codes πππππ€πππ ! : 11π1111 11001010 πππππ€πππ & πππππ€πππ ππ decoding Revisiting Residue Codes for Modern Memories 69
Background: Residue Codes πππππ€πππ ! : 11π1111 11001010 πππππππππ πππππ€πππ ππ mod π decoding Revisiting Residue Codes for Modern Memories 70
Background: Residue Codes πππππ€πππ ! : 11π1111 11001010 πππππππππ πππππ€πππ ππ mod π ππ mod π decoding Revisiting Residue Codes for Modern Memories 71
Background: Residue Codes πππππ€πππ ! : 11π1111 11001010 πππππππππ πππππ€πππ ππ mod π ππ mod π πππππ€πππ π'(( ππ πππ π πππππππππ 0 πππ‘π π Revisiting Residue Codes for Modern Memories decoding 72
Background: Linearity of Residue Codes π₯ ππ π¦ mod π π₯ mod π ππ π¦ mod π mod π e.g., π₯ π¦ mod π π₯ mod π π¦ mod π mod π Revisiting Residue Codes for Modern Memories 73
Columbia University. A New Way to Store Metadata Revisiting Residue Codes for Modern Memories 2 PERFORMANCE. . Revisiting Residue Codes for Modern Memories 55 DDR5 w/ 128B Cache Lines MUSE(80,69) ECC 40b hash for 64B data Chance of successful attack is 8# % Faking hash value will take a lot of time [1]
Bruksanvisning fΓΆr bilstereo . Bruksanvisning for bilstereo . Instrukcja obsΕugi samochodowego odtwarzacza stereo . Operating Instructions for Car Stereo . 610-104 . SV . Bruksanvisning i original
1.6 Wood Residue Combustion In Boilers 1.6.1 General1-6 The burning of wood residue in boilers is mostly confined to those industries where it is available as a byproduct. It is burned both to obtain heat energy and to alleviate possible solid residue disposal problems. In boilers, wood residue is normally burned in the form of hogged wood, bark,
10 tips och tricks fΓΆr att lyckas med ert sap-projekt 20 SAPSANYTT 2/2015 De flesta projektledare kΓ€nner sΓ€kert till Cobbβs paradox. Martin Cobb verkade som CIO fΓΆr sekretariatet fΓΆr Treasury Board of Canada 1995 dΓ₯ han stΓ€llde frΓ₯gan
service i Norge och Finland drivs inom ramen fΓΆr ett enskilt fΓΆretag (NRK. 1 och Yleisradio), fin ns det i Sverige tre: Ett fΓΆr tv (Sveriges Television , SVT ), ett fΓΆr radio (Sveriges Radio , SR ) och ett fΓΆr utbildnings program (Sveriges Utbildningsradio, UR, vilket till fΓΆljd av sin begrΓ€nsade storlek inte Γ₯terfinns bland de 25 stΓΆrsta
Hotell FΓΆr hotell anges de tre klasserna A/B, C och D. Det betyder att den "normala" standarden C Γ€r acceptabel men att motiven fΓΆr en hΓΆgre standard Γ€r starka. Ljudklass C motsvarar de tidigare normkraven fΓΆr hotell, ljudklass A/B motsvarar kraven fΓΆr moderna hotell med hΓΆg standard och ljudklass D kan anvΓ€ndas vid
LΓS NOGGRANT FΓLJANDE VILLKOR FΓR APPLE DEVELOPER PROGRAM LICENCE . Apple Developer Program License Agreement Syfte Du vill anvΓ€nda Apple-mjukvara (enligt definitionen nedan) fΓΆr att utveckla en eller flera Applikationer (enligt definitionen nedan) fΓΆr Apple-mΓ€rkta produkter. . Applikationer som utvecklas fΓΆr iOS-produkter, Apple .
build up, leaving a thin film of carbon residue on the rock surfaces. This residue forms the outline of the organism and is called .! A. petrified residue B. carbonaceous film C. trace fossil residue D. carbon-dated remains GEOLOGIAL PERSPECTIVE
according to ASTM F 2213-06, ASTM F 2052-14 and ASTM F2119-07 Non-clinical testing of worst case scenario in a 3 T MRI system did not reveal any relevant torque or displace- ment of the construct for an experimentally measured local spatial gradient of the magnetic field of 5.4 T/m. The largest image artifact extended approximately 35 mm from the construct when scanned using the Gradient Echo .