Date: June 15, 2016
Author(s): Robert Tanner
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 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.
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.
|Form Factor||M.2 2280|
|Interface||PCIe 3.0 x4|
|Flash Memory||Samsung MLC V-NAND 128Gbit|
|Sequential Read / Write||2200 / 900 MB/s||2500 / 1500 MB/s|
|4K Random Read / Write||270K / 85K IOPS||300K / 110K IOPS|
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|
|Processor||Intel Core i7-4771 @ 3.7GHz|
|Motherboard||ASUS Z97-A – BIOS 2801|
|Memory||Crucial Ballistix 8GBx4 DDR3-1600|
|Graphics||EVGA GeForce GTX 750 Ti SC|
|Storage||Intel 520 240GB (SATA)|
Intel 730 240GB (SATA)
Kingston Predator 240GB (PCIe)
Samsung 950 Pro 512GB (NVMe PCIe)
|Power Supply||BitFenix Fury 650W|
|Chassis||Cooler Master HAF 932|
|Et cetera||Windows 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.
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.
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!
|Intel 520||Intel 730||Kingston Predator||Samsung 950 PRO (Samsung NVMe)||Samsung 950 PRO (Microsoft NVMe)|
|World of Warcraft||58s||58s||58s||57s||58s|
|Adobe After Effects||71s||70s||71s||70s||71s|
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.
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.
|AS SSD – Latencies||Read||Write|
|Intel 520 (240GB)||0.110ms||0.173ms|
|Intel 730 (240GB)||0.032ms||0.032ms|
|Kingston Predator (240GB)||0.041ms||0.047ms|
|Samsung 950 PRO (Microsoft NVMe)||0.027ms||2.670ms|
|Samsung 950 PRO (Samsung NVMe)||0.023ms||0.021ms|
Again the performance difference between Samsung and Microsoft NVMe drivers is severe, with throttling reducing the 950 Pro to actual HDD levels of performance and almost 3ms write latencies. However with Samsung’s driver the 950’s performance is not only back to normal but at the top of the charts, write performance is not only greatly improved but the 950 is able to more than double most results turned in by SATA-capped SSDs, and even six times the sequential write performance of the venerable Intel 520 SSD.
With the Samsung driver the final read, write, and overall scores are in a separate class entirely from the SATA drives and even the M.2 Predator, and the drive even posts the lowest read/write latencies of the entire group.
There is no appreciable difference between the NVMe drivers here, but the same cannot be said for the performance gap between the 950 and other drives. The 950 Pro literally lives up to its performance specifications and delivers much higher performance even at smaller file sizes compared to other drives.
With Samsung’s driver the 950 Pro is able to write the nearly 10GB file in six seconds (1.57GB/s) and read it in five which works out to 1.87GB/s. Our test setup is very much work in progress, in future articles we already plan to switch to reporting the raw GB/s values instead of seconds for a cleaner graph. If you have any ideas for suitable SSD tests or know of a good disk I/O tracer that supports I/O recording for playback be sure to let us know in the comments!
It appears even in this test we are completely CPU bound, a hex or octi-core CPU may give the 950 Pro sufficient room to outperform other drives but not even the benefits of NVMe’s lower CPU overhead allow it to drop below 180 seconds.
If you are in the market for a high-performance SSD the 950 Pro certainly fits the bill by surpassing traditional SATA SSDs by almost as much as said SSDs outdid the HDDs before them! Such performance in a tiny package of course comes with a price premium, and to ensure one actually gets that performance consumers will need to check laptops or motherboards first as not all M.2 slots are created equal.
Older mainboards may be limited to PCIe 2.0 or a x1 link to the M.2 slot, or may support PCIe 3.0 yet only have an x2 interface to the PCI Express bus. The 950 Pro will of course function in these slots but performance will be constrained if it is not a full PCIe 3.0 x4 capable M.2 slot. A UEFI or BIOS update may also be required to properly support NVMe devices, especially if desiring to make the 950 a system boot drive as would be the case with our ASUS Z97-A testbed.
Samsung’s Magician software is surprisingly useful in that it will indicate what the link speed, link width, and available bandwidth is for the M.2 slot the 950 Pro is currently using, making it easy for consumers to verify their system’s M.2 interface is not bottlenecking the drive.
It also has an option for a quick, easy way to secure erase the drive and check on important drive metrics. Our only real complaint is the software oddly does not report drive temperature. It does helpfully indicates what NVMe driver is in use; for reference we show what it looks like with Microsoft and Samsung’s NVMe driver each installed.
Unfortunately Samsung has thrown a new complication into the mix otherwise the 950 Pro would be a very easy recommendation for enthusiasts willing to pay the performance premium. The 950 includes built-in thermal management to throttle the controller and thereby prevent any damage from overheating, but this can cause erratic performance as demonstrated in the tests without Samsung’s custom NVMe driver. To exact the full performance from the 950 Pro users absolutely must install Samsung’s NVMe driver. We surmise it is specifically optimized for the 950 in order to reduce processing overhead for the 950’s controller and hence decrease instances of thermal throttling seen during heavy sustained writes such as our 45 minute PCMark 8 storage benchmark or the five minute sustained sequential Iometer write test.
As such we have to view the 950 Pro as purely an enthusiasts drive. So what do we mean by this? For the vast majority of enthusiast’s workloads it would see on a laptop or even desktops it should only infrequently reach a throttling condition, and if it does it shouldn’t be severe enough to become noticeable. But as our Iometer results indicate the 950 Pro simply isn’t designed to be an enterprise or workstation class SSD, any write-intensive very long duration workload like a 45 minute storage benchmark or simply several minutes of sustained max-speed writes will still cause the 950 Pro to begin throttling back performance.
Another way to look at it is this. Some budget SSDs (especially TLC SSDs) reserve a portion of the NAND as a fast write cache. Performance is very high until this small MLC or SLC fast-write cache is completely filled, then drive write performance drops sharply to a very low steady-state level until the SSD has free time to clear its fast-write cache. Typical users won’t write a sufficient amount of data in a short enough time to the drive to fill the fast-write cache so they never or very rarely notice the performance loss. The Samsung 950 Pro creates much the same effect with its controller temperature. The difference is it requires writing 1.5GB/s sustained to the drive for several minutes to force the 950 Pro to begin severely throttling. Constant small writes with short breaks (practically anything not a storage benchmark) is enough for the controller finish and cool down, so in typical consumer usage scenarios throttling isn’t likely to occur.
We would be remiss to not point out there is evidence that users can prevent throttling entirely by adding a tiny heatsink to the controller chip, but that’s not always possible given M.2 slot orientations or positioning nor is it recommended for casual users not familiar with PC hardware and the various types of thermal interface materials.
In the end, the Samsung 950 Pro is proof that good things can come in small packages. The 950 Pro is an ultra high-performance drive that ticks all the right boxes for enthusiasts that want the absolute best performance in the small M.2 form-factor. Results prove it is in a completely different league from SATA SSDs and even other AHCI M.2 SSDs.
While fast NVMe M.2 drives from other manufacturers are on the horizon and will start showing up later this year, currently the only way to obtain this level of performance would require switching to full size PCIe card SSDs or very uncommon 2.5″ U.2 models. Obviously neither of which are an option for laptops and ultraportables which leaves the 950 Pro in a unique position given its svelte M.2 2280 form-factor.
If you are in the market for a blazing fast enthusiast solid-state drive that decimates its competition and either can’t or don’t want to go the PCIe card route then Samsung’s 950 Pro 512GB is the clear answer. Just make sure to install Samsung’s NVMe driver to go along with it if you do!
Copyright © 2005-2019 Techgage Networks Inc. - All Rights Reserved.