Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN,...
Transcript of Extending SSD Lifetimes with Disk-Based Write Caches · 2019. 2. 25. · - Contains desktop, SVN,...
Extending SSD Lifetimes with Disk-Based Write Caches
Gokul SoundararajanUniversity of Toronto
Vijayan PrabhakaranMahesh BalakrishnanTed WobberMicrosoft Research
1
Thursday, February 25, 2010
Solid-State Devices (SSDs)
2
Thursday, February 25, 2010
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
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
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
SSD Write-lifetime
3
Thursday, February 25, 2010
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
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
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
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
Griffin Hybrid Device
4
Write Cache SSD
Hybrid Device Controller
GriffinWrites
Reads Reads
Thursday, February 25, 2010
Griffin Hybrid Device
4
Write Cache SSD
Hybrid Device Controller
Griffin
MIGRATE
WritesReads Reads
Thursday, February 25, 2010
Griffin Hybrid Device
4
Write Cache SSD
Hybrid Device Controller
Griffin
MIGRATE
WritesReads Reads
Options
Thursday, February 25, 2010
Griffin Hybrid Device
4
Write Cache SSD
Hybrid Device Controller
Griffin
MIGRATE
WritesReads Reads
OptionsRAM
Thursday, February 25, 2010
Griffin Hybrid Device
4
Write Cache SSD
Hybrid Device Controller
Griffin
MIGRATE
WritesReads Reads
OptionsRAM
NVRAM
Thursday, February 25, 2010
Griffin Hybrid Device
4
Write Cache SSD
Hybrid Device Controller
Griffin
MIGRATE
WritesReads Reads
OptionsRAM
NVRAMSSD
Thursday, February 25, 2010
Griffin Hybrid Device
4
Write Cache SSD
Hybrid Device Controller
Griffin
MIGRATE
WritesReads Reads
OptionsRAM
NVRAMSSD
Hard Disk
Thursday, February 25, 2010
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
Contributions
5
Thursday, February 25, 2010
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
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
Outline
‣ Motivating Workload Characteristics
- Key features
‣Disk-based Write Caching
‣ Experimental Evaluation
‣Conclusions
6
Thursday, February 25, 2010
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
Key Metrics
8
Thursday, February 25, 2010
Key Metrics
‣Overwrites
- Consecutive writes to a block without an intervening read
8
Thursday, February 25, 2010
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
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
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
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
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
Why Overwrites? Lifetime of a Block
9
Thursday, February 25, 2010
Why Overwrites? Lifetime of a Block
9
R: 100
Time ∞
Thursday, February 25, 2010
Why Overwrites? Lifetime of a Block
9
W: 100 W: 100 W: 100 W: 100R: 100
Writeback to diskTime ∞
Thursday, February 25, 2010
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
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
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
Ideal Write Savings: Remove Overwrites
11
Thursday, February 25, 2010
Ideal Write Savings: Remove Overwrites
11
0
25
50
75
100
Writ
e S
avin
gs (%
)
Desktops Servers Linux
Thursday, February 25, 2010
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
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
WAW/RAW Time Intervals
12
WAW RAW
Cum
ulat
ive
Tim
e In
terv
al (%
)
Histogram Buckets (seconds)
Thursday, February 25, 2010
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
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
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
Summary of Observations
13
Thursday, February 25, 2010
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
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
Outline
‣ Motivating Workload Characteristics
‣Disk-based Write Caching
- Basic algorithm
- Performance tradeoffs
‣ Experimental Results
‣Conclusions
14
Thursday, February 25, 2010
Griffin: Handling Writes
15
HDD SSD
Griffin
LOG: 1
Thursday, February 25, 2010
Griffin: Handling Writes
15
HDD SSD
Griffin
W: 100LOG: 1
Thursday, February 25, 2010
Griffin: Handling Writes
15
HDD SSD
Griffin
W: 100LOG: 1
Send to Hard Disk
Thursday, February 25, 2010
Griffin: Handling Writes
15
HDD SSD
Griffin
LOG: 1LOG: 2 Block Log
100 1
200 2
Blockmap
Memory
Thursday, February 25, 2010
Griffin: Handling Writes
15
HDD SSD
Griffin
LOG: 1LOG: 2LOG: 3 Block Log
100 1
200 2
Blockmap
Memory
Thursday, February 25, 2010
Griffin: Handling Reads
16
HDD SSD
Griffin
LOG: 3 Block Log
100 1
200 2
Blockmap
Memory
Thursday, February 25, 2010
Griffin: Handling Reads
16
HDD SSD
Griffin
R: 100LOG: 3 Block Log
100 1
200 2
Blockmap
Memory
Thursday, February 25, 2010
Griffin: Handling Reads
16
HDD SSD
Griffin
R: 100LOG: 3 Block Log
100 1
200 2
Blockmap
Check Blockmap
Memory
Thursday, February 25, 2010
Griffin: Handling Reads
16
HDD SSD
Griffin
LOG: 3R: 300
Block Log
100 1
200 2
Blockmap
Memory
Thursday, February 25, 2010
Griffin: Handling Reads
16
HDD SSD
Griffin
LOG: 3 Block Log
100 1
200 2
Blockmap
Memory
Thursday, February 25, 2010
Griffin: Data Migration
17
HDD SSD
Griffin
Block Log
100 1
200 2
Blockmap
Memory
Thursday, February 25, 2010
Griffin: Data Migration
17
HDD SSD
Griffin
Block Log
100 1
200 2
Blockmap
Migrate data to SSD
Memory
Thursday, February 25, 2010
Griffin: Data Migration
17
HDD SSD
Griffin
Block Log
100 1
200 2
Blockmap
Thursday, February 25, 2010
Tradeoff: Write Savings vs. Read Penalty
18
Thursday, February 25, 2010
Tradeoff: Write Savings vs. Read Penalty
18
What to cache?
How
long
to c
ache
?
All Writes
Long
Tim
e
Thursday, February 25, 2010
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
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
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
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
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
Selective Write-Caching
20
HDD SSD
Griffin
LOG: 1
Thursday, February 25, 2010
Selective Write-Caching
20
HDD SSD
Griffin
W: 100LOG: 1
Blockmap
Block Overwritten? Log
100 ✔
Thursday, February 25, 2010
Selective Write-Caching
20
HDD SSD
Griffin
W: 100LOG: 1
Blockmap
Block Overwritten? Log
100 ✔
Is heavily overwritten?
Thursday, February 25, 2010
Selective Write-Caching
20
HDD SSD
Griffin
LOG: 1LOG: 2
Blockmap
Block Overwritten? Log
100 ✔ 1
Thursday, February 25, 2010
Selective Write-Caching
20
HDD SSD
Griffin
LOG: 1LOG: 2
Blockmap
Block Overwritten? Log
100 ✔ 1
Thursday, February 25, 2010
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
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
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
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
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
How long to cache?: Migration Triggers
23
Thursday, February 25, 2010
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
More in the Paper
31
Thursday, February 25, 2010
More in the Paper
‣ Evaluation of other policies
- Different migration triggers
31
Thursday, February 25, 2010
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
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
Griffin picture from:http://www.e-wollmann.com/griffin.jpg
Thank you
33
Thursday, February 25, 2010
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
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