Revisiting Residue Codes For Modern Memories - Cs.columbia.edu

9m ago
11 Views
1 Downloads
771.08 KB
73 Pages
Last View : 2d ago
Last Download : 3m ago
Upload by : Maleah Dent
Transcription

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]

Related Documents:

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 .