Samsung SM951 256GB Review

Sam ChenAugust 3, 2017

NVMe Takes the Performance Crown

Several weeks ago, I had the opportunity to review the Samsung SM951 512GB AHCI PCIe SSD. In the review, I noted that Samsung had originally told us that the SM951 would feature the NVMe protocol, but when it was launched earlier this year, it was only available with support for the AHCI protocol. Turns out, the Samsung SM951 is actually being manufactured in both AHCI and NVMe, but unfortunately for those looking for the NVMe SM951, Samsung’s initial production was limited to AHCI drives.

While the AHCI version of the Samsung SM951 is still one of the fastest client SSDs we’ve ever tested, the NVMe protocol’s software stack is significantly better suited for SSDs and, in turn, is expected to provide significantly better performance. Luckily, Samsung has started rolling out the first batches of the NVMe SM951 and they recently reached out to us with sample in hand for us to check out.

The Samsung SM951 NVMe will be available in capacities of 128GB, 256GB, and 512GB. The drives will come in the M.2 2280 form factor and natively supports a PCIe Gen 3 x4 interface along with the NVMe protocol. Just like the AHCI Samsung SM951 SSD, the NVMe Samsung SM951 will be available to OEMs only.

The Samsung SM951 NVMe’s onboard components are identical to the Samsung SM951 AHCI, so we’re looking at Samsung’s in-house UBX controller paired with Samsung 16nm Toggle Mode MLC. Samsung is expected to switch to newer 3D V-NAND and higher capacities down the line, but no official timeframe has been revealed at this time.

Sequential read/write performance is slightly faster than what we saw with the specs of the SM951 AHCI SSD with performance up to 2,150MB/s sequential reads and 1,550MB/s sequential writes. 4K random read performance is rated at up to 300,000 IOPS and 4K random write performance is rated at up to 100,000 IOPS for the higher capacities.

Let’s take a closer look!

A Closer Look at the Samsung SM951 256GB NVMe

Since the Samsung SM951 NVMe SSD isn’t currently available for retail, our sample arrived with nothing more than just the bare drive.

We received the Samsung SM951 256GB NVMe SSD. After a quick inspection, it looks like the Samsung SM951 NVMe SSD is pretty much the same exact thing as the Samsung SM951 AHCI SSD we reviewed previously with the only major difference being the label and the firmware.

The controller on the Samsung SM951 NVMe is the Samsung UBX controller (Model #S4LN058A01).

Although we previously believed Samsung to be using some variation of their 19nm Toggle Mode MLC NAND onboard the Samsung SM951, it’s is actually (surprisingly) using Samsung 16nm Toggle Mode MLC. TechInsights was able to figure this out thanks to some “…scanning electron microscopy (SEM), transmission electron microscopy (TEM), energy dispersive X-ray spectroscopy (TEM-EDS), electron energy loss spectroscopy (TEM-EELS) and spreading resistance profiling (SRP) analyses”. Previously, we erroneously believed that Samsung had skipped 16nm NAND by moving directly to 3D V-NAND, but it seems like their 16nm process is alive and well, supplying NAND to both the Samsung SM951 SSD and the Galaxy S6 smartphone.

Onboard the Samsung SM951 256GB NVMe is also a 512MB Samsung LPDDR2 DRAM module for the DRAM buffer.

SanDisk M.2 to PCIe x4 Adapter

We’d also like to thank SanDisk for providing us with a M.2 to PCIe x4 adapter for testing.

Samsung Magician

Samsung SM951 256GB NVMe

While we usually utilize Crystal Disk Info to provide information about our SSDs, the Samsung SM951 NVMe unfortunately was not compatible with the software at all. In fact, almost nothing I tested was compatible with the SM951 NVMe including Samsung’s own Magician software. The only information I could pull from the drive is the firmware version, which for our drive is BXW7.

Booting on the Samsung SM951 256GB NVMe SSD

Booting on NVMe drives without additional drivers has always been a concern in the SSD industry as illustrated by the fact that Samsung is introducing the SM951 in both NVMe and AHCI flavors. In the early days of NVMe development, it was unknown whether drives would need additional drivers to be installed to boot, but it seems like drivers are officially included with both Windows 8.1 and the latest Linux Kernels (3.3 or later).

Those with newer motherboards that support UEFI booting will be able to get their OS installed on NVMe drives by booting via UEFI. We’ll be sure to cover more on AHCI vs NVMe in a later article.

Samsung SM951 256GB NVMe Performance

ATTO Disk Benchmark v2.46

ATTO Disk Benchmark is one of the industry’s oldest and most popular benchmarks for testing disk read/write speeds. This benchmarks allows read and write testing using predefined block sizes and gives us a good idea of read/write speeds with different sized files. Most SSD manufacturers prefer using this benchmark when advertising SSDs as it tests using compressible data, which tends to yield best performance.

Performance Analysis

The Samsung SM951 256GB NVMe is rated at up to 2,150MB/s sequential reads and 1,260 MB/s sequential writes. Unfortunately, we were only able to achieve a maximum of 1,628MB/s sequential reads which I believe is due to a driver limitation in Windows. Sequential write performance on the other hand didn’t disappoint as our drive was able to reach 1,283MB/s.

AS SSD Benchmark

AS SSD is a very commonly used benchmark used to measure SSD performance in sequential, 4K, 4K QD64 and latency. Tests are run using 100% incompressible data. AS SSD also outputs a final score at the conclusion of the test based off the overall performance of the drive.

Additionally, we also run AS SSD’s included compression benchmark which tests the drive using data of varying compressibility. Some SSDs such as SandForce based SSDs tend to perform significantly better when the data is compressible.

Performance Analysis

AS SSD performance is impressive as well especially with 4K high queue depth reads which topped 1GB/s. The Samsung SM951 NVMe also scored 2,520 which is even higher than the 2,150 score we saw on the Samsung SM951 AHCI. That said, sequential read performance once again falls short once again likely due to a driver limitation.

Crystal Disk Mark 3.0.1 x64

Crystal Disk Mark is another popular benchmark which allows us to measure both sequential read/write speeds as well as random read/write speeds. With this benchmark, tests can be run using both random fill (incompressible data) and 0 fill (compressible data). Realistically in typical computer usage scenarios, data being transferred will consist of a mixture of both incompressible and compressible data.

Performance Analysis

Crystal Disk Mark results mirror what we’ve been seeing in the rest of testing. Once again, very high 4K random read performance at higher queue depths.

Samsung SM951 256GB NVMe Performance

PC Mark 7 Storage Benchmark

The PC Mark 7 storage benchmark is a trace based benchmark that evaluates the SSD under many different real world environments such as gaming, multimedia editing, etc. PC Mark 7 uses a relatively light workload, which represents a typical mainstream client storage sub-system workload.

As of June 2015, we’ve also changed our comparison charts to use the PC Mark 7 Raw Secondary Storage Score. The raw score more effectively highlights performance differences between drives as it discounts idle time between tests.

Performance Analysis

In PC Mark 7, the Samsung SM951 NVMe was extremely fast, but was slightly edged out by the AHCI version. That said, we’re looking at a smaller capacity NVMe drive with very early NVMe drivers, so it’s not really an apples to apples comparison here.

PC Mark 8 Expanded Storage Benchmark

With the introduction of PC Mark 8 2.0.228, Futuremark added the option for an Expanded Storage Benchmark which is literally designed to bring any storage system its absolute limits. The new PC Mark 8 Expanded Storage Benchmark takes around 24 hours to run and for our purposes, we’ll be using the consistency test which measures performance consistency, degradation tendency, and recovery speed of a storage system.

Consistency Test

Full details on the consistency test can be found in the PC Mark 8 Technical Guide here. For the more simplified version, the test is basically a near 24 hour, five phase benchmark – three of which we’ll be reporting on in our results below.

Phase 1 is a precondition phase designed to “dirty” the drive with random data. The entire drive is filled twice to the capacity of the drive.

Phase 2 is a degrade phase where the drive is hammered with tons of random data followed by a performance test run. This is done 8 times.

Phase 3 is the steady state phase where the drive is once again hammered with tons of random data followed by a performance test run. This is done 5 times.

Phase 4 is the recovery phase where the drive is given 5 minutes to rest followed by a performance test run. This is done 5 times.

Phase 5 is the clean up phase where the drive is simply secure erased.

Performance Analysis

The Samsung SM951 AHCI was fast, but the NVMe version really puts that one to shame. In PC Mark 8’s expanded storage benchmark, the Samsung SM951 NVMe was able to outperform its AHCI sibling by a good margin in all areas. It looks like NVMe really shines in heavier workloads as opposed to the lighter workloads found in PC Mark 7.

Samsung SM951 256GB NVMe Performance

FIO (Flexible I/O Tester)

FIO, which stands for Flexible I/O Tester, is basically what its name says – a flexible I/O tester / I/O workload generator. Whereas all the benchmarking tools we’ve used previously are fantastic, easy to use benchmarking tools that provide a good snapshot of SSD performance, they do lack a lot of versatility, especially for more complex and in-depth operations such as custom queue depths, block sizes, test run times, etc. While the testing that follows may not pertain to typical consumer usage, they do help give us a much more in-depth look at each individual product’s strengths and weaknesses when they’re pushed to the limits.

FIO – FOB (Fresh Out of the Box) Testing

When SSDs are brand new and Fresh Out of the Box, they’re generally able to perform at or outperform their advertised speeds, but unlike traditional hard drives, performance on SSDs begin to degrade over time as they become more and more used. This is because while SSDs are new, all bits on the SSD are empty, so they can instantly be programmed with data. However, once data gets programmed in, even if it’s deleted in the filesystem the actual data will still stay programmed on the NAND itself unless some sort of garbage collection routine comes in to wipe the data. Unfortunately, in order to write new data onto “dirty” NAND, the NAND first needs to go through an erase cycle to erase the old data before a program cycle can happen to program new data, which as you may imagine takes more time than just a simple program cycle. As this only happens when writing new data onto the SSD, you’ll generally see less performance degradation on reads and more performance degradation on writes.

For our FOB testing, we run a secure erase on the SSD then run each test sans any preconditioning. This will provide us with the highest level of performance the SSD is capable of and is likely never to be seen ever again once the SSD goes into a used state.

Our testing will include 4K read testing, 4K write testing, and 4K 70/30 read/write mix testing at queue depths of 1,2,4,8,16,32,64,128,256. The reason we’ve also included 4K 70/30 read/write mix testing is simply because most real world workloads will always fall somewhere between 0% write and 100% write rather than one or the other. Since client usage is much more read heavy, we’ll be using the 70/30 read/write mix.

For general client usage, performance will fall somewhere between queue depths of 1-4 whereas servers and other enterprise applications will easily see queue depths of 32 or greater.

Performance Analysis

While we’ve seen great performance in the previous benchmarks, nothing really gives as clear of a picture of the benefits of NVMe over AHCI like our 4K fresh out of the box testing results.

In previous testing, the Samsung SM951 512GB AHCI SSD was able to push a respectable ~181,000 IOPS 4K random read, but thanks to NVMe, the lower capacity Samsung SM951 256GB NVMe SSD was able almost double that performance with an incredible ~324,000 IOPS random read. Additionally, the Samsung SM951 256GB NVMe SSD was able to edge out its AHCI sibling in 4K random writes as well although it’s not a very significant difference.

Samsung SM951 256GB NVMe Performance

FIO – Steady State Testing

After prolonged use of an SSD, it will reach “steady state” where performance levels off to a minimum level. The FOB state is the “best case scenario” for SSD performance while “steady state” is going to be your worst. Here, we ran the exact same set of benchmarks we just completed in the FOB state; except this time around, we’ll be preconditioning the drive by filling 100% of the drive’s LBAs with two sequential passes of 128k data followed by hammering the drive for six hours with 4K random data prior to actual testing.

Performance Analysis

In steady state, the Samsung SM951 NVMe also performed extremely well, especially with high queue depth workloads where drive performance came in at just under 300,000 IOPS. 4K random write performance wasn’t nearly as impressive at around the 10,000 IOPS range, but still managed to beat out every client SATA SSD we tested. The Samsung SM951 NVMe did come in slightly slower than the AHCI drive, but our NVMe drive is a smaller capacity which makes it a bit of an unfair comparison.

Samsung SM951 256GB NVMe Performance

FIO 4K Random Write Consistency Testing

Another one of the benefits of testing with FIO is the flexibility of running consistency tests, which is one of the most important metrics when considering SSDs going forward. Looking at the results of our benchmarks such as ATTO Disk Benchmark and Crystal Disk Benchmark, we can see that practically every top tier SSD is capable of saturating SATA 6Gb/s in the FOB state. However, what really differentiates these SSDs is their ability to hold a certain level of performance even after extended periods of use.

For our consistency testing, we used a fairly standard method, which includes both filling up 75% of capacity as well as 100% capacity twice with sequential 128k data followed by the actual test itself, which is simply running 4K random writes at a queue depth of 32. By recording the IOPS every second for 2,000 seconds, we’re able to get a good look at what kind of performance can be expected when the drive is relatively new, when it’s heading towards steady state, and when it’s actually in steady state.

4K random write consistency at 75% and 100% fill are quite good, which is similar to what we saw with the AHCI drive. Again, the AHCI drive did perform a bit better, but most likely due to the higher capacity sample we received.

Samsung SM951 256GB NVMe Performance

FIO 4K Random Write Latency Testing

Another metric that’s becoming increasingly important in SSDs is its ability to keep latency low despite being subjected to a heavy workload. Even if a SSD were capable of ultra high and ultra consistent IOPS performance, if latency were high, users would still feel that the drive is slow. Ideally, SATA SSDs should always be capable of latencies under 50ms, even during heavy workloads.

For latency testing, we’ll be using the exact same testing parameters as IOPS consistency testing, except instead of recording IOPS every second, we’ll be recording latency.

Just like the Samsung SM951 AHCI, the Samsung SM951 NVMe performs very well here with latency kept well under 10ms.

Samsung SM951 256GB NVMe Performance

FIO 128K Random Write Consistency Testing

In addition to testing 4K random write consistency, we’ll also test for 128K random write consistency to see how well a SSD is able to hold itself to a level of performance when getting hammered with larger file transfers.

Testing methodology is very similar to our testing for 4K random write consistency. We use a fairly standard method, which includes both filling up 75% of capacity as well as 100% capacity twice with sequential 128k data followed by the actual test itself, which is running 128K random writes at a queue depth of 32. By recording the IOPS every second for 2,000 seconds, we’re able to get a good look at what kind of performance can be expected when the drive is relatively new, when it’s heading towards steady state, and when it’s actually in steady state.

With 128K writes, the Samsung SM951 NVMe drive really outperformed the competition. At 100% fill the performance of the drive is extremely fast, but there isn’t much consistency with performance ranging between 500MB/s and 1GB/s. However, once we reduce the drive fill to 75%, giving the drive a bit of swap space to work with, performance was maintained at a very consistent 1GB/s which is pretty phenomenal for a client SSD.

Samsung SM951 256GB NVMe Conclusions

Since the Samsung SM951 NVMe SSD is the first NVMe SSD I’ve ever had the opportunity to test, I wasn’t really sure what kind of performance I’d be seeing. Having tested the Samsung SM951 AHCI, I assumed that there’d be some sort of performance improvement, but the results honestly blew me away.

Performance on the NVMe SSD is significantly faster than what we saw with the AHCI version of the SSD. 4K random read performance was especially fast on NVMe, topping 324,000 IOPS, which is almost twice as fast as the AHCI version of the SSD. This is unheard of for a single controller client SSD. Depending on the task, the NVMe drive can also be significantly faster under heavy loads as well, which is especially apparent in our PC Mark 8 testing as well as our 128K random write performance consistency testing.

I do want to mention that the included NVMe drivers with Windows 8.1 still aren’t yet completely optimized, so I’m confident that we’ll see even better performance as newer NVMe drivers get released. Intel did release a special NVMe driver for their Intel 750 Series SSD, but it’s only compatible with their 750 series SSD at this time. In Linux, the NVMe driver seems significantly better optimized to take full advantage of NVMe. This is likely due to the fact that the biggest NVMe performance gains will be seen by the enterprise market and a large chunk of the market uses Linux.

Just like the AHCI Samsung SM951, the NVMe Samsung SM951 is only available to OEM customers. A quick search online yielded no results for the drive, but with production underway, it’ll probably be showing up at various online e-tailors soon enough. That said, if you do purchase one of these drives, make sure the drives model number is MZVPVxxxHDGL-00000 and not MZHPVxxxHDGL-00000 (where xxx stands for the capacity of the drive – 128, 256, or 512). MZVPVxxxHDGL-00000 is the NVMe drive while MZHPVxxxHDGL-00000 is the AHCI drive. While the drive technically supports both protocols, you can’t just simply flash the firmware to convert the drive to use a different protocol.

Overall I’m extremely impressed with both the Samsung SM951 AHCI and NVMe versions, and given the choice the NVMe version is clearly the way to go. With Flash Memory Summit is coming around the corner, hopefully we’ll see a lot more NVMe drives and firmware support in the coming months. Until then, stay tuned.