Last week we reviewed Intel's first NVMe drive: the DC P3700. Based on a modified version of the controller in Intel's SSD DC S3700/S3500, the P3700 moves to an 18-channel design, drops internal latencies and sheds SATA for a native PCIe interface. The result is an extremely high performance enterprise SSD that delivers a combination of high bandwidth and very low latencies, across a wide span of queue depths.

Although Intel's SSD DC P3700 is clearly targeted at the enterprise, the drive will be priced quite aggressively at $3/GB. Furthermore, Intel will be using the same controller and firmware architecture in two other, lower cost derivatives (P3500/P3600). In light of Intel's positioning of the P3xxx family, a number of you asked for us to run the drive through our standard client SSD workload. We didn't have the time to do that before Computex, but it was the first thing I did upon my return. If you aren't familiar with the P3700 I'd recommend reading the initial review, but otherwise let's look at how it performs as a client drive.

Performance Consistency

Performance consistency tells us a lot about the architecture of these SSDs and how they handle internal defragmentation. The reason we don’t have consistent IO latency with SSD is because inevitably all controllers have to do some amount of defragmentation or garbage collection in order to continue operating at high speeds. When and how an SSD decides to run its defrag or cleanup routines directly impacts the user experience as inconsistent performance results in application slowdowns.

To test IO consistency, we fill a secure erased SSD with sequential data to ensure that all user accessible LBAs have data associated with them. Next we kick off a 4KB random write workload across all LBAs at a queue depth of 32 using incompressible data. The test is run for just over half an hour and we record instantaneous IOPS every second.

We are also testing drives with added over-provisioning by limiting the LBA range. This gives us a look into the drive’s behavior with varying levels of empty space, which is frankly a more realistic approach for client workloads.

Each of the three graphs has its own purpose. The first one is of the whole duration of the test in log scale. The second and third one zoom into the beginning of steady-state operation (t=1400s) but on different scales: the second one uses log scale for easy comparison whereas the third one uses linear scale for better visualization of differences between drives. Click the buttons below each graph to switch the source data.

For more detailed description of the test and why performance consistency matters, read our original Intel SSD DC S3700 article.

Intel SSD DC P3700 Intel SSD DC S3700 Samsung SSD 840 Pro SanDisk Extreme II Samsung SSD XP941 Default 25% Spare Area

In our enterprise P3700 review we looked at IO consistency during a multi-hour run of a 4KB random write test at a queue depth of 128. The P3700 did quite well in that test, but the results weren't exactly comparable to what we've run for the past 18+ months. Here I ran the same QD32 test on the P3700, and the results are even better than the S3700. Keep in mind that the scales aren't comparable between the two drives (the P3700's higher performance drives the scale up to 1M IOPS), but the P3700 shows a very small drop in performance once the drive is out of spare area.

Intel SSD DC P3700 Intel SSD DC S3700 Samsung SSD 840 Pro SanDisk Extreme II Samsung SSD XP941 Default 25% Spare Area

Intel SSD DC P3700 Intel SSD DC S3700 Samsung SSD 840 Pro SanDisk Extreme II Samsung SSD XP941 Default 25% Spare Area

There's definitely some tweaking to the S3700's controller/firmware as the P3700 shows a much longer period of stable performance before there's a drop and recovery.