energy-efficient cache design using variable-strength...

23
Alaa R. Alameldeen Ilya Wagner Zeshan Chishti Wei Wu Chris Wilkerson Shih-Lien Lu Intel Labs Energy-Efficient Cache Design Using Variable-Strength Error-Correcting Codes

Upload: others

Post on 19-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Alaa R. Alameldeen

Ilya Wagner

Zeshan Chishti

Wei Wu

Chris Wilkerson

Shih-Lien Lu

Intel Labs

Energy-Efficient Cache Design

Using Variable-Strength

Error-Correcting Codes

Page 2: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011 2

Overview

• Large caches and memories limit voltage scaling

Many cells fail at low voltages

Need to account for weakest cell

• Error-Correcting Codes (ECC) allow lower

voltages by recovering from (multiple) failures

• Uniform ECC increases latency, power & area

Our Proposal: Variable-Strength ECC (VS-ECC)

Better performance, power and area vs. uniform ECC

Allocates ECC budget to lines that need it

Online testing identifies lines needing more protection

Page 3: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011 3

Outline

• Overview

• Motivation

• Prior Work

• Our Proposal: Variable-Strength ECC

• Evaluation

• Conclusions

Page 4: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Motivation

Most cache lines have 0-1 failures at low voltage

But some lines (especially for large caches) have more failures

4

1.E-18

1.E-15

1.E-12

1.E-09

1.E-06

1.E-03

1.E+00

0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8

Pro

bab

ilit

y

Vcc

pBitFail

P(e=1)

P(e=2)

P(e=3)

P(e=4)

64B lines

Page 5: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

1.E-08

1.E-07

1.E-06

1.E-05

1.E-04

1.E-03

1.E-02

1.E-01

1.E+00

0.4 0.45 0.5 0.55 0.6

Pro

bab

ilit

y

Vcc

pBitFail

P(e=1)

P(e=2)

P(e=3)

P(e=4)

Motivation

Need a strong ECC code to protect worst lines

Uniform ECC for all lines is expensive AND unnecessary

5

64B lines

Page 6: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011 6

Prior Low Voltage Solutions

• Uniform-Strength Error Correction Codes

SECDED (Single Error Correction, Double Error Detection)

DECTED (Double Error Correction, Triple Error Detection)

Two-dimensional ECC: Kim et al., MICRO 07

Multi-bit segmented ECC (MS-ECC): Chishti et al., MICRO 09

• Architectural solutions for persistent failures

Word Disable: Wilkerson et al., ISCA 08, Roberts et al., DSD 07

Bit Fix: Wilkerson et al., ISCA 08

• Circuit Solutions: Larger cells, alternative cell designs

All use same level of protection for all cache lines

Page 7: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011 7

Variable-Strength ECC (VS-ECC)

Key idea: Provide strong ECC protection only for lines that need it

But still provide single-error correction for soft errors

VS-ECC achieves lower voltage at minimum cost

Three variations are explored

Need to identify which lines need stronger protection

Page 8: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Design 1: VS-ECC-Fixed

Fixed number of regular and extended ECC lines

Regular lines protected by SECDED

Extended ECC lines use 4-bit correction

SECDED

ECC bits

8

Page 9: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Add a disable bit to each line

Lines with 3 or more errors are disabled

Lines with zero errors use SECDED, 1-2 errors use 4-bit correction

Design 2: VS-ECC-Disable

SECDED

ECC bits

9

Page 10: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Cache Characterization

We need to classify cache lines based on their number of failures

Manufacturing-time testing expensive & needs

non-volatile on-die storage for fault map

Proposal: Online testing on 1st transition to low voltage

10

Page 11: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Online Testing at Low Voltage

Cache is still functional during testing, but with reduced capacity

Divide cache to working part (protected by 4-bit

ECC) and part under test, then switch roles

Use standard testing patterns, store error locations in tag

Note: Not all VS-ECC designs require the same testing accuracy

Optimizing test time is an opportunity for future work

11

Page 12: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011 12

Simulated Configurations

• Baseline

2MB 16-way L2 (12 cycles), SECDED ECC to recover from non-

persistent errors (1 cycle)

Uniform-strength ECC

DECTED: 1 cycle, corrects one persistent error per line

4EC5ED: 15 cycles, corrects up to three persistent errors per line

MS-ECC: 64-bit segments, 4 corrections/segment, corrects up to

three persistent errors per segment, cache becomes 1MB 8-way

Variable-strength ECC

VS-ECC-Fixed: 12 lines with SECDED (1 cycle), 4 with 4EC5ED

(15 cycles)

VS-ECC-Disable: VS-ECC-Fixed+disable lines with ≥ 3 errors

Page 13: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Results: Reliability

13

• VS-ECC has similar voltage scaling to 4EC5ED

• VS-ECC-Disable achieves lowest voltage

1.E-15

1.E-12

1.E-09

1.E-06

1.E-03

1.E+00

0.4 0.5 0.6 0.7 0.8

2MB SECDED

DECTED

4EC5ED

VS-ECC-Fixed

MS-ECC

VS-ECC-Disable

Supply Voltage (V)

Pro

bab

ilit

y

Vmin set at

1/1000 cache

failure probability

Page 14: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011 14

Results: Performance at Low

Voltage

Similar IPC to baseline, better than uniform ECC

0.82 0.84 0.86 0.88 0.9

0.92 0.94 0.96 0.98

1 1.02

DH

FS

PE

C

ISP

EC

GM

MM

OF

F

PR

OD

SE

RV

WS

KE

RN

GM

EA

N

2MB Base

VS-ECC-Dis

4EC5ED

MS-ECC Norm

aliz

ed I

PC

Page 15: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Results: Power & Energy

Design Vccmin

(mV)

Frequency

(MHz)

Norm.

Power

Norm.

EPI

Baseline (SECDED) 830 2000 1.00 1.000

DECTED 675 1350 0.49 0.72

4EC5ED 565 940 0.26 0.57

MS-ECC 540 830 0.22 0.56

VS-ECC-Fixed 590 1040 0.31 0.59

VS-ECC-Disable 500 650 0.16 0.50

15

Page 16: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Conclusions

We need strong ECC capability in large caches to lower voltage and power

Uniform ECC techniques are expensive (performance, power, area)

Variable-Strength ECC provides strong protection only to lines that need it

VS-ECC + Line Disable is the most cost-effective mechanism

Optimizing test algorithms is an important topic for future work

16

Page 17: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011 17

Backup Slides

Page 18: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Each line has minimum SECDED correction

Lines in a set share extended ECC blocks, gets extra protection as needed

Needs knowledge of exact failure count per line

Design 3: VS-ECC-Variable

Page 19: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Cache Operation at Low Voltage

19

Hit Miss

Writeback needed?

N Y

Cache line fill

Tag lookup and

E-bit decode

Access

Accesstype

ECC typeSECDED eECC

SECDED ECC compute

Write line and ECC

Multi-bit ECC compute

Write line and ECC

WriteRead

ECC typeSECDED eECC

SECDED ECC check

Send line to CPU

Multi-bit ECC check

Send line to CPU

Victim

ECC type

SECDED eECC

SECDED ECC compute

Writeback victim line

Multi-bit ECC compute

Writeback victim line

Page 20: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011 20

Simulated Configurations

• Baseline

32KB 8-way L1 caches, 2MB 16-way L2 (12 cycles), SECDED ECC to

recover from non-persistent failures (1 cycle)

Uniform-strength ECC

DECTED: 1 cycle, corrects one persistent failure per line

4EC5ED: 15 cycles, corrects up to three persistent failures per line

MS-ECC: 64-bit segments, 4 corrections/segment, corrects up to

three persistent failures per segment, cache becomes 1MB 8-way

Variable-strength ECC

VS-ECC-Fixed: 12 lines with SECDED (1 cycle), 4 with 4EC5ED (15

cycles)

VS-ECC-Variable: SECDED + 12 extra 10-bit ECC blocks per set

VS-ECC-Disable: VS-ECC-Fixed + disable lines with 3 or more failures

Page 21: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Results: Reliability

21

• VS-ECC has similar voltage scaling to 4EC5ED

• VS-ECC-Disable achieves lowest voltage

1.E-15

1.E-12

1.E-09

1.E-06

1.E-03

1.E+00

0.4 0.5 0.6 0.7 0.8

2MB Base (SECDED)

DECTED

4EC5ED

VS-ECC-Fixed

MS-ECC

VS-ECC-Variable

VS-ECC-Disable

Supply Voltage (V)

Pro

bab

ilit

y

Vmin set at

1E-3 failure

probability

Page 22: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011 22

Results: Performance at Low

Voltage

Similar IPC to baseline, better than uniform ECC

0.82

0.84

0.86

0.88

0.9

0.92

0.94

0.96

0.98

1

1.02

2MB Base

VS-ECC

4EC5ED

MS-ECC

Page 23: Energy-Efficient Cache Design Using Variable-Strength ...pages.cs.wisc.edu/~alaa/papers/isca11_vs_ecc_talk.pdfDesign Vccmin (mV) Frequency (MHz) Norm. Power Norm. EPI Baseline (SECDED)

Variable-Strength ECC– A. Alameldeen – ISCA 2011

Results: Power & Energy

Design Vccmin

(mV)

Frequency (MHz)

Norm. Power

Norm. EPI

Baseline (SECDED) 830 2000 1.00 1.000

DECTED 675 1350 0.49 0.72

4EC5ED 565 940 0.26 0.57

MS-ECC 540 830 0.22 0.56

VS-ECC-Fixed 590 1040 0.31 0.59

VS-ECC-Variable 565 940 0.26 0.56

VS-ECC-Disable 500 650 0.16 0.50

23