Four-Corner Performance Testing
For this review we removed the 1TB-class products to focus solely on the 256GB and 512GB NVMe SSDs. It's a slim selection, but that made it easy to get all of the products in our charts. We didn't have enough room to fit the SM951 products, but their performance is very close to the retail 950 Pro with identical capacities.
Both Intel and OCZ (a division of Toshiba) sell products that fall into this capacity range, but Intel only offers the SSD 750 in 400GB (along with the 800GB and 1200GB models not present in our charts). The Zotac Sonix features a Phison PS5007-E7 controller with 15nm Toshiba MLC NAND. It is currently the only retail SSD available with the E7 controller.
Sequential Read Performance
Both SM961 SSDs start off strong with an impressive sequential read performance that surpasses every other product in the charts, which is the same start we had with the 1TB model. The close results aren't surprising; Samsung lists all four SM961 SSDs with a difference of only 100 MB/s in this workload.
Sequential Write Performance
The 512GB OCZ RD400 is the only product on the charts that can run at the same high sequential write speeds as the SM961. The chart also shows the RD400 with a wild performance dip halfway through the test. The dip is from thermal throttling, but the SM961 does not suffer the same thermal throttling issues. In our SM961 1TB review, we forced a throttle condition and found the drive only loses around 100 MB/s during a heavy sequential write workload.
Samsung specs the SM961 256GB at 1,400 MB/s, which is 300 MB/s less than the 512GB model. The SM961 256GB performs much better than advertised, so the difference between the two products is much smaller than expected.
Random Read Performance
The SM961 SSDs raise the bar for random read performance at low queue depths, but we only get a small performance increase over the 950 Pro. The SM961 hits a brick wall around 170,000 IOPS at high queue depths. The sudden limit leads us to believe that Samsung capped the single worker performance in the firmware. We've seen reports of some SM961 SSDs hitting over 500,000 random read IOPS by increasing the number of threads and the queue depth to 256. Using multiple workers (threads) exposes more queues, but it is not an apples-to-apples comparison.
The host software places outstanding I/O requests, which stack up and wait to be serviced, into a submission queue. When the request is complete, the SSD controller puts the completion into the completion queue. The NVMe protocol supports up to 64,000 queues per device, and up to 64,000 commands can stack into each. The SSD vendor ultimately dictates how many queues, and how many commands for each one, that the SSD will support (and they vary). Samsung may be using multiple queues at shallower depths, which would explain the early performance plateau.
Random Write Performance
The SM961 products also have an abrupt plateau in the random write test. The limit comes much sooner in this test, at a queue depth of 4. Of the four corner tests, the random write gives the SM961 the most trouble. This test is the one workload where the new Samsung NVMe SSD fails to outperform the previous generation.