Exploiting Half-Wits: Smarter Storage for Low-Power Devices - - PowerPoint PPT Presentation

exploiting half wits smarter storage for low power devices
SMART_READER_LITE
LIVE PREVIEW

Exploiting Half-Wits: Smarter Storage for Low-Power Devices - - PowerPoint PPT Presentation

1 0 0 1 0 Exploiting Half-Wits: Smarter Storage for Low-Power Devices Mastooreh (Negin) Salajegheh, Yue Wang Kevin Fu, Andrew Jiang, Erik Learned-Miller Supported in part by a Sloan Research Fellowship and NSF CCF-0747415, CNS-0627476,


slide-1
SLIDE 1

Exploiting Half-Wits: Smarter Storage for Low-Power Devices

Mastooreh (Negin) Salajegheh, Yue Wang Kevin Fu, Andrew Jiang, Erik Learned-Miller

1 1

Supported in part by a Sloan Research Fellowship and NSF CCF-0747415, CNS-0627476, CNS-0627529, CNS-0845874, CNS-0923313, ECCS-0802107. Any opinions, findings, and conclusions expressed in this material are those of the authors and do not necessarily reflect the views of the NSF. Friday, March 4, 2011
slide-2
SLIDE 2

Mastooreh Salajegheh, USENIX FAST ’11

2 figure: treehugger.com

Friday, March 4, 2011
slide-3
SLIDE 3

Mastooreh Salajegheh, USENIX FAST ’11

2 figure: treehugger.com

Friday, March 4, 2011
slide-4
SLIDE 4

Mastooreh Salajegheh, USENIX FAST ’11

Storage on Embedded Devices

3

Friday, March 4, 2011
slide-5
SLIDE 5

Mastooreh Salajegheh, USENIX FAST ’11

Storage on Embedded Devices

>$10 billion

3

Friday, March 4, 2011
slide-6
SLIDE 6

Mastooreh Salajegheh, USENIX FAST ’11

Storage on Embedded Devices

>$10 billion

3

Friday, March 4, 2011
slide-7
SLIDE 7

Mastooreh Salajegheh, USENIX FAST ’11

Storage on Embedded Devices

>$10 billion

4

Friday, March 4, 2011
slide-8
SLIDE 8

Mastooreh Salajegheh, USENIX FAST ’11

On-chip Flash

5

Friday, March 4, 2011
slide-9
SLIDE 9

Mastooreh Salajegheh, USENIX FAST ’11

Microcontroller with 8KB Embedded Flash Memory

On-chip Flash

5

Friday, March 4, 2011
slide-10
SLIDE 10

Mastooreh Salajegheh, USENIX FAST ’11

Microcontroller with 8KB Embedded Flash Memory

On-chip Flash

5

2.2 V vs. 4.5 V

Friday, March 4, 2011
slide-11
SLIDE 11

Mastooreh Salajegheh, USENIX FAST ’11

CPU Flash 4.5 V

Ideal

6

Energy ∝Workload 2.2 V

Friday, March 4, 2011
slide-12
SLIDE 12

Mastooreh Salajegheh, USENIX FAST ’11

Energy ∝ Worst case CPU Flash 4.5 V

Ideal Actual

6

CPU Flash 4.5 V Energy ∝Workload 2.2 V

Friday, March 4, 2011
slide-13
SLIDE 13

Mastooreh Salajegheh, USENIX FAST ’11

7

Goal of this work

  • To reduce the wasted energy

consumption for embedded storage.

Friday, March 4, 2011
slide-14
SLIDE 14

Mastooreh Salajegheh, USENIX FAST ’11

Contribution

  • Software for using flash memory at low

voltage

  • Quantifying the impact on reliability
  • Measuring the energy savings

8

Friday, March 4, 2011
slide-15
SLIDE 15

Mastooreh Salajegheh, USENIX FAST ’11

State of the Art

9

  • Pick the highest voltage...Excessive power
Friday, March 4, 2011
slide-16
SLIDE 16

Mastooreh Salajegheh, USENIX FAST ’11

State of the Art

9

  • Pick the highest voltage...Excessive power
  • Add hardware...$$
Friday, March 4, 2011
slide-17
SLIDE 17

Mastooreh Salajegheh, USENIX FAST ’11

State of the Art

I can’t remember a thing

9

  • Pick the highest voltage...Excessive power
  • Add hardware...$$
  • Don’t use flash memory...Ugh!

[Sample:08]

Friday, March 4, 2011
slide-18
SLIDE 18

Mastooreh Salajegheh, USENIX FAST ’11

State of the Art

I can’t remember a thing

9

  • Pick the highest voltage...Excessive power
  • Add hardware...$$
  • Don’t use flash memory...Ugh!

[Sample:08]

50 100 200 300 2 4 Time (ms)

Voltage

[Ransford: ASPLOS11]

Friday, March 4, 2011
slide-19
SLIDE 19

Mastooreh Salajegheh, USENIX FAST ’11

Our Approach

Savings: Low-voltage

Write to flash memory at low voltage.

10

Friday, March 4, 2011
slide-20
SLIDE 20

Mastooreh Salajegheh, USENIX FAST ’11

Our Approach

Cost: Errors

How hard is it to correct the errors?

Savings: Low-voltage

Write to flash memory at low voltage.

10

Friday, March 4, 2011
slide-21
SLIDE 21

Mastooreh Salajegheh, USENIX FAST ’11

11

Write once bits (Wits)

figure: http://arcweb.archives.gov

[Rivest:82]

Friday, March 4, 2011
slide-22
SLIDE 22

Mastooreh Salajegheh, USENIX FAST ’11

Partial Failure at Low Voltage

  • Example:

12

1111 1111

Initialized:

Friday, March 4, 2011
slide-23
SLIDE 23

Mastooreh Salajegheh, USENIX FAST ’11

Partial Failure at Low Voltage

  • Example:

12

1111 1100

Input:

1111 1111

Initialized:

Friday, March 4, 2011
slide-24
SLIDE 24

Mastooreh Salajegheh, USENIX FAST ’11

Partial Failure at Low Voltage

  • Example:

12

1111 1100

Input:

1111 1111

Initialized:

Friday, March 4, 2011
slide-25
SLIDE 25

Mastooreh Salajegheh, USENIX FAST ’11

Partial Failure at Low Voltage

  • Example:

12

1111 1100 1111 1101

Input: Result:

1111 1111

Initialized:

Friday, March 4, 2011
slide-26
SLIDE 26

Mastooreh Salajegheh, USENIX FAST ’11

Partial Failure at Low Voltage

  • Example:

12

1111 1100 1111 1101

Input: Result:

1111 1111

Initialized:

Error

Friday, March 4, 2011
slide-27
SLIDE 27

Mastooreh Salajegheh, USENIX FAST ’11

Transitions at low voltage

  • 1→0 might fail with P≥0.
  • 1→1 never fails (P=0).

13

Z

1 1

[Klove:95]

Friday, March 4, 2011
slide-28
SLIDE 28

Mastooreh Salajegheh, USENIX FAST ’11

What might influence the error rate

14

Friday, March 4, 2011
slide-29
SLIDE 29

Mastooreh Salajegheh, USENIX FAST ’11

What might influence the error rate

14

✓Operating voltage level

Friday, March 4, 2011
slide-30
SLIDE 30

Mastooreh Salajegheh, USENIX FAST ’11

What might influence the error rate

14

✓Operating voltage level ✓Hamming weight of data

Friday, March 4, 2011
slide-31
SLIDE 31

Mastooreh Salajegheh, USENIX FAST ’11

What might influence the error rate

14

✓Operating voltage level ✓Hamming weight of data ✓Wear-out history

Friday, March 4, 2011
slide-32
SLIDE 32

Mastooreh Salajegheh, USENIX FAST ’11

What might influence the error rate

14

✓Operating voltage level ✓Hamming weight of data ✓Wear-out history

  • Neighbor cells
Friday, March 4, 2011
slide-33
SLIDE 33

Mastooreh Salajegheh, USENIX FAST ’11

What might influence the error rate

14

✓Operating voltage level ✓Hamming weight of data ✓Wear-out history

  • Neighbor cells
  • Permutation of 0s
Friday, March 4, 2011
slide-34
SLIDE 34

Mastooreh Salajegheh, USENIX FAST ’11

15

Friday, March 4, 2011
slide-35
SLIDE 35

Mastooreh Salajegheh, USENIX FAST ’11

15

Test Platform

Friday, March 4, 2011
slide-36
SLIDE 36

Mastooreh Salajegheh, USENIX FAST ’11

15

Monitor Test Platform

Friday, March 4, 2011
slide-37
SLIDE 37

Mastooreh Salajegheh, USENIX FAST ’11

15

Monitor Test Platform Voltage Supply

Friday, March 4, 2011
slide-38
SLIDE 38

Mastooreh Salajegheh, USENIX FAST ’11

15

JTAG Monitor Test Platform Voltage Supply

Friday, March 4, 2011
slide-39
SLIDE 39

Mastooreh Salajegheh, USENIX FAST ’11

16

20 40 60 80 100 1.80 1.82 1.84 1.86 1.88 1.90 1.92

Error rate (%) Operating Voltage (V)

M C U

  • a
Friday, March 4, 2011
slide-40
SLIDE 40

Mastooreh Salajegheh, USENIX FAST ’11

17

20 40 60 80 100 1.80 1.82 1.84 1.86 1.88 1.90 1.92

Error rate (%) Operating Voltage (V)

MCU-A M C U

  • a

T w

  • c

h i p s

  • f

t h e s a m e m

  • d

e l

Friday, March 4, 2011
slide-41
SLIDE 41

Mastooreh Salajegheh, USENIX FAST ’11

18

20 40 60 80 100 1.80 1.82 1.84 1.86 1.88 1.90 1.92

Error rate (%)

MCU-A M C U

  • a

MCU-B MCU-b

Operating Voltage (V)

Friday, March 4, 2011
slide-42
SLIDE 42

Mastooreh Salajegheh, USENIX FAST ’11

Data Hamming Weight

1 2 3 4 5 6 7 8 50 100 Hamming weight Error rate(%)

19

Friday, March 4, 2011
slide-43
SLIDE 43

Mastooreh Salajegheh, USENIX FAST ’11

Data Hamming Weight

1 2 3 4 5 6 7 8 50 100 Hamming weight Error rate(%)

19

The heavier the better.

Friday, March 4, 2011
slide-44
SLIDE 44

Mastooreh Salajegheh, USENIX FAST ’11

20

Voltage = 1.850 V

20 40 60 80 100 12 rows (memory length)

Error (%)

128 bits (memory width)

Friday, March 4, 2011
slide-45
SLIDE 45

Mastooreh Salajegheh, USENIX FAST ’11

20

More often used

Voltage = 1.850 V

20 40 60 80 100 12 rows (memory length)

Error (%)

128 bits (memory width)

Friday, March 4, 2011
slide-46
SLIDE 46

Mastooreh Salajegheh, USENIX FAST ’11

21

Accumulative Behavior

figure: steynian.wordpress.com

Friday, March 4, 2011
slide-47
SLIDE 47

Mastooreh Salajegheh, USENIX FAST ’11

Design of a Low-voltage Storage

22

Friday, March 4, 2011
slide-48
SLIDE 48

Mastooreh Salajegheh, USENIX FAST ’11

Modeling Flash Memory

  • A set of cells
  • Cell state:
  • Initial state:
  • Update: set a subset of to 0
  • Once then a write cannot
  • Write Once Bits: Wits

< c1, ..., cn > ci ∈ {0, 1} ∀i, ci = 1 < c1, ..., cn > n ci ← 1 ci = 0

23

Friday, March 4, 2011
slide-49
SLIDE 49

Mastooreh Salajegheh, USENIX FAST ’11

At low voltage:

  • might fail and remains . [Pavan:97]
  • There might not be enough charge stored

in a cell to represent a 0: Half-Wits

Modeling Flash Memory

ci ← 0 ci 1

24

1 1

Friday, March 4, 2011
slide-50
SLIDE 50

Mastooreh Salajegheh, USENIX FAST ’11

Design Goals

  • Energy consumption
  • Error rate
  • Delay

25

Minimize:

Friday, March 4, 2011
slide-51
SLIDE 51

Mastooreh Salajegheh, USENIX FAST ’11

Proposed Techniques

  • 1. In-place writes
  • 2. Multiple-place writes
  • 3. ReedSolomon-Berger Codes

26

Friday, March 4, 2011
slide-52
SLIDE 52

Mastooreh Salajegheh, USENIX FAST ’11

27

Initialization: 1

Negative Logic

}

Cell

Friday, March 4, 2011
slide-53
SLIDE 53

Mastooreh Salajegheh, USENIX FAST ’11

27

Initialization: 1 Written: 0

Negative Logic

Charge

}

Cell

Friday, March 4, 2011
slide-54
SLIDE 54

Mastooreh Salajegheh, USENIX FAST ’11

  • 1. In-place writes

28

  • Repeatedly attempt a write to the same location.
Friday, March 4, 2011
slide-55
SLIDE 55

Mastooreh Salajegheh, USENIX FAST ’11

  • 1. In-place writes

28

1

  • Repeatedly attempt a write to the same location.
  • Example: One bit over time
Friday, March 4, 2011
slide-56
SLIDE 56

Mastooreh Salajegheh, USENIX FAST ’11

  • 1. In-place writes

28

1

  • Repeatedly attempt a write to the same location.
  • Example: One bit over time

1→0

Friday, March 4, 2011
slide-57
SLIDE 57

Mastooreh Salajegheh, USENIX FAST ’11

  • 1. In-place writes

28

1 1→0

  • Repeatedly attempt a write to the same location.
  • Example: One bit over time

1→0

Friday, March 4, 2011
slide-58
SLIDE 58

Mastooreh Salajegheh, USENIX FAST ’11

  • 1. In-place writes

28

1 1→0

  • Repeatedly attempt a write to the same location.
  • Example: One bit over time

1→0

Friday, March 4, 2011
slide-59
SLIDE 59

Mastooreh Salajegheh, USENIX FAST ’11

In-place writes

29

25 50 75 100 1 2 3 4 5 6 7

Error rate (%)

Ineffective Effective

# sequential in-place writes

Friday, March 4, 2011
slide-60
SLIDE 60

Mastooreh Salajegheh, USENIX FAST ’11

In-place writes

30

25 50 75 100 1 2 3 4 5 6 7

Error rate (%)

Ineffective Effective

# sequential in-place writes

1.87 V

Friday, March 4, 2011
slide-61
SLIDE 61

Mastooreh Salajegheh, USENIX FAST ’11

31

25 50 75 100 1 2 3 4 5 6 7

Error rate (%)

1.87 1.86 1.88 1.89 1.90

In-place writes

# sequential in-place writes

Friday, March 4, 2011
slide-62
SLIDE 62

Mastooreh Salajegheh, USENIX FAST ’11

Cell 1

  • 2. Multiple-place writes
  • Encoding: Write to more

than one location.

32

1 1 Cell 2

Friday, March 4, 2011
slide-63
SLIDE 63

Mastooreh Salajegheh, USENIX FAST ’11

Cell 1

  • 2. Multiple-place writes
  • Encoding: Write to more

than one location.

32

1 1 1 Cell 2

Friday, March 4, 2011
slide-64
SLIDE 64

Mastooreh Salajegheh, USENIX FAST ’11

Cell 1

  • 2. Multiple-place writes
  • Encoding: Write to more

than one location.

32

  • Decoding: AND all
  • f the values at

read time. 1 1 1

&

Cell 2

Friday, March 4, 2011
slide-65
SLIDE 65

Mastooreh Salajegheh, USENIX FAST ’11

Cell 1

  • 2. Multiple-place writes
  • Encoding: Write to more

than one location.

32

  • Decoding: AND all
  • f the values at

read time. 1 1 1 0 Cell 2

Friday, March 4, 2011
slide-66
SLIDE 66

Mastooreh Salajegheh, USENIX FAST ’11

Multiple-place writes

33

25 50 75 100 1 2 3 4 5 6 7

Error rate (%) # places to store data

1.86 1 . 8 8 1.87 1 . 8 9 1 . 9

Friday, March 4, 2011
slide-67
SLIDE 67

Mastooreh Salajegheh, USENIX FAST ’11

Design Goals

34

  • Energy consumption
  • Delay
  • Error rate

Minimize:

Friday, March 4, 2011
slide-68
SLIDE 68

Mastooreh Salajegheh, USENIX FAST ’11

Comparison at 1.9 V

35

Store: Accelerometer trace Repeating the writes 2 times/ locations

Friday, March 4, 2011
slide-69
SLIDE 69

Mastooreh Salajegheh, USENIX FAST ’11

Comparison at 1.9 V

35

Method Time (ms) Energy (μJ) In-place 15.43 38 Multiple-place 16.85 40

Store: Accelerometer trace Repeating the writes 2 times/ locations

Friday, March 4, 2011
slide-70
SLIDE 70

Mastooreh Salajegheh, USENIX FAST ’11

Comparison at 1.9 V

35

Method Time (ms) Energy (μJ) In-place 15.43 38 Multiple-place 16.85 40

Store: Accelerometer trace Repeating the writes 2 times/ locations

Friday, March 4, 2011
slide-71
SLIDE 71

Mastooreh Salajegheh, USENIX FAST ’11

36

Micro-benchmarks:

Standard approach at high voltage In-Place writes at low voltage

vs

Friday, March 4, 2011
slide-72
SLIDE 72

Mastooreh Salajegheh, USENIX FAST ’11

37

Retrieve Store Normalized energy consumption RC5

in-place 1.8 V in-place 1.9 V Standard 2.2 V Standard 3.0 V

[Rivest:94]

Half-wits Vs. Wits

Friday, March 4, 2011
slide-73
SLIDE 73

Mastooreh Salajegheh, USENIX FAST ’11

RC5

38

Store Normalized energy consumption

in-place 1.8 V in-place 1.9 V Standard 2.2 V Standard 3.0 V

Retrieve

Half-wits Vs. Wits

Friday, March 4, 2011
slide-74
SLIDE 74

Mastooreh Salajegheh, USENIX FAST ’11

Retrieve RC5

39

Normalized energy consumption

in-place 1.8 V in-place 1.9 V Standard 2.2 V Standard 3.0 V

Store

Half-wits Vs. Wits

Friday, March 4, 2011
slide-75
SLIDE 75

Mastooreh Salajegheh, USENIX FAST ’11

Retrieve RC5

Half-wits Vs. Wits

40

Normalized energy consumption

in-place 1.8 V in-place 1.9 V Standard 2.2 V Standard 3.0 V

Store

Friday, March 4, 2011
slide-76
SLIDE 76

Mastooreh Salajegheh, USENIX FAST ’11

Hypothesis

For CPU-bound workloads:

41

Energy of high-voltage system Energy of low-voltage system

<

Friday, March 4, 2011
slide-77
SLIDE 77

Mastooreh Salajegheh, USENIX FAST ’11

Monitoring application

  • Read 256 bytes of accelerometer data
  • Aggregate data: Min, Max, Mean, Std. dev.
  • Write the aggregation of 256 bytes of data

42

Friday, March 4, 2011
slide-78
SLIDE 78

Mastooreh Salajegheh, USENIX FAST ’11

43

  • 34%

Energy Savings

In-place Writes

Friday, March 4, 2011
slide-79
SLIDE 79

Mastooreh Salajegheh, USENIX FAST ’11

Monitoring application

44

Method In-place 1.8 v In-place 1.9 V Standard 2.2 V Standard 3.0 V Energy (μJ) 270 300 410 760

Friday, March 4, 2011
slide-80
SLIDE 80

Mastooreh Salajegheh, USENIX FAST ’11

Monitoring application

44

Method In-place 1.8 v In-place 1.9 V Standard 2.2 V Standard 3.0 V Energy (μJ) 270 300 410 760

Friday, March 4, 2011
slide-81
SLIDE 81

Mastooreh Salajegheh, USENIX FAST ’11

Monitoring application

45

Method In-place 1.8 v In-place 1.9 V Standard 2.2 V Standard 3.0 V Energy (μJ) 270 300 410 760 In-place 1.9 V

Friday, March 4, 2011
slide-82
SLIDE 82

Mastooreh Salajegheh, USENIX FAST ’11

Further improvements

46

  • 1. Sign-bits and storing the complement
  • 2. Memory mapping-table

[Papirla:09]

Friday, March 4, 2011
slide-83
SLIDE 83

Mastooreh Salajegheh, USENIX FAST ’11

Summary: Exploiting Half-Wits

  • In-place writes on half-wits is an effective

way to reduce wasted energy.

  • Microcontrollers can work at a lower

voltage and get more work done with the same amount of energy.

  • The digital abstractions pay a higher price

than necessary to provide reliability.

47

1 1

Friday, March 4, 2011