Everyone knows that, currently, the SSDs are one of the best storage devices that allow you to upgrade your architecture and significantly accelerate the performance of the computer. SSD accelerates the loading speed of your PC, applications opening and files searching speed, and generally increases the performance of your system. Despite the fact that solid-state drives are more expensive than standard hard drives, the performance improvement can hardly be overlooked.

The modern market is represented by a variety of storage devices that differ depending on the volume, interface, memory type, and vendor. The SATA SSDs are replaced by PCIe NVMe SSDs that deliver an increase in performance by connecting directly to the PCIe bus. A few months ago, Samsung announced the release of SSD 960 PRO and SSD 960 EVO NVMe, which will be discussed in this post. As well as 950 Pro, which was released last year, Samsung 960 Pro and 960 EVO are PCIe 3.0 x4 drives that utilize the latest version of the NVMe protocol for data transfer, designed to reduce delays, and utilize flash memory with maximum efficiency. Therefore, Samsung 960 EVO delivers performance close to 960 PRO, but at a much more affordable price.

Just as SSD 960 PRO Samsung, EVO uses the latest version of the 5-core Samsung Polaris controller and 3D V-NAND memory. However, to make EVO more affordable, the Samsung 960 Evo M.2 NVMe comes with a 3-bit MLC (TLC-NAND), unlike Samsung 960 Pro, which features a 2-bit MLC. Despite the lower endurance comparing to the PRO version, EVO is of interest to many users, providing good performance and lifetime at a lower price.

Like the previous-generation EVO-series drives, Samsung SSD 960 EVO supports improved Intelligent TurboWrite technology: Samsung uses a small part of the NAND memory as an SLC write buffer, significantly accelerating the writing process until the buffer is full. This technology allows measuring the workload of the user, and if the workload exceeds the buffer size, the latter can be expanded up to 42 GB.

Samsung EVO also features other improvements, such as the Dynamic Thermal Guard technology and the updated Magician Software, allowing to monitor the state of the drive. Nevertheless, in this post we will benchmark the performance of the SSD 960 EVO NVMe M.2. and compare it with the characteristics declared on the website.

Purpose

Our purpose is to test SSD performance under different workload types and compare the results with the characteristics declared by the vendor.

StarWind HyperConverged Appliance is a turnkey, entirely software-defined hyperconverged platform purpose-built for intensive virtualization workloads. Bringing the desired performance and reducing downtime, the solution can be deployed by organizations with limited budgets and IT team resources. Also, it requires only one onsite node to deliver HA for your applications that make the solution even more cost-efficient. Find out more about ➡ StarWind HyperConverged Appliance

Hardware

The tested storage device is built on TLC 3D V-NAND memory and features a total SLC cache of 22 GB. The SSD is connected to an M.2 connector and works using the NVMe protocol.

Declared performance characteristics:

During the test, we have used an M.2 -> PCI-Express X4 ASUS HYPER M.2 X4 MINI CARD adapter.

Specifications:

Benchmarking scope

DiskSPD 2.0.17 tool (https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223) has been used to benchmark the characteristics declared by the vendor. The following patterns were chosen to test the characteristics:

RANDOM READ (4KB, QD1, 1thread):

diskspd.exe -t1 -b4k -r -w0 -o1 -d120 -L-Sh -a16 1 diskspd . exe - t1 - b4k - r - w0 - o1 - d120 - L - Sh - a16

RANDOM WRITE (4KB, QD1, 1thread):

diskspd.exe -t1 -b4k -r -w100 -o1 -d120 -L-Sh -a16 1 diskspd . exe - t1 - b4k - r - w100 - o1 - d120 - L - Sh - a16

RANDOM READ (4KB, QD32, 4thread):

diskspd.exe -t4 -b4k -r -w0 -o32 -d120 -L-Sh -a16,18,20,22 1 diskspd . exe - t4 - b4k - r - w0 - o32 - d120 - L - Sh - a16 , 18 , 20 , 22

RANDOM WRITE (4KB, QD32, 4thread):

diskspd.exe -t4 -b4k -r -w100 -o32 -d120 -L-Sh -a16,18,20,22 1 diskspd . exe - t4 - b4k - r - w100 - o32 - d120 - L - Sh - a16 , 18 , 20 , 22

Testing was performed on a clean unformatted SSD.

Comparison of the performance with the declared characteristics:

As the benchmark results show, in general, the characteristics of the SSD correspond to the declared and even exceed them. However, the results obtained on Windows Server 2012 R2 are slightly worse than the results on Windows 10. This is due to the fact that we didn’t manage to install Samsung NVMe Driver on Windows Server. When we tried to install the driver on Windows Server 2012 R2, the installation got interrupted with an error:

Further testing was performed using the DiskSPD 2.0.17 tool on Windows Server 2012 R2 x64 (Microsoft NVMe Driver 6.3.9600.18203) and Windows 10 x64 (Samsung NVMe Driver 2.1.0.1611). Characteristics of DiskSPD 2.0.17 benchmark are 8 threads, 32 outstanding I/Os with each test duration equal to 120 seconds and software caching and hardware write caching disabled. Test patterns used are common for any storage benchmarks: 4k sequential read, 4k random read, 4k sequential write, 4k random write, 64k sequential read, 64k random read, 64k sequential write, 64k random write.

diskspd.exe -si -b4K -w0 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 #1 > 4kseqread.txt diskspd.exe -r -b4K -w0 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 #1 > 4krandread.txt diskspd.exe -si -b4K -w100 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 #1 > 4kseqwrite.txt diskspd.exe -r -b4K -w100 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 #1 > 4krandwrite.txt diskspd.exe -si -b64K -w0 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 #1 > 64kseqread.txt diskspd.exe -r -b64K -w0 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 #1 > 64krandread.txt diskspd.exe -si -b64K -w100 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 #1 > 64kseqwrite.txt diskspd.exe -r -b64K -w100 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 #1 > 64krandwrite.txt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 diskspd . exe - si - b4K - w0 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30 #1 > 4kseqread.txt diskspd . exe - r - b4K - w0 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30 #1 > 4krandread.txt diskspd . exe - si - b4K - w100 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30 #1 > 4kseqwrite.txt diskspd . exe - r - b4K - w100 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30 #1 > 4krandwrite.txt diskspd . exe - si - b64K - w0 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30 #1 > 64kseqread.txt diskspd . exe - r - b64K - w0 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30 #1 > 64krandread.txt diskspd . exe - si - b64K - w100 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30 #1 > 64kseqwrite.txt diskspd . exe - r - b64K - w100 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30 #1 > 64krandwrite.txt

Benchmarking on Windows Server 2012 R2

During testing on the random write pattern, we noted an abrupt approximately twofold drop in the write speed after 12-14 seconds from the start of the test. Since the DiskSPD tool does not allow receiving data with a per second output, the FIO v.2.16-1 tool (http://bluestop.org/fio/) was used for a more detailed investigation of this issue using the following configuration:

[global] bs=4k numjobs=8 iodepth=32 direct=1 ioengine=windowsaio cpus_allowed=16,18,20,22,24,26,28,30 time_based=1 runtime=360 filename=\\.\PhysicalDrive3 [seq-read] rw=randwrite stonewall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [ global ] bs = 4k numjobs = 8 iodepth = 32 direct = 1 ioengine = windowsaio cpus_allowed = 16 , 18 , 20 , 22 , 24 , 26 , 28 , 30 time_based = 1 runtime = 360 filename = \ \ . \ PhysicalDrive3 [ seq - read ] rw = randwrite stonewall

As you can see, in this case, write speed falls from 1365MB/s to 591MB/s at 14th second.

Further SSD performance during the random write is shown in the graph below:

It is possible that such performance is caused by Samsung Intelligent TurboWrite technology present in this type of SSD. However, according to the vendor’s description, Samsung Intelligent TurboWrite increases only the sequential write speed by measuring the user workload. If the workload exceeds the size of the buffer, then the size of the SCL buffer is adjusted to the larger side.

Below you can see the results of testing with DiskSPD 2.0.17 tool on Windows Server 2012 R2 using both software caching and hardware write caching option disabled (-Sh parameter) and enabled.

Influence of Queue Depth on random read and random write speed:

Testing of the SSD with 8 threads has shown that the increase of the queue depth by more than 16 does not lead to an increase in reading speed and is limited to 610K IOPS.

Saturation occurs on write operations with 4 threads and when queue depth=8 and the further increase in outstanding I/O does not lead to a significant increase in the write speed. With 8 threads workload, the SSD reaches maximum write speed slightly faster (with outstanding I/O = 4).

Influence of Samsung NVMe Driver on SSD testing results:

As you can see from the table above, using the Samsung NVMe Driver 2.1.0.1611 delivers an increase in performance from 8% to 23% depending on the pattern.

Benchmarking on Windows 10

Below you can see the workload on the CPU server (OS Windows 10) with the -Sh option enabled and disabled while running the DiskSPD tool:

4K random read

Caching disabled:

diskspd.exe -b4K -r -w0 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 1 diskspd . exe - b4K - r - w0 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30

4K random read

Caching enabled:

diskspd.exe -b4K -r -w0 -t8 -o32 -d120 -L -a16,18,22,24,26,28,30 1 diskspd . exe - b4K - r - w0 - t8 - o32 - d120 - L - a16 , 18 , 22 , 24 , 26 , 28 , 30

4K random write

Caching disabled:

diskspd.exe -b4K -r -w100 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 1 diskspd . exe - b4K - r - w100 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30

4K random write

Caching enabled:

diskspd.exe -b4K -r -w100 -t8 -o32 -d120 -L -a16,18,22,24,26,28,30 1 diskspd . exe - b4K - r - w100 - t8 - o32 - d120 - L - a16 , 18 , 22 , 24 , 26 , 28 , 30

64К sequential read

Caching disabled:

diskspd.exe -b64K -si -w0 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 1 diskspd . exe - b64K - si - w0 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30

64К sequential read

Caching enabled:

diskspd.exe -b64K -si -w0 -t8 -o32 -d120 -L -a16,18,22,24,26,28,30 1 diskspd . exe - b64K - si - w0 - t8 - o32 - d120 - L - a16 , 18 , 22 , 24 , 26 , 28 , 30

64К sequential write

Caching disabled:

diskspd.exe -b64K -si -w100 -t8 -o32 -d120 -Sh -L -a16,18,22,24,26,28,30 1 diskspd . exe - b64K - si - w100 - t8 - o32 - d120 - Sh - L - a16 , 18 , 22 , 24 , 26 , 28 , 30

64К sequential write

Caching enabled:

diskspd.exe -b64K -si -w100 -t8 -o32 -d120 -L -a16,18,22,24,26,28,30 1 diskspd . exe - b64K - si - w100 - t8 - o32 - d120 - L - a16 , 18 , 22 , 24 , 26 , 28 , 30

It should be mentioned that on both operating systems we have noted some instability in obtaining results after repeated testing.

Conclusion

Having benchmarked the Samsung flagship solution with DiskSPD 2.0.17 and FIO v.2.16-1 tools, you can see that the NVMe SSD 960 EVO M.2. corresponds to the declared characteristics only under the condition when testing takes into account its architecture and algorithm of cache operation. The peak read and write values are approximately the same as declared. However, to increase the performance of SSD on Windows 10 OS it is recommended to use the native Samsung NVMe Driver 2.1.0.161. In the case of using Microsoft NVMe Driver 6.3.9600.18203, the performance results are slightly worse than those declared, in particular on the random write pattern, that was demonstrated during testing on Windows Server 2012 R2.

Related materials:

Views All Time Views All Time 4 Views Today Views Today 17

Appreciate how useful this article was to you?

5 out of 5, based on 1 review 5 out of 5, based on 1 review

Loading... Loading...