Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN,...

110
Extending SSD Lifetimes with Disk-Based Write Caches Gokul Soundararajan University of Toronto Vijayan Prabhakaran Mahesh Balakrishnan Ted Wobber Microsoft Research 1 Thursday, February 25, 2010

Transcript of Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN,...

Page 1: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Extending SSD Lifetimes with Disk-Based Write Caches

Gokul SoundararajanUniversity of Toronto

Vijayan PrabhakaranMahesh BalakrishnanTed WobberMicrosoft Research

1

Thursday, February 25, 2010

Page 2: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Solid-State Devices (SSDs)

2

Thursday, February 25, 2010

Page 3: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Solid-State Devices (SSDs)

‣ Replacing Hard Disk Drives (HDDs)

- Fast I/O reads

- Consume low power, no moving parts, and more reliable

2

Thursday, February 25, 2010

Page 4: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Solid-State Devices (SSDs)

‣ Replacing Hard Disk Drives (HDDs)

- Fast I/O reads

- Consume low power, no moving parts, and more reliable

‣ Limited write cycles

- Need to erase block before re-write

- High end SLC provide 100,000 erase cycles

- Mainstream MLC provides 5,000-10,000 erase cycles

2

Thursday, February 25, 2010

Page 5: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Solid-State Devices (SSDs)

‣ Replacing Hard Disk Drives (HDDs)

- Fast I/O reads

- Consume low power, no moving parts, and more reliable

‣ Limited write cycles

- Need to erase block before re-write

- High end SLC provide 100,000 erase cycles

- Mainstream MLC provides 5,000-10,000 erase cycles

‣ Starting to be used in laptops/desktops

- Contain write intensive workloads

2

Thursday, February 25, 2010

Page 6: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

SSD Write-lifetime

3

Thursday, February 25, 2010

Page 7: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

SSD Write-lifetime

3

Ideal Micron C200 Intel X-25M0

75

150

225

300

Wri

te L

ifeti

me

(TB

)Maximum amount of data that can be written to the

SSD

Thursday, February 25, 2010

Page 8: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

SSD Write-lifetime

3

Ideal Micron C200 Intel X-25M0

75

150

225

300

Wri

te L

ifeti

me

(TB

)60GBx5000 =

300TB

Thursday, February 25, 2010

Page 9: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

SSD Write-lifetime

3

Ideal Micron C200 Intel X-25M0

75

150

225

300

Wri

te L

ifeti

me

(TB

)

42TB (60GB drive)

Thursday, February 25, 2010

Page 10: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

SSD Write-lifetime

3

Ideal Micron C200 Intel X-25M0

75

150

225

300

Wri

te L

ifeti

me

(TB

)

37TB (80GB drive)

20 GB/day*5 yrs

Thursday, February 25, 2010

Page 11: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin Hybrid Device

4

Write Cache SSD

Hybrid Device Controller

GriffinWrites

Reads Reads

Thursday, February 25, 2010

Page 12: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin Hybrid Device

4

Write Cache SSD

Hybrid Device Controller

Griffin

MIGRATE

WritesReads Reads

Thursday, February 25, 2010

Page 13: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin Hybrid Device

4

Write Cache SSD

Hybrid Device Controller

Griffin

MIGRATE

WritesReads Reads

Options

Thursday, February 25, 2010

Page 14: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin Hybrid Device

4

Write Cache SSD

Hybrid Device Controller

Griffin

MIGRATE

WritesReads Reads

OptionsRAM

Thursday, February 25, 2010

Page 15: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin Hybrid Device

4

Write Cache SSD

Hybrid Device Controller

Griffin

MIGRATE

WritesReads Reads

OptionsRAM

NVRAM

Thursday, February 25, 2010

Page 16: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin Hybrid Device

4

Write Cache SSD

Hybrid Device Controller

Griffin

MIGRATE

WritesReads Reads

OptionsRAM

NVRAMSSD

Thursday, February 25, 2010

Page 17: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin Hybrid Device

4

Write Cache SSD

Hybrid Device Controller

Griffin

MIGRATE

WritesReads Reads

OptionsRAM

NVRAMSSD

Hard Disk

Thursday, February 25, 2010

Page 18: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin Hybrid Device

4

Write Cache SSD

Hybrid Device Controller

Griffin

MIGRATE

WritesReads Reads

Why Hard Disk?DurableCapacityCheap

Sequential I/O

Thursday, February 25, 2010

Page 19: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Contributions

5

Thursday, February 25, 2010

Page 20: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Contributions

‣ Characterized I/O patterns

- Found desktop/server traces contains many overwrites

- Caching overwrites reduces writes to SSD by 52% ideally

5

Thursday, February 25, 2010

Page 21: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Contributions

‣ Characterized I/O patterns

- Found desktop/server traces contains many overwrites

- Caching overwrites reduces writes to SSD by 52% ideally

‣ Designed Griffin hybrid disk

- Uses a disk-based write cache

- Cache data on hard disk, periodically move it back to SSD

- Shows a 2x lifetime improvement ( < 5% HDD reads)

5

Thursday, February 25, 2010

Page 22: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Outline

‣ Motivating Workload Characteristics

- Key features

‣Disk-based Write Caching

‣ Experimental Evaluation

‣Conclusions

6

Thursday, February 25, 2010

Page 23: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

I/O Workload Characterization

‣ Examined various I/O traces

- Desktops (Internal Microsoft traces)

- Servers (Narayanan et. al from MSR Cambridge)

- Use only the write-intensive traces

- Linux (Bhadkamkar et. al. from FIU)

- Contains desktop, SVN, and web server

‣ Trace descriptions

- Block I/Os collected below the filesystem buffer cache

- Multi-hour traces of 5 hours to 176 hours

- Between 209K to 543M I/O events per trace

7

Thursday, February 25, 2010

Page 24: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Key Metrics

8

Thursday, February 25, 2010

Page 25: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Key Metrics

‣Overwrites

- Consecutive writes to a block without an intervening read

8

Thursday, February 25, 2010

Page 26: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Key Metrics

‣Overwrites

- Consecutive writes to a block without an intervening read

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

Thursday, February 25, 2010

Page 27: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Key Metrics

‣Overwrites

- Consecutive writes to a block without an intervening read

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

Thursday, February 25, 2010

Page 28: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Key Metrics

‣Overwrites

- Consecutive writes to a block without an intervening read

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

Thursday, February 25, 2010

Page 29: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Key Metrics

‣Overwrites

- Consecutive writes to a block without an intervening read

‣Write-after-Write (WAW) Times

- Time between two consecutive writes to the same block

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

WAW

Thursday, February 25, 2010

Page 30: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Key Metrics

‣Overwrites

- Consecutive writes to a block without an intervening read

‣Write-after-Write (WAW) Times

- Time between two consecutive writes to the same block

‣ Read-after-Write (RAW) Times

- Time between a write and a subsequent read to the same block

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

RAWWAW

Thursday, February 25, 2010

Page 31: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Why Overwrites? Lifetime of a Block

9

Thursday, February 25, 2010

Page 32: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Why Overwrites? Lifetime of a Block

9

R: 100

Time ∞

Thursday, February 25, 2010

Page 33: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Why Overwrites? Lifetime of a Block

9

W: 100 W: 100 W: 100 W: 100R: 100

Writeback to diskTime ∞

Thursday, February 25, 2010

Page 34: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Why Overwrites? Lifetime of a Block

9

W: 100 W: 100 W: 100 W: 100 R: 100R: 100

Evicted from FS buffer

cache

Time ∞

Thursday, February 25, 2010

Page 35: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Why Overwrites? Lifetime of a Block

9

W: 100 W: 100 W: 100 W: 100 R: 100R: 100

Evicted from FS buffer

cache

W: 100

Coalesced write to SSD

75% write savings

Time ∞

Thursday, February 25, 2010

Page 36: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Top Overwritten Files in Desktops

10

Rank Filename

1 C:\Outlook.ost

2 C:\...\Search\...\Windows.edb

3 C:\$Bitmap

4 C:\Windows\Prefetch\Layout.ini

5 C:\Users\<name>\NTUSER.DAT

6 C:\$Mft

Thursday, February 25, 2010

Page 37: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Ideal Write Savings: Remove Overwrites

11

Thursday, February 25, 2010

Page 38: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Ideal Write Savings: Remove Overwrites

11

0

25

50

75

100

Writ

e S

avin

gs (%

)

Desktops Servers Linux

Thursday, February 25, 2010

Page 39: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Ideal Write Savings: Remove Overwrites

11

0

25

50

75

100

Writ

e S

avin

gs (%

)

Desktops Servers Linux

14%

94%

Thursday, February 25, 2010

Page 40: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Ideal Write Savings: Remove Overwrites

11

0

25

50

75

100

Writ

e S

avin

gs (%

) 52% AverageWrite Savings

Desktops Servers Linux

14%

94%

Thursday, February 25, 2010

Page 41: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

WAW/RAW Time Intervals

12

WAW RAW

Cum

ulat

ive

Tim

e In

terv

al (%

)

Histogram Buckets (seconds)

Thursday, February 25, 2010

Page 42: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0 10 30 60 120 300 600 900 3600 Inf0

25

50

75

100

WAW/RAW Time Intervals

12

WAW RAW

Cum

ulat

ive

Tim

e In

terv

al (%

)

Histogram Buckets (seconds)

Thursday, February 25, 2010

Page 43: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0 10 30 60 120 300 600 900 3600 Inf0

25

50

75

100

WAW/RAW Time Intervals

12

Overwrites happen quickly

WAW RAW

Cum

ulat

ive

Tim

e In

terv

al (%

)

Histogram Buckets (seconds)

Thursday, February 25, 2010

Page 44: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0 10 30 60 120 300 600 900 3600 Inf0

25

50

75

100

WAW/RAW Time Intervals

12

Written data is read

late

WAW RAW

Cum

ulat

ive

Tim

e In

terv

al (%

)

Histogram Buckets (seconds)

Thursday, February 25, 2010

Page 45: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Summary of Observations

13

Thursday, February 25, 2010

Page 46: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Summary of Observations

‣ Large fraction of overwrites

- Potential of 36% to 64% reduction for desktops

- As much as 94% in server workloads (web server)

- Linux: 62% in desktop and 81% in servers (web server)

13

Thursday, February 25, 2010

Page 47: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Summary of Observations

‣ Large fraction of overwrites

- Potential of 36% to 64% reduction for desktops

- As much as 94% in server workloads (web server)

- Linux: 62% in desktop and 81% in servers (web server)

‣Overwrites happen quickly, reads after a long interval

- Over 50% of overwrites within 30 seconds

- Only 21% of written data read within 15 minutes

13

Thursday, February 25, 2010

Page 48: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Outline

‣ Motivating Workload Characteristics

‣Disk-based Write Caching

- Basic algorithm

- Performance tradeoffs

‣ Experimental Results

‣Conclusions

14

Thursday, February 25, 2010

Page 49: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Writes

15

HDD SSD

Griffin

LOG: 1

Thursday, February 25, 2010

Page 50: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Writes

15

HDD SSD

Griffin

W: 100LOG: 1

Thursday, February 25, 2010

Page 51: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Writes

15

HDD SSD

Griffin

W: 100LOG: 1

Send to Hard Disk

Thursday, February 25, 2010

Page 52: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Writes

15

HDD SSD

Griffin

LOG: 1LOG: 2 Block Log

100 1

200 2

Blockmap

Memory

Thursday, February 25, 2010

Page 53: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Writes

15

HDD SSD

Griffin

LOG: 1LOG: 2LOG: 3 Block Log

100 1

200 2

Blockmap

Memory

Thursday, February 25, 2010

Page 54: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Reads

16

HDD SSD

Griffin

LOG: 3 Block Log

100 1

200 2

Blockmap

Memory

Thursday, February 25, 2010

Page 55: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Reads

16

HDD SSD

Griffin

R: 100LOG: 3 Block Log

100 1

200 2

Blockmap

Memory

Thursday, February 25, 2010

Page 56: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Reads

16

HDD SSD

Griffin

R: 100LOG: 3 Block Log

100 1

200 2

Blockmap

Check Blockmap

Memory

Thursday, February 25, 2010

Page 57: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Reads

16

HDD SSD

Griffin

LOG: 3R: 300

Block Log

100 1

200 2

Blockmap

Memory

Thursday, February 25, 2010

Page 58: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Handling Reads

16

HDD SSD

Griffin

LOG: 3 Block Log

100 1

200 2

Blockmap

Memory

Thursday, February 25, 2010

Page 59: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Data Migration

17

HDD SSD

Griffin

Block Log

100 1

200 2

Blockmap

Memory

Thursday, February 25, 2010

Page 60: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Data Migration

17

HDD SSD

Griffin

Block Log

100 1

200 2

Blockmap

Migrate data to SSD

Memory

Thursday, February 25, 2010

Page 61: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin: Data Migration

17

HDD SSD

Griffin

Block Log

100 1

200 2

Blockmap

Thursday, February 25, 2010

Page 62: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Tradeoff: Write Savings vs. Read Penalty

18

Thursday, February 25, 2010

Page 63: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Tradeoff: Write Savings vs. Read Penalty

18

What to cache?

How

long

to c

ache

?

All Writes

Long

Tim

e

Thursday, February 25, 2010

Page 64: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Tradeoff: Write Savings vs. Read Penalty

18

Writ

e Sav

ings

What to cache?

How

long

to c

ache

?

All Writes

Long

Tim

e

Thursday, February 25, 2010

Page 65: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Tradeoff: Write Savings vs. Read Penalty

18

Read P

enalt

yW

rite

Savin

gs

What to cache?

How

long

to c

ache

?

All Writes

Long

Tim

e

Thursday, February 25, 2010

Page 66: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Tradeoff: Write Savings vs. Read Penalty

18

Read P

enalt

yW

rite

Savin

gs

What to cache?

How

long

to c

ache

?

All Writes

Long

Tim

e

What to cache?

Thursday, February 25, 2010

Page 67: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

What to cache?: Overwrite Distribution

19

0

25

50

75

100

0.01 0.1 1 10 100

Perc

enta

ge o

f Ove

rwrit

es

Percentage of Written Blocks

Thursday, February 25, 2010

Page 68: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

What to cache?: Overwrite Distribution

19

1% of the blocks receive

70% of overwrites

0

25

50

75

100

0.01 0.1 1 10 100

Perc

enta

ge o

f Ove

rwrit

es

Percentage of Written Blocks

Thursday, February 25, 2010

Page 69: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Selective Write-Caching

20

HDD SSD

Griffin

LOG: 1

Thursday, February 25, 2010

Page 70: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Selective Write-Caching

20

HDD SSD

Griffin

W: 100LOG: 1

Blockmap

Block Overwritten? Log

100 ✔

Thursday, February 25, 2010

Page 71: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Selective Write-Caching

20

HDD SSD

Griffin

W: 100LOG: 1

Blockmap

Block Overwritten? Log

100 ✔

Is heavily overwritten?

Thursday, February 25, 2010

Page 72: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Selective Write-Caching

20

HDD SSD

Griffin

LOG: 1LOG: 2

Blockmap

Block Overwritten? Log

100 ✔ 1

Thursday, February 25, 2010

Page 73: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Selective Write-Caching

20

HDD SSD

Griffin

LOG: 1LOG: 2

Blockmap

Block Overwritten? Log

100 ✔ 1

Thursday, February 25, 2010

Page 74: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Tradeoff: Write Savings vs. Read Penalty

21

Read P

enalt

yW

rite

Savin

gs

What to cache?

How

long

to c

ache

?

All Writes

Long

Tim

e

Thursday, February 25, 2010

Page 75: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Tradeoff: Write Savings vs. Read Penalty

21

Read P

enalt

yW

rite

Savin

gs

What to cache?

How

long

to c

ache

?

All Writes

Long

Tim

e

Ho

w lo

ng t

o c

ache

?

Thursday, February 25, 2010

Page 76: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

25

50

75

100

0 10 30 60 120 300 600 900 3600 Inf

How long to cache?: Time Intervals

22

Overwrites happen quickly

Written data is read

late

WAW RAW

Cum

ulat

ive

Tim

e In

terv

al (%

)

Histogram Buckets (seconds)

Thursday, February 25, 2010

Page 77: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

25

50

75

100

0 10 30 60 120 300 600 900 3600 Inf

How long to cache?: Time Intervals

22

Overwrites happen quickly

Written data is read

late

WAW RAW

Cum

ulat

ive

Tim

e In

terv

al (%

)

Histogram Buckets (seconds)

Thursday, February 25, 2010

Page 78: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

25

50

75

100

0 10 30 60 120 300 600 900 3600 Inf

How long to cache?: Time Intervals

22

Overwrites happen quickly

Written data is read

late

WAW RAW

Cum

ulat

ive

Tim

e In

terv

al (%

)

Histogram Buckets (seconds)

Thursday, February 25, 2010

Page 79: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

How long to cache?: Migration Triggers

23

Thursday, February 25, 2010

Page 80: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

How long to cache?: Migration Triggers

‣ Timeout trigger

- Idea: Fires after a certain time elapses

- Could have high read penalty

23

Thursday, February 25, 2010

Page 81: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

How long to cache?: Migration Triggers

‣ Timeout trigger

- Idea: Fires after a certain time elapses

- Could have high read penalty

‣ Read-threshold trigger

- Idea: Fires if HDD reads exceeds threshold since last migration

- Bounds HDD read fraction

- Could have no migrations for a long time

23

Thursday, February 25, 2010

Page 82: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

How long to cache?: Migration Triggers

‣ Timeout trigger

- Idea: Fires after a certain time elapses

- Could have high read penalty

‣ Read-threshold trigger

- Idea: Fires if HDD reads exceeds threshold since last migration

- Bounds HDD read fraction

- Could have no migrations for a long time

‣Hybrid trigger

- Every 15 mins or read penalty > 5%

23

Thursday, February 25, 2010

Page 83: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Outline

‣ Motivating Workload Characteristics

‣Disk-based Write Caching

‣ Experimental Evaluation

- Caching Policies: What to cache?

- Migration Policies: How long to cache?

- Performance: Lifetime and Latency

‣Conclusions

24

Thursday, February 25, 2010

Page 84: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

10

20

30

40

50

60

70

80

90

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

SS

D w

rite

sav

ing

s

(per

cen

tag

e o

f to

tal

wri

tes)

Traces

Full CachingSelective Caching

What to Cache?: Write Savings

25

Thursday, February 25, 2010

Page 85: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

10

20

30

40

50

60

70

80

90

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

SS

D w

rite

sav

ing

s

(per

cen

tag

e o

f to

tal

wri

tes)

Traces

Full CachingSelective Caching

What to Cache?: Write Savings

25

Migrated at the end of

trace

Thursday, February 25, 2010

Page 86: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

10

20

30

40

50

60

70

80

90

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

SS

D w

rite

sav

ing

s

(per

cen

tag

e o

f to

tal

wri

tes)

Traces

Full CachingSelective Caching

What to Cache?: Write Savings

25

Migrated at the end of

trace

25%

Thursday, February 25, 2010

Page 87: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

10

20

30

40

50

60

70

80

90

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

SS

D w

rite

sav

ing

s

(per

cen

tag

e o

f to

tal

wri

tes)

Traces

Full CachingSelective Caching

What to Cache?: Write Savings

25

Migrated at the end of

trace

51%

25%

Thursday, February 25, 2010

Page 88: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

HD

D r

ead p

enal

ty

(per

cen

tag

e of

tota

l re

ads)

Traces

Full CachingSelective Caching

What to Cache?: Read Penalty

26

Thursday, February 25, 2010

Page 89: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

HD

D r

ead p

enal

ty

(per

cen

tag

e of

tota

l re

ads)

Traces

Full CachingSelective Caching

What to Cache?: Read Penalty

26

Migrated at the end of

trace

Thursday, February 25, 2010

Page 90: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

HD

D r

ead p

enal

ty

(per

cen

tag

e of

tota

l re

ads)

Traces

Full CachingSelective Caching

What to Cache?: Read Penalty

26

Migrated at the end of

trace

19%

Thursday, February 25, 2010

Page 91: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

How Long to Cache?: Write Savings

27

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

SS

D w

rite

sav

ing

s

(per

cen

tag

e o

f to

tal

wri

tes)

Traces

Migration timeout 3600 sMigration timeout 1800 sMigration timeout 900 s

Thursday, February 25, 2010

Page 92: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

How Long to Cache?: Write Savings

27

15min gives large savings

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

SS

D w

rite

sav

ing

s

(per

cen

tag

e o

f to

tal

wri

tes)

Traces

Migration timeout 3600 sMigration timeout 1800 sMigration timeout 900 s

Thursday, February 25, 2010

Page 93: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

How Long to Cache?: Write Savings

27

15min gives large savings

1hr less additional

benefit

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

SS

D w

rite

sav

ing

s

(per

cen

tag

e o

f to

tal

wri

tes)

Traces

Migration timeout 3600 sMigration timeout 1800 sMigration timeout 900 s

Thursday, February 25, 2010

Page 94: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

How Long to Cache?: Read Penalty

28

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

HD

D r

ead p

enal

ty

(per

cen

tag

e of

tota

l re

ads)

Traces

Migration timeout 3600 sMigration timeout 1800 sMigration timeout 900 s

Thursday, February 25, 2010

Page 95: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

How Long to Cache?: Read Penalty

28

7%

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C1

0

S−

SR

C2

2

S−

ST

G1

S−

WD

EV

2

HD

D r

ead p

enal

ty

(per

cen

tag

e of

tota

l re

ads)

Traces

Migration timeout 3600 sMigration timeout 1800 sMigration timeout 900 s

Thursday, February 25, 2010

Page 96: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C10

S−

SR

C22

S−

ST

G1

S−

WD

EV

2

SS

D b

lock

eras

ure

sav

ings

(%)

Traces

Savings with a simple FTLSavings with an ideal FTL

Performance Summary: Erasure Savings

29

Thursday, February 25, 2010

Page 97: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C10

S−

SR

C22

S−

ST

G1

S−

WD

EV

2

SS

D b

lock

eras

ure

sav

ings

(%)

Traces

Savings with a simple FTLSavings with an ideal FTL

Performance Summary: Erasure Savings

29

Direct block-level mapping

Thursday, February 25, 2010

Page 98: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C10

S−

SR

C22

S−

ST

G1

S−

WD

EV

2

SS

D b

lock

eras

ure

sav

ings

(%)

Traces

Savings with a simple FTLSavings with an ideal FTL

Performance Summary: Erasure Savings

29

Direct block-level mapping

Log structured page-level mapping

Thursday, February 25, 2010

Page 99: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

0

20

40

60

80

100

D−

1A

D−

1B

D−

1C

D−

1D

D−

2A

D−

2B

D−

2C

D−

2D

D−

3A

D−

3B

D−

3C

D−

3D

S−

EX

CH

S−

PR

XY

1

S−

SR

C10

S−

SR

C22

S−

ST

G1

S−

WD

EV

2

SS

D b

lock

eras

ure

sav

ings

(%)

Traces

Savings with a simple FTLSavings with an ideal FTL

Performance Summary: Erasure Savings

29

> 2x

Thursday, February 25, 2010

Page 100: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Performance Summary: I/O Latency

30

0

0.2

0.4

0.6

0.8

1

Total Read Write Total Read Write

Rel

ativ

e I/

O l

aten

cy

Workload T1 Workload T2

HDD 7.2KHDD 10K

MLCSLC

Thursday, February 25, 2010

Page 101: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Performance Summary: I/O Latency

30

0

0.2

0.4

0.6

0.8

1

Total Read Write Total Read Write

Rel

ativ

e I/

O l

aten

cy

Workload T1 Workload T2

HDD 7.2KHDD 10K

MLCSLC

Most I/O intensive segments (2hr) -

desktopThursday, February 25, 2010

Page 102: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Performance Summary: I/O Latency

30

0

0.2

0.4

0.6

0.8

1

Total Read Write Total Read Write

Rel

ativ

e I/

O l

aten

cy

Workload T1 Workload T2

HDD 7.2KHDD 10K

MLCSLC

0.44

Thursday, February 25, 2010

Page 103: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Performance Summary: I/O Latency

30

0

0.2

0.4

0.6

0.8

1

Total Read Write Total Read Write

Rel

ativ

e I/

O l

aten

cy

Workload T1 Workload T2

HDD 7.2KHDD 10K

MLCSLC

0.44

0.15

Thursday, February 25, 2010

Page 104: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

More in the Paper

31

Thursday, February 25, 2010

Page 105: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

More in the Paper

‣ Evaluation of other policies

- Different migration triggers

31

Thursday, February 25, 2010

Page 106: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

More in the Paper

‣ Evaluation of other policies

- Different migration triggers

‣ Failure handling

- Have state on two devices

- Recovery more intricate

- Leverage existing journalling and recovery techniques

- More details in the paper

31

Thursday, February 25, 2010

Page 107: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Conclusions

‣ SSDs starting to appear in desktops/laptops

- Contain more write-intensive workloads

- Lifetimes limited due to limit of block erasures

‣ Built Griffin hybrid disk

- Uses hard drive as a write-cache

‣ Reduces writes while maintaining performance

- Reduces writes by 52% (< 5% HDD reads)

- Improves lifetime by factor of 2

- Reduces average I/O latency by 56%

32

Thursday, February 25, 2010

Page 108: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Griffin picture from:http://www.e-wollmann.com/griffin.jpg

Thank you

33

Thursday, February 25, 2010

Page 109: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Related Work

‣ SSD Lifetimes

- Shown to degrade over time

- Grupp et. al [ISM’09]

- Desyoners [HotStorage’09], Boboila et. al [FAST’10]

‣Hybrid drives

- Used SSD as cache for hard drive

- Kotsidas et. al [VLDB’08], Combo drive [WISH’09]

- Windows ReadyBoost

- caches data normally paged out the HDD

- Intel Turbo Memory and Sun ZFS+Flash

34

Thursday, February 25, 2010

Page 110: Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN, and web server ‣Trace descriptions - Block I/Os collected below the filesystem

Improved Sequentiality

35

GriffinDefault

0

60

80

100D!1

AD!1

BD!1

CD!1

DD!2

AD!2

BD!2

CD!2

DD!3

AD!3

BD!3

CD!3

DS!

EXC

HS!

PRX

Y1

S!SR

C10

S!SR

C22

S!ST

G1

S!W

DEV

2

Sequ

entia

l writ

es(p

erce

ntag

e of

tota

l writ

es)

Traces

20

40

Thursday, February 25, 2010