The Why and How of SSD
Performance Benchmarking
SNIA Legal Notice
The material contained in this tutorial is copyrighted by the SNIA.
Member companies and individual members may use this material in
presentations and literature under the following conditions:
Any slide or slides used must be reproduced in their entirety without
modification
The SNIA must be acknowledged as the source of any material used in the
body of any document containing material from these presentations.
This presentation is a project of the SNIA Education Committee.
Neither the author nor the presenter is an attorney and nothing in this
presentation is intended to be, or should be construed as legal advice or an
opinion of counsel. If you need legal advice or a legal opinion please
contact your attorney.
The information presented herein represents the author's personal opinion
and current understanding of the relevant issues involved. The author, the
presenter, and the SNIA do not assume any responsibility or liability for
damages arising out of any reliance on or use of this information.
Abstract
A variety of parameters can influence the
performance behavior of a solid state drive: current
and previous workloads, fragmentation, block size,
read/write mix, and queue depth to name a few
SNIA’s Performance Test Specification allows for
performance benchmarking that result in repeatable
and consistent test results
This presentation will provide an overview of the
SNIA SSD Performance Test Specification for both
Definition of SSS
The Performance Landscape
Random or
Random Precondition
Sustained Speed?
IOPS?
MB/s or Mb/s?
Block Size?
Variables influencing Performance
•
Platform
•
Test Hardware (CPU, interface, chipset, etc)
•
Software (OS, drivers)
•
SSS Device Architecture
Variables influencing Performance
•
Platform
•
Test Hardware (CPU, interface, chipset, etc)
•Software (OS, drivers)
•
SSS Device Architecture
•
Flash geometry, cache, flash management algorithm, etc
•
Workload
The need for Preconditioning
Santa Clara, CA USA
0 0.2 0.4 0.6 0.8 1 1.2 0 50 100 150 200 250 300 N or m al iz ed IO P S (I O P S/ M ax (I O PS ))
Performance States for Various SSDs
NM (MLC) NS (SLC) JS (SLC) PSM (MLC) JM (MLC)
FOB
Transition
Steady State
(desirable test range)
0 5000 10000 15000 20000 25000 30000 35000 40000 45000 20 60 100 140 180 220 260 300 340 380 420 460 500 540 580 620 660 700 740 780 820 860 900 940 980 IOPS
4K Random to 128K Sequential Transition
Write History - 1
4K Steady State
F.O.B. (~1hr)
Random to Sequential Transition (~1.5hr)
Write History - 2
0 500 1000 1500 2000 2500 3000 3500 4000 4500 20 60 100 140 180 220 260 300 340 380 420 460 500 540 580 620 660 700 740 780 820 860 900 940 980 1020 1060 1100 1140 1180 1220 1280 1320 1360 1400 1440 1480 1520 1560 1600 1640 1680128K Sequential to 4K Random Transition
4K
Steady
State
128K Steady State
Variables influencing Performance
•
Platform
•
Test Hardware (CPU, interface, chipset, etc)
•Software (OS, drivers)
•
SSS Device Architecture
•
Flash geometry, cache, flash management algorithm, etc
•
Workload
1.
Write history & preconditioning: State of device before testing
2.
Workload pattern: Read/write mix, transfer size,
Workload Pattern
0.5 2 8 1024 0.0 500.0 1000.0 1500.0 2000.0 2500.0 3000.0 3500.0 4000.0 0/100 10/90 20/80 35/65 65/35 80/20 90/10 100/0 Blo ck S ize (KB ) IO PS R/W Mix (%)3D IOPS Surface Profile
0.0-500.0 500.0-1000.0 1000.0-1500.0 1500.0-2000.0 2000.0-2500.0 2500.0-3000.0 3000.0-3500.0 3500.0-4000.0
Performance
depends on
Read/Write Mix
Block Size
Queue Depth
(not shown)
Variables influencing Performance
•
Platform
•
Test Hardware (CPU, interface, chipset, etc)
•Software (OS, drivers)
•
SSS Device Architecture
•
Flash geometry, cache, flash management algorithm, etc
•
Workload
1.
Write history & preconditioning: State of device before testing
2.
Workload pattern: Read/write mix, transfer size,
sequential/random
3.
Data Pattern: The actual bits in the data payload written to the
Dependency on data content - 1
0.5
2
8
32
128
512
0
5,000
10,000
15,000
20,000
25,000
30,000
35,000
0/100
10/90
20/80
35/65
65/35
80/20
90/10
100/0
Transfer Size (KB)
IOPS
R/W Mix %
3D IOPS Surface Profile (IOMETER 2008)
30,000 - 35,000
25,000 - 30,000
20,000 - 25,000
15,000 - 20,000
10,000 - 15,000
5,000 - 10,000
0 - 5,000
0.5 2 8 32 128 512 0 5,000 10,000 15,000 20,000 25,000 30,000 35,000 0/100 10/90 20/80 35/65 65/35 80/20 90/10 100/0 Transfer Size (KB) IOPS R/W Mix %
3D IOPS Surface Profile (IOMETER 2008)
30,000 - 35,000 25,000 - 30,000 20,000 - 25,000 15,000 - 20,000 10,000 - 15,000 5,000 - 10,000 0 - 5,000
Dependency on data content - 2
20,000 25,000 30,000 35,000
IOPS
3D IOPS Surface Profile (IOMETER 2006)
30,000 - 35,000 25,000 - 30,000 20,000 - 25,000 15,000 - 20,000 10,000 - 15,000 5,000 - 10,000 0 - 5,000