reducing ssd read latency via nand flash program and erase … · 2019. 2. 25. · design:...

18
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.

Upload: others

Post on 11-Oct-2020

6 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conclusion

• Suspending P/E for read is a feasible solution:

– Significant read performance gain.

– Low overhead on write latency.

18