reducing ssd read latency via nand flash program and erase … · 2019. 2. 25. · design:...
TRANSCRIPT
![Page 1: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/1.jpg)
Reducing SSD Read Latency via NAND Flash Program and Erase Suspension
Guanying Wu and Xubin He
{wug, xhe2}@vcu.edu Department of Electrical and Computer Engineering
Virginia Commonwealth University
Richmond, VA
1 2/20/2012
This research is sponsored in part by the U.S. National Science Foundation (NSF) under grants CCF-1102605 and CCF-1102624.
![Page 2: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/2.jpg)
Suspend Program and Erase to make Read faster?
2
![Page 3: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/3.jpg)
Motivation
• P/E (Program/Erase) are about 10x/100x slower than read.
• P/E are non-suspendable in current NAND products
– Once committed to NAND flash, no preemptions.
• If apps write and read at the same time & Intensive workloads
– Read latency suffers from queuing delay.
3
![Page 4: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/4.jpg)
A Simple Demo
RD3 wouldn’t benefit from RPS
4
![Page 5: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/5.jpg)
Further Investigation
• Simulation with disk I/O traces.
– MS SSD-add-on simulator
– 6 popular traces
• Comparing:
– FIFO
– Read Priority Scheduling
– Optimistic cases:
• Equal latencies: PER
• 0 P/E latencies: PE0
0
0.2
0.4
0.6
0.8
1
F1
F2
DA
P
MSN
C3
C8
F1
F2
DA
P
MSN
C3
C8
No
rmal
ize
d R
ead
Lat
en
cy
FIFO RPS PER PE0
SLC MLC
5
![Page 6: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/6.jpg)
We are expecting:
Our Idea: Make NAND Flash P/E Suspendable
6
![Page 7: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/7.jpg)
Outline
• Background:
– Why can we suspend P/E?
• Design:
– How do we do it?
• Evaluation:
– Compare to the optimistic cases
• Conclusion
7
![Page 8: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/8.jpg)
Background: NAND Flash Erase
• NAND Flash Erase:
– Reset cells via a long pulse of Erase Voltage to expel the electrons.
– Plus a verify operation.
1.5/3ms
4us
Guarantee the duration
8
8us
![Page 9: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/9.jpg)
Background: NAND Flash Program
• NAND Flash Program:
– Incremental Step Pulse Programming
9 ARASE, K. Semiconductor NAND Type Flash Memory with Incremental Step Pulse Programming, Sept. 22 1998. U.S. Patent 5,812,457.
![Page 10: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/10.jpg)
Background: NAND Flash Program
NAND Flash Program: Timeline
• Program pulse and verify are considered atomic • Suspend in the interval between program pulse and verify
10
20us 8/24us
![Page 11: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/11.jpg)
Background: NAND Flash P/E
• Correct Timing
– Program: what is the last phase? what is the value of Vpp?
– Erase: how much job have we done/how much is left?
11
BREWER, J.; GILL, M. Nonvolatile Memory Technologies with Emphasis on Flash.
![Page 12: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/12.jpg)
Design: Suspend/Resume Erase
• Case 1: Read arrives when resetting wire voltage
• Case 2: Read in the middle of Erase Pulse or Verify (cancelled)
12
![Page 13: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/13.jpg)
Design: Suspend/Resume Erase
• Case 1: Suspension happens in Verify phase
– Redo Verify phase. (overhead to erase latency)
• Case 2: Suspension happens in Erase phase
– Finish what is left before suspension.
13
![Page 14: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/14.jpg)
Design: Suspend/Resume Program
• Program pulse and Verify are considered atomic, intuitively:
– Choice 1: Suspend in the intervals – Inter-Phase-Suspension
– Choice 2: Cancel the current phase – Intra-Phase-Cancellation
14
![Page 15: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/15.jpg)
Design: Suspend/Resume Program
• Need to retain the page buffer first.
• Resume from IPS
• Resume from IPC
Overhead
Overhead Overhead
15
![Page 16: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/16.jpg)
Evaluation: Read Latency
16
0
0.2
0.4
0.6
0.8
1
F1 F2 DAP MSN C3 C8 F1 F2 DAP MSN C3 C8
No
rmal
ize
d R
ead
Lat
en
cy
RPS PER PE0 PES_IPC
SLC MLC
0.9
0.95
1
1.05
1.1
1.15
F1 F2 DAP MSN C3 C8 F1 F2 DAP MSN C3 C8 No
rmal
ize
d R
ead
Lat
en
cy
PES_IPC PES_IPS
SLC MLC
![Page 17: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/17.jpg)
Evaluation: Write Latency Overhead
17
0.8
0.85
0.9
0.95
1
1.05
1.1
No
rmal
ize
d W
rite
Lat
en
cy
FIFO RPS PES_IPS PES_IPC
SLC MLC
![Page 18: Reducing SSD Read Latency via NAND Flash Program and Erase … · 2019. 2. 25. · Design: Suspend/Resume Erase •Case 1: Suspension happens in Verify phase –Redo Verify phase](https://reader036.vdocuments.net/reader036/viewer/2022062508/604353e4a1dc8879405b5da0/html5/thumbnails/18.jpg)
Conclusion
• Suspending P/E for read is a feasible solution:
– Significant read performance gain.
– Low overhead on write latency.
18