increasing ssd performance and lifetime with multi · pdf fileincreasing ssd performance and...

20
Multi-Stream Write SSD Increasing SSD Performance and Lifetime with Multi-Stream Write Technology Changho Choi, PhD Samsung Semiconductor, Inc. Flash Memory Summit 2016 Santa Clara, CA 1

Upload: dangkien

Post on 15-Feb-2018

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Multi-Stream Write SSDIncreasing SSD Performance and Lifetime

with Multi-Stream Write Technology

Changho Choi, PhD

Samsung Semiconductor, Inc.

Flash Memory Summit 2016Santa Clara, CA 1

Page 2: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Disclaimer

Flash Memory Summit 2016Santa Clara, CA 2

This presentation is intended to provide information concerning SSD technology. We do our best to makesure that information presented is accurate and fully up-to-date. However, the presentation may be subjectto technical inaccuracies, information that is not up-to-date or typographical errors. As a consequence,Samsung does not in any way guarantee the accuracy or completeness of information provided on thispresentation. Samsung reserves the right to make improvements, corrections and/or changes to thispresentation at any time.The information in this presentation or accompanying oral statements may include forward-lookingstatements. These forward-looking statements include all matters that are not historical facts, statementsregarding the Samsung Electronics' intentions, beliefs or current expectations concerning, among otherthings, market prospects, growth, strategies, and the industry in which Samsung operates. By their nature,forward-looking statements involve risks and uncertainties, because they relate to events and depend oncircumstances that may or may not occur in the future. Samsung cautions you that forward lookingstatements are not guarantees of future performance and that the actual developments of Samsung, themarket, or industry in which Samsung operates may differ materially from those made or suggested by theforward-looking statements contained in this presentation or in the accompanying oral statements. Inaddition, even if the information contained herein or the oral statements are shown to be accurate, thosedevelopments may not be indicative developments in future periods. The information is provided as ageneral understanding and not directly representing any product.

Page 3: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Agenda NAND flash characteristics Multi-Stream Write

• Multi-Stream Write concept • Multi-Stream Write system architecture• Multi-Stream Write operation

Performance benefit Standards Summary Q&A

Flash Memory Summit 2016Santa Clara, CA 3

Page 4: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

NAND Flash Characteristics Operation: Read/Program/Erase Operation unit

• Read/Program: Page• Erase: block (= multiple pages)

Out-of-place update: in-place update(=overwrite) NOT allowed • Invalidate overwritten data

Page MUST be erased before programming(writes)• Program/Erase (P/E) cycles• Need garbage collection operation

Flash Memory Summit 2016Santa Clara, CA 4

Efficient data placement increases performancewith reduced garbage collection overhead

Page 5: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

NAND Flash Characteristics (Cont’d) Limited number of Program/Erase cycles

Flash Memory Summit 2016Santa Clara, CA 5

Efficient data placement increases lifetime(endurance) of SSD

Page 6: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Multi-Stream Write Provide better endurance, improved performance, and consistent latency

• Allow host to associate each write operation with a stream• All data associated with a stream is expected to be invalidated at the same time (e.g.,

updated, trimmed, unmapped, deallocated)• Align NAND block allocation based on application data characteristics(e.g., update

frequency)

Flash Memory Summit 2016Santa Clara, CA 6

Page 7: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Multi-Stream Write Operation Mapping data with different update frequency to different streams

Flash Memory Summit 2016Santa Clara, CA 7

Page 8: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Operation Example Efficient data placement with Multi-Stream Write

• Reduce GC overheads -> better performance and lifetime!

Flash Memory Summit 2016Santa Clara, CA 8

120100211

Legacy: Without Stream

Request data

Block 0 Block 1 Block 2120100

1

21

120

22120

221

120

120100211

Request data

Block 0 Block 1 Block 2

22120

1 20 100121120

221

201

Multi‐Stream

1

1

1

1

11

For effective multi‐streaming,proper mapping of data to streams is important!

1 1

Block 311

1

1

Reduce valid pages to copy

Page 9: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

FIO Performance Measurement System Hardware

• Quad Core Intel i7-4790 CPU 3.60GHz• 16GB memory

Software• Ubuntu 14.04 LTS, v4.0.3 Kernel with Multi-Stream Write patch• FIO 2.2.5 with Multi-Stream Write patch

Device• Multi-Stream Write enabled NVMe SSD

Flash Memory Summit 2016Santa Clara, CA 9

Page 10: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Performance Measurement Configuration

Four sequential write jobs six random read jobs• Different data lifetime: 1x, 10x, 33x, 55x

Precondition• 2 hours with four-write jobs

Flash Memory Summit 2016Santa Clara, CA 10

Page 11: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Four Streams – Read/Write(70%/30%)

Reads• Jobs: 6• Block size: 4k• Iodepth: 64

Flash Memory Summit 2016Santa Clara, CA 11

Read IOPS

Write Throughput WAF

1.8x

2x

Multi-Stream Write

Legacy

Multi-Stream Write

Legacy

Writes• Jobs: 4• Block size: 128k• Iodepth: 1

Less than 1/2 WAF = 2x lifetime

Page 12: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Cassandra Free open-source distributed NoSQL DB Provide high availability with no single point of failure Support clusters across multiple data centers Scalable Fault tolerant with automatic replication Support query language (CQL: Cassandra Query Language)

Flash Memory Summit 2016Santa Clara, CA 12

Page 13: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Performance Measurement Configuration

Hardware• Dell Precision T7810 Workstation• Intel Xeon E5-2630 CPU 2.40GHz• 64GB RAM

Software• Ubuntu 16.04 LTS, v4.6.0 Kernel with Multi-Stream Write patch• Cassandra 3.5.0 w/ Multi-Stream Write Patch

Benchmark• Cassandra built-in tool (cassandra-stress)• 50%/50% Read/Write• Total records: 1M

Device• Multi-Stream Write enabled SAS SSD 480GB• 4 hour pre-conditioning with 100% write

Flash Memory Summit 2016Santa Clara, CA 13

Page 14: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Cassandra Architecture Level-tiered compaction

Flash Memory Summit 2016Santa Clara, CA 14

WriteRequest Memory

Commit Log

Memtable

SSTable1K1K2

SSTable2K1K3

SSTable3K2K3

SSTable4K1K3

SSTable5K1 K2 K3

SSTable6 SSTable7

SSTable21

Flushing

SSTable22 SSTable23

Compaction

Level L0

Level L1

Level L2……

Page 15: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Cassandra in Legacy SSD Legacy SSD (same as a single stream ID case)

Flash Memory Summit 2016Santa Clara, CA 15

Memory

Commit Log

Memtable

SSTable1K1K2

SSTable2K1K3

SSTable3K2K3

SSTable4K1K3

SSTable5K1 K2 K3

SSTable6 SSTable7

SSTable21

Flushing

SSTable22 SSTable23

Level L0

Level L1

Level L2……

Commit Log

Compaction data Write

0000

00

00

Page 16: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Assign stream IDs according to file write characteristics

Cassandra in Multi-Stream Write SSD

Flash Memory Summit 2016Santa Clara, CA 16

Memory

Commit Log

Memtable

SSTable1K1K2

SSTable2K1K3

SSTable3K2K3

SSTable4K1K3

SSTable5K1 K2 K3

SSTable6 SSTable7

SSTable21

Flushing

SSTable22 SSTable23

Level L0

Level L1

Level L2……

Commit Log

Compaction data Write

2 ~ 72 ~ 711

88

99

Stream ID Level1 Commit  Log

2 Meta Data

3  Bloom Filters

4 Statistics

5 Indices

6 Summary

7 L0 data

8 L1 data

… …Compaction data Write

Page 17: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Cassandra Performance 45% performance improvement 2x lifetime More than 50% READ latency

reduction

Flash Memory Summit 2016Santa Clara, CA 17

0

2000

4000

6000

Legacy Multi‐Stream Write

IOPS

0

100

200

300

Avg RD Latency 99% RD latency

READ Latency

0

1

2

3

Legacy Multi‐stream Write

WAFHalf WAF = 2x lifetime

45%

More than 50% reduction

Page 18: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Standards SCSI/SAS: Completed in May, 2015

• Standard spec: http://www.t10.org/cgi-bin/ac.pl?t=f&f=sbc4r10.pdf

NVMe: standardization in final review stage

Flash Memory Summit 2016Santa Clara, CA 18

Page 19: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Summary With Multi-Stream Write, SSDs can be more efficiently used for

• Consistent better performance• Better endurance (=better SSD lifetime)

With Multi-Stream Write• FIO: more than 2x SSD lifetime in addition to the decent I/O

performance enhancement • Cassandra: 2x SSD lifetime as well as 45% I/O performance

improvement

Flash Memory Summit 2016Santa Clara, CA 19

Page 20: Increasing SSD Performance and Lifetime with Multi · PDF fileIncreasing SSD Performance and Lifetime with Multi-Stream ... forward-looking statements contained in this presentation

Flash Memory Summit 2016Santa Clara, CA 20