The Samsung 950 Pro PCIe SSD Review (256GB and 512GB)by Billy Tallis on October 22, 2015 10:55 AM EST
Kicking things off, our performance consistency test saturates the drive with 4kB random writes for a full hour, with a queue depth of 32, the maximum supported by the AHCI protocol used by SATA and most PCIe drives. This puts the drive's controller under maximum stress and writes enough data to exhaust all free space and spare area on the drive. This is an unrealistic workload for any client use, but it provides a worst-case scenario for long-term heavy use, and it sheds light on how different SSD controllers behave and if their performance will hold up as they fill up.
The average of the last 400 seconds of the test gives us a steady-state IOPS rating that is usually very different from what the manufacturer specifies for a new, empty drive. We also quantify the consistency of the drive's random write performance, and provide plots of the performance over the course of the test.
Once steady state is reached, performance is determined more by the controller's algorithms than the interface speed, so it's not too surprising to see the 950 Pro performing similarly to other Samsung drives.
The consistency metric shows a surprising disparity between the two 950 Pros, with the 256GB performing much better.
Comparing the graphs of the two 950s shows that the inconsistency of the 512GB drive comes from frequent jumps in performance above a solid baseline. This pattern holds even for the test with overprovisioning. Graphing the power consumption over time (not shown) reveals that the periods of lower performance have lower power. If the lower performance were due to periodic background garbage collection, then we would expect power consumption to be at least as high as when the drive is performing well. Instead, it appears that the 512GB drive is experiencing thermal throttling.
With most of its time spent thermally limited, our 512GB sample's low average is explained. It appears that the thermal throttling mechanism is bumping the drive down to one of several discrete performance levels, rather than a continuous performance mechanism.