Samsung 950 PRO M.2 PCIe Solid-State Drive Review

Print
by Robert Tanner on June 15, 2016 in Storage

Remember the look of awe on our faces when the first SSDs hit the market? Over time, that awe began to dissipate, but when M.2-based models began to hit the market? It hit us right where we needed it. Samsung’s 950 Pro SSD is a shining example of what M.2 SSDs are capable of, so let’s check it out.

Samsung 950 PRO Introduction & Testing

Samsung is no stranger to M.2 form-factor SSDs. For several years it has marketed PCIe and even NVMe M.2 drives such as the SM951 to OEMs but never directly to consumers. A few third party OEMs sprang up to meet the enthusiast demand but important things such as firmware updates and drive warranty support typically are lost in this sort of arrangement; obviously not an ideal solution. The 950 Pro SSD is Samsung’s response to increasing demand for a consumer focused ultra high-performance NVMe SSD in the svelte M.2 form-factor.

The 950 Pro will fit into any standard 2280 M.2 slot and supports up to a PCIe 3.0 x4 interface, the maximum the M.2 slot can be rated for. This gives the drive a theoretical max of nearly 4GB/s through its interface which is well above the performance capabilities of current solid-state drives, making it a refreshing change from SSDs being performance limited by SATA and even the transient SATA Express interfaces.


The flipside is that if the motherboard or laptop has only a PCIe x2 M.2 slot then this halves the maximum capable performance to 2GB/s, which will cap the read performance of the 950 Pro to a minor degree. If this is an issue desktop enthusiasts can pair the 950 Pro with a third-party pass-through PCI Express adapter card for maximum performance. These will not interfere with NVMe functionality or Samsung’s Magician software, though Samsung does not offer an optional adapter itself as the 950 Pro is primarily as much about its svelte form-factor as it is raw performance. In other words prospective buyers that are considering using a third-party PCIe card adapter already have other options available such as Intel’s native 750 PCIe card.

NVMe

So why is NVM Express important? AHCI is a thirteen year old protocol designed to interact with spinning magnetic disks back when average HDDs had access latency times as long as 20ms for a read operation and sustained performance well south of 100MB/s.

In comparison most modern SSDs require just 0.01ms to read or write a file, or in other words we are looking at three orders of magnitude difference in access latency alone. With SSD access times measuring in just microseconds the AHCI protocol itself has started to become a source of delay. The second issue is the CPU overhead incurred from disk operations. This isn’t much of an issue when only the quickest modern disk drives  can briefly sustain 200MB/s writes, but SSDs can already max out the ~570MB/s limit of the traditional SATA 3.0 interface. And that’s before we take into consideration drives like the 950 Pro offer up to 2.5GB/s performance!

At this level of throughput the CPU overhead inefficiencies of AHCI abruptly turn into a real problem. NVMe combats this by halving the latency incurred from 6.0 µs to 2.8 µs per operation. Actual CPU overhead from disk reads and writes is also significantly reduced, freeing up more CPU cycles for the currently running applications. Another advantage is that NVMe was written for the multi-core era,  the protocol is able to take advantage of multi-core CPUs and SSD controllers alike.

Perhaps the only downside to NVMe is that it is built on PCI Express so SATA drives will not be able to support it,  just as IDE drives of yore got left behind when AHCI SATA ports were first introduced. Most operating systems have received out-of-the-box drivers for NVMe, but unfortunately, as you will see in a moment, Samsung’s own NVMe driver is required for best performance. Also please note a motherboard’s UEFI should be updated in advance to the most recent versions for NVMe support, especially if planning to use the 950 Pro as the boot drive.

256GB512GB
Form FactorM.2 2280
InterfacePCIe 3.0 x4
ProtocolNVMe (Samsung)
DRAM512MB
Flash MemorySamsung MLC V-NAND 128Gbit
Sequential Read / Write2200 / 900 MB/s2500 / 1500 MB/s
4K Random Read / Write270K / 85K IOPS300K / 110K IOPS
Endurance200TB400TB
Street Price$178$320
WarrantyFive Years

There are only two models, the 256GB and 512GB and it is important to note the large difference in write performance between them. At $0.62 per GB the 512GB model is by no means cheap, but as a boutique ultra high-performance drive that is currently unchallenged in the M.2 SSD market the price premium is not unexpected.

SSD Test System
ProcessorIntel Core i7-4771 @ 3.7GHz
MotherboardASUS Z97-A – BIOS 2801
MemoryCrucial Ballistix 8GBx4 DDR3-1600
GraphicsEVGA GeForce GTX 750 Ti SC
AudioOnboard
StorageIntel 520 240GB (SATA)
Intel 730 240GB (SATA)
Kingston Predator 240GB (PCIe)
Samsung 950 Pro 512GB (NVMe PCIe)
Power SupplyBitFenix Fury 650W
ChassisCooler Master HAF 932
CoolingNoctua NH-D14
Et ceteraWindows 10 Pro x64

To ensure all drives have fair representation regardless of capacity we use IOMeter to conduct continuous file writes beyond twice the rated capacity of each SSD. This will make sure every block has been written to at least once including the unaddressable spare area present on all solid-state drives, ensuring all drives begin testing in an normalized “dirty” state.

SATA drives will be tested on an Intel 6Gbps SATA port, while PCIe cards will use the PCIe Gen 3 x8 slot to the processor. M.2 drives will make use of a PCIe adapter card in this same slot to bypass the M.2 x2 interface bottleneck, allowing drives to utilize the maximum bandwidth (PCIe Gen 3 x4) that the M.2 interface supports. When applicable we will ensure drives are using the NVM Express protocol.

The test system’s processor has had Intel’s Speedstep and Turbo Boost functionality disabled and all cores are locked to the same 3.7Ghz frequency in order to ensure maximum consistency between test runs.

Advertisment

Benchmark Programs

Futuremark PCMark 08: Defaults are used including the default setting of three runs. The free (demo) version is available on Steam for public use.

AS SSD: This handy little utility was custom-written for solid-state drives. We selected this program as by default it utilizes incompressible data and bypasses the Windows cache. This is another free program that can quickly test or verify normal performance of an SSD, available here.

ATTO: The bar graphs generated by this utility provide a huge amount of data in a condensed format. It is extremely handy for detecting problematic file sizes, performance bottlenecks, or simply inconsistent performance. Though this is significantly less of a problem today as solid-state drives have matured it is an essential piece of any benchmark kit.

RoboCopy: This is Windows command-line utility included in most versions of Windows and provides for features beyond the default file copy handling of Windows. More information is available here.

For our file copy tests we utilize a 9.81GB Movie file, and also a 1.6GB Folde with, 11,511 files across 449 subfolders.

RAMdrive: We utilize Primo Software’s Ramdisk utility to create a 12GB direct-IO ramdisk meaning no indexing or caching is utilized. File performance varies based on file I/O size but exceeds 6GB/s above 16KB IOPS.

dBpoweramp R15.3: This test would be more informative on systems with more than four cores as dBpoweramp will fully utilize any size processor. That said we convert 500 FLAC encoded music files (14.4GB) into Apple Lossless encoded files for playback on Apple devices. As no lossy compression is taking place this minimizes the CPU workload while maximizing the amount of data written to the destination drive.

IOmeter – The most powerful piece of storage testing software freely available, IOmeter allows the creation of practically any kind of test workload. We first utilize it to dirty every new SSD before we test the basics of every solid-sate drive, namely random 4K read and writes as well as 2MB sequential read and write performance.

Footnote – Disk I/O Tracing

If you are still reading our benchmark profile then thank you! It is not easy to devise tests that can tax a modern solid-state drive so if you have any suggestions or know of any software that you would like to see added to our test regimen please let us know. We are especially eager to add disk I/O recording and playback to replace the batch file testing we utilized in past storage reviews but we are still working out how to make this possible. If you know of a piece of software that is free or doesn’t cost a few grand please do drop us a note!

Futuremark PCMark 8

Samsung 950 PRO - Futuremark PCMark 8
Intel 520Intel 730Kingston PredatorSamsung 950 PRO (Samsung NVMe)Samsung 950 PRO (Microsoft NVMe)
World of Warcraft58s58s58s57s58s
Battlefield 3134s133s133s131s132s
Photoshop Light117s115s112s110s148s
Photoshop Heavy367s364s355s351s450s
Adobe InDesign58s58s57s55s67s
Adobe After Effects71s70s71s70s71s
Adobe Illustrator72s72s72s71s72s
Microsoft Word28s28s28s28s31s
Microsoft Excel9s9s9s9s9s
Microsoft PowerPoint9s9s9s9s9s

When we first saw these results were appalled (and alarmed) as there is no reason a known 300MB/s write-limited drive should be outperforming a 1,500MB/s write capable drive, but some research later uncovered the cause and a few solutions. The 950 Pro has no heatsink attached, so long duration writes will eventually cause the drive to begin throttling back to prevent overheating. Keep in mind PCMark 8’s storage test is nearly 45 minutes in duration as it will repeat its battery of tests three times.

Attaching any sort of heatsink to the 950 Pro will greatly reduce incidences of throttling, but that isn’t practical given the orientation of some M.2 slots. To remedy this Samsung has created its own NVMe driver users can download here that will decrease the controller workload and greatly reduce throttling seen from sustained long duration writes. We went ahead and completed testing with the default Windows 10 NVMe driver, then retested the drive with Samsung’s own NVMe driver and the differences are quite stark. In our PCMark tests the driver update allows the 950 Pro to go from last place to first in the rankings. With Samsung’s driver the 950 Pro 512GB is able to shine, delivering more than double the sustained bandwidth of any other SSD and even the Predator M.2 drive.

Iometer 2010 1.1.0

Samsung 950 PRO - Iometer 2010 - IOPS Performance
Samsung 950 PRO - Iometer 2010 - Read and Write Performance

Curiously IOmeter has a preference for Microsoft’s NVMe driver for raw random read performance at a Queue Depth of 32, but if only utilizing a QD of one the Samsung driver comes out ahead. The stronger write performance at QD1 is also unusual. High performance SSDs typically achieve said performance through instructional parallelism and higher queue depths tends to help with that.

Probably most puzzling of all is the low sustained sequential write performance in the second graph. After some consideration and re-testing of the drive we conclude it’s another artifact caused by the drive throttling during a brutal five minutes of drive writes where the drive is not given even brief pauses to cool down. In effect Iometer is actually making one steady continuous write operation so not even Samsung’s special driver is able to mitigate this. By comparison read operations are less taxing on the drive and allow the 950 Pro to show what it is capable of in large sequential file reads.