Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase...
Transcript of Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase...
![Page 1: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/1.jpg)
Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes
Gala Yadgar, Eitan Yaakobi, and Assaf Schuster
Computer Science
Technion
Technion – Israel Institute of Technology
![Page 2: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/2.jpg)
Reusing Flash with WOM Codes
Reusable SSD:
• Perform additional writes before erasure
• Extend lifetime
• Improve performance
• Preserve capacity and interface 2
0101100010 0000000000 0111110111 WRITE
ERASE
WRITE
REWRITE
ERASE
Reusing Flash with WOM Codes
![Page 3: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/3.jpg)
Write-Once Memory Codes
• 0 → 1 𝑏𝑢𝑡 1 ↛ 0
• WOM Code: write n bits of information on m cells, n>m
• Example: write 11 and then write 01
– Normally:
– WOM code:
data 1st write 2nd write
00 000 111
10 100 011
01 010 101
11 001 110
(Rivest and Shamir, 1982)
1 1 1 1 0 1
0 0 1
3
![Page 4: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/4.jpg)
Write-Once Memory Codes
• 0 → 1 𝑏𝑢𝑡 1 ↛ 0
• WOM Code: write n bits of information on m cells, n>m
• Example: write 11 and then write 01
– Normally:
– WOM code:
data 1st write 2nd write
00 000 111
10 100 011
01 010 101
11 001 110
(Rivest and Shamir, 1982)
1 1 1 1 0 1
0 0 1 1 0 1
4
![Page 5: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/5.jpg)
Typical Use of WOM Codes
• User writes logical data pages
• Page size increases with encoding
• Invalid pages are ‘reused’ without erasing
• Read before the second write [Grupp et. al., MICRO ‘09][Jagmohan et.al., MSST ‘10]
[Loujie et. al., GLOBECOM ‘12] [Jacobvitz et.al., HPCA ‘13][Odeh and Cassuto, MSST ‘14]
data 1st write 2nd write
00 000 111
10 100 011
01 010 101
11 001 110
Data Size
Encoded Size
WOM ENCODER
5
101100110100000011100010
100000011110000001110000
000010010101010001110000 100000010100010001110000 100111100000100010011000 100001111100001110001000
100101110001110010110000 100010101011100000010000
10110010111011000
100000011110000001110000
![Page 6: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/6.jpg)
Typical Use of WOM Codes
• User writes logical data pages
• Page size increases with encoding
• Invalid pages are ‘reused’ without erasing
• Read before the second write [Grupp et. al., MICRO ‘09][Jagmohan et.al., MSST ‘10]
[Loujie et. al., GLOBECOM ‘12] [Jacobvitz et.al., HPCA ‘13][Odeh and Cassuto, MSST ‘14]
data 1st write 2nd write
00 000 111
10 100 011
01 010 101
11 001 110
Data Size
Encoded Size
WOM ENCODER
6
101100110100000011100010
100000011110000001110000
000010010101010001110000 100000010100010001110000 100111100000100010011000 100001111100001110001000
100101110001110010110000 100010101011100000010000
111100110100111011101011
101110011110110101110110
110111100100100110011010 101011111101101110111010
111101110011110110110110 111010111011100011110110
111010110111010111111111 100100111101110011110110
101100110100000011100010 000010010101010001110000 111100110100111011101011 111010110111010111111111
10110010111011000
![Page 7: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/7.jpg)
Drawbacks of Typical Use
• Capacity overhead: – 29%-50% additional storage is needed for WOM coding
• Performance overheads: – I/O operations access 29%-50% more bits
– A read precedes every second write
• Compatibility: – Requires modification in physical page size
• Applicbality: – High encoding/decoding complexity
Data Size
Encoded Size
7
Overprovisioning
![Page 8: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/8.jpg)
Reusable SSD Design Goals
• Do not touch:
– Interface
– Performance
– Logical capacity
Polar WOM Codes [Burshtein and Strugatski, IT `13]
• Efficient
• May fail…
8
WOM ENCODER
1000011110000 0011010
!!!
![Page 9: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/9.jpg)
Reusable SSD Design Goals
• Do not touch:
– Interface
– Performance
– Logical capacity
• Avoid latency by parallelizing
• Handle failures by retrying
– 5% of encodings fail
– 0.25% of encodings fail twice
– Fall back to 1st write
Polar WOM Codes [Burshtein and Strugatski, IT `13]
• Efficient
• May fail…
9
WOM ENCODER
1000011110000 0011010
0011010
WOM ENCODER
WOM ENCODER
![Page 10: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/10.jpg)
Reusable SSD
• 1st write: (almost) unmodified no overhead
• 2nd write: one logical page two physical pages
100100110100010001110000
100100111110000011100000
010101110000100000100001 111100000011000100011000 100100100100110010011100 110010010010011110001001
101111000011100001110000 100000000000000100011000
101100110100000011100010
100000011110000001110000
000010010101010001110000 100000010100010001110000 100111100000100010011000 100001111100001110001000
100101110001110010110000 100010101011100000010000
100100110100010001110000
Data Size
Encoded Size
10
![Page 11: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/11.jpg)
Reusable SSD
• 1st write: (almost) unmodified no overhead
• 2nd write: one logical page two physical pages
100100110100010001110000
100100111110000011100000
010101110000100000100001 111100000011000100011000 100100100100110010011100 110010010010011110001001
101111000011100001110000 100000000000000100011000
101100110100000011100010
100000011110000001110000
000010010101010001110000 100000010100010001110000 100111100000100010011000 100001111100001110001000
100101110001110010110000 100010101011100000010000
110110110101010011110011
ENCODER
111100110100111011101011
100100110100010001110000
Encoded Size
11
![Page 12: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/12.jpg)
Reusable SSD
100100110100010001110000
100100111110000011100000
010101110000100000100001 111100000011000100011000 100100100100110010011100 110010010010011110001001
101111000011100001110000 100000000000000100011000
101100110100000011100010
100000011110000001110000
000010010101010001110000 100000010100010001110000 100111100000100010011000 100001111100001110001000
100101110001110010110000 100010101011100000010000
010111110001100101101101
ENCODER
110110110101010011110011 111100110100111011101011
111010110111010111111111
1111000101010010010111000
111010110111010111111111 010111110001100101101101
• 1st write: (almost) unmodified no overhead
• 2nd write: one logical page two physical pages
12
![Page 13: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/13.jpg)
Reusable SSD
100100110100010001110000
100100111110000011100000
010101110000100000100001 111100000011000100011000 100100100100110010011100 110010010010011110001001
101111000011100001110000 100000000000000100011000
101100110100000011100010
100000011110000001110000
000010010101010001110000 100000010100010001110000 100111100000100010011000 100001111100001110001000
100101110001110010110000 100010101011100000010000
111111110011110101011010
ENCODER
110110110101010011110011 111100110100111011101011
100100111101110011110110
0010010000111110101011110
111010110111010111111111 010111110001100101101101 111111110011110101011010 100100111101110011110110
• 1st write: (almost) unmodified no overhead
• 2nd write: one logical page two physical pages
13
![Page 14: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/14.jpg)
Reusable SSD
100100110100010001110000
101101111111011011101110
010101110000100000100001 111100000011000100011000 110111101101110110111101 111110110110111110101101
101111011011101101110111 110100110011101101011011
101100110100000011100010
101110011110110101110110
000010010101010001110000 100000010100010001110000 110111100100100110011010 101011111101101110111010
111101110011110110110110 111010111011100011110110
101101111111011011101110
ENCODER
110110110101010011110011 111100110100111011101011
101110011110110101110110
0010010000111110101011110
111010110111010111111111 010111110001100101101101 111111110011110101011010 100100111101110011110110
• 1st write: (almost) unmodified no overhead
• 2nd write: one logical page two physical pages
14
![Page 15: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/15.jpg)
The Benefit of Reusable SSD
• Standard SSD (best case): 𝐸 =𝑀
𝑁
• Reusable SSD (best case): “write once, get 50% free”
E′ =𝑀
𝑁+𝑁2 =
2
3𝐸
33% reduction in erasures
Logical Capacity
Overprovisioning (OP)
Erasures Logical pages written
Pages per block
15
![Page 16: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/16.jpg)
Putting it All Together
clean
recycled
clean
recycled
1st write
1st write
2nd write Hot/cold,
load balancing (FTL)
User
Write
Pla
ne 0
P
lan
e 1
16
clean used recycled reused
1st writes 2nd writes
full full
garbage collection: lifetime?
#recycled+#reused?
garbage collection
erase
![Page 17: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/17.jpg)
Extending SSD Lifetime
• User level – Caching, admission control, specialized FS/DB… [Soundararajan et. al., FAST ‘10][Oh et. al., FAST ‘12] [Li et. al., ATC ‘14][Marmol et. al., HotStorage ‘14]
• FTL – Wear leveling, throttling, partitioning,
buffering, deduplication… [Agarwal et. al., ATC ‘08][Lee et. al., FAST ‘12] [Desnoyers TOS ‘14][Kim and Ahn, FAST ‘08] [Gupta et. al., FAST ‘11]
• Code – Error correction [Cai et. al., DATE ‘12][Pan et. al., FAST ‘11][Zhao et. al., FAST ‘13]
• Flash – Write voltage/speed [Jeong et. al., FAST ‘14]
SSD
FTL
…110101011101…
Flash
17
![Page 18: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/18.jpg)
Evaluation
• How many erasures saved?
• How is performance affected?
• Sensitivity to design parameters
• DiskSim simulator – Available SSD extension
– Modified FTL component
• Trace input: – MSR Cambridge + Exchange
– Synthetic Zipf
Type Pgs/Blk R (us) W (ms) E (ms)
SLC 64 30 0.3 3
MLC 128 200 1.3 1.5
MLC 256 80 1.5 5
18
![Page 19: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/19.jpg)
Erasures
Expected 33%
reduction
19
![Page 20: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/20.jpg)
Response Time
Enterprise: up to 15% reduction
Consumer: up to 35% reduction
20
![Page 21: Write Once, Get 50% Free - USENIX · 2019. 12. 18. · Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes Gala Yadgar, Eitan Yaakobi, and Assaf Schuster Computer Science](https://reader036.fdocuments.net/reader036/viewer/2022071513/61341603dfd10f4dd73b81b7/html5/thumbnails/21.jpg)
Summary
• First applicable design of re-writes in SSD
– Unmodified logical capacity
– No hardware modification
– Efficient computation
• Up to 50% additional free writes
• Less erasures improved performance
– Parallel 2nd writes
– Prefetching
– Independent retries
• This is only the beginning!
– Improved codes
– Hardware encoders
21