Random Read

Random read speed is the most difficult performance metric for flash-based SSDs to improve on. There is very limited opportunity for a drive to do useful prefetching or caching, and parallelism from multiple dies and channels can only help at higher queue depths. The NVMe protocol reduces overhead slightly, but even a high-end enterprise PCIe SSDs can struggle to offer random read throughput that would saturate a SATA link.

Real-world random reads are often blocking operations for an application, such as when traversing the filesystem to look up which logical blocks store the contents of a file. Opening even an non-fragmented file can require the OS to perform a chain of several random reads, and since each is dependent on the result of the last, they cannot be queued.

These tests were conducted on the Optane Memory as a standalone SSD, not in any caching configuration.

Queue Depth 1

Our first test of random read performance looks at the dependence on transfer size. Most SSDs focus on 4kB random access as that is the most common page size for virtual memory systems and it is a common filesystem block size. For our test, each transfer size was tested for four minutes and the statistics exclude the first minute. The drives were preconditioned to steady state by filling them with 4kB random writes twice over.

Random Read
Vertical Axis scale: Linear Logarithmic

The Optane Memory module manages to provide slightly higher performance than even the P4800X for small random reads, though it levels out at about half the performance for larger transfers. The Samsung 960 EVO starts out about ten times slower than the Optane Memory but narrows the gap in the second half of the test. The Crucial MX300 is behind the Optane memory by more than a factor of ten through most of the test.

Queue Depth >1

Next, we consider 4kB random read performance at queue depths greater than one. A single-threaded process is not capable of saturating the Optane SSD DC P4800X with random reads so this test is conducted with up to four threads. The queue depths of each thread are adjusted so that the queue depth seen by the SSD varies from 1 to 16. The timing is the same as for the other tests: four minutes for each tested queue depth, with the first minute excluded from the statistics.

The SATA, flash NVMe and two Optane products are each clearly occupying different regimes of performance, though there is some overlap between the two Optane devices. Except at QD1, the Optane Memory offers lower throughput and higher latency than the P4800X. By QD16 the Samsung 960 EVO is able to exceed the throughput of the Optane Memory at QD1, but only with an order of magnitude more latency.

Random Read Throughput
Vertical Axis scale: Linear Logarithmic

Comparing random read throughput of the Optane SSDs against the flash SSDs at low queue depths requires plotting on a log scale. The Optane Memory's lead over the Samsung 960 EVO is much larger than the 960 EVO's lead over the Crucial MX300. Even at QD16 the Optane Memory holds on to a 2x advantage over the 960 EVO and a 6x advantage over the MX300. Over the course of the test from QD1 to QD16, the Optane Memory's random read throughput roughly triples.

Random Read Latency
Mean Median 99th Percentile 99.999th Percentile

For mean and median random read latency, the two Optane drives are relatively close at low queue depths and far faster than either flash SSD. The 99th and 99.999th percentile latencies of the Samsung 960 EVO are only about twice as high as the Optane Memory while the Crucial MX300 falls further behind with outliers in excess of 20ms.

Random Write

Flash memory write operations are far slower than read operations. This is not always reflected in the performance specifications of SSDs because writes can be deferred and combined, allowing the SSD to signal completion before the data has actually moved from the drive's cache to the flash memory. Consumer workloads consist of far more reads than writes, but there are enough sources of random writes that they also matter to everyday interactive use. These tests were conducted on the Optane Memory as a standalone SSD, not in any caching configuration.

Queue Depth 1

As with random reads, we first examine QD1 random write performance of different transfer sizes. 4kB is usually the most important size, but some applications will make smaller writes when the drive has a 512B sector size. Larger transfer sizes make the workload somewhat less random, reducing the amount of bookkeeping the SSD controller needs to do and generally allowing for increased performance.

Random Write
Vertical Axis scale: Linear Logarithmic

As with random reads, the Optane Memory holds a slight advantage over the P4800X for the smallest transfer sizes, but the enterprise Optane drive completely blows away the consumer Optane Memory for larger transfers. The consumer flash SSDs perform quite similarly in this steady-state test and are consistently about an order of magnitude slower than the Optane Memory.

Queue Depth >1

The test of 4kB random write throughput at different queue depths is structured identically to its counterpart random write test above. Queue depths from 1 to 16 are tested, with up to four threads used to generate this workload. Each tested queue depth is run for four minutes and the first minute is ignored when computing the statistics.

With the Optane SSD DC P4800X included on this graph, the two flash SSDs are have barely perceptible random write throughput, and the Optane Memory's throughput and latency both fall roughly in the middle of the gap between the P4800X and the flash SSDs. The random write latency of the Optane Memory is more than twice that of the P4800X at QD1 and is close to the latency of the Samsung 960 EVO, while the Crucial MX300 starts at about twice that latency.

Random Write Throughput
Vertical Axis scale: Linear Logarithmic

When testing across the range of queue depths and at steady state, the 525GB Crucial MX300 is always delivering higher throughput than the Samsung 960 EVO, but with substantial inconsistency at higher queue depths. The Optane Memory almost doubles in throughput from QD1 to QD2, and is completely flat thereafter while the P4800X continues to improve until QD8.

Random Write Latency
Mean Median 99th Percentile 99.999th Percentile

The Optane Memory and Samsung 960 EVO start out with the same median latency at QD1 and QD2 of about 20µs. The Optane Memory's latency increases linearly with queue depth after that due to its throughput being saturated, but the 960 EVO's latency stays lower until near the end of the test. The Samsung 960 EVO has relatively poor 99th percentile latency to begin with and is joined by the Crucial MX300 once it has saturated its throughput, while the Optane Memory's latency degrades gradually in the face of overwhelming queue depths. The 99.999th percentile latency of the flash-based consumer SSDs is about 300-400 times that of the Optane Memory.

SYSmark 2014 SE Sequential Access Performance
POST A COMMENT

110 Comments

View All Comments

  • evilpaul666 - Thursday, April 27, 2017 - link

    Everyone presumes that technology will improve over time. Talking up 1000x improvements, making people wait for a year or more, and then releasing a stupid expensive small drive for the Enterprise segment, and a not particularly useful tiny drive for whoever is running a Core i3 7000 series or better CPU with a mechanical hard drive, for some reason, is slightly disappointing.

    We wanted better stuff now after a year of waiting not at some point in the future which was where we've always been.
    Reply
  • Lehti - Tuesday, April 25, 2017 - link

    Hmm... And how does this compare to regular SSD caching using Smart Response? So far I can't see why anyone would want an Optane cache as opposed to that or, even better, a boot SSD paired with a storage hard drive. Reply
  • Calin - Tuesday, April 25, 2017 - link

    Did you brought the WD Caviar to steady state by filling it twice with random data in random files? Performance of magnetic media varies greatly based on drive fragmentation Reply
  • Billy Tallis - Wednesday, April 26, 2017 - link

    I didn't pre-condition any of the drives for SYSmark, just for the synthetic tests (which the hard drive wasn't included in). For the SYSmark test runs, the drives were all secure erased then imaged with Windows. Reply
  • MrSpadge - Tuesday, April 25, 2017 - link

    "Queue Depth > 1

    When testing sequential writes at varying queue depths, the Intel SSD DC P3700's performance was highly erratic. We did not have sufficient time to determine what was going wrong, so its results have been excluded from the graphs and analysis below."

    Yes, the DC P3700 is definitely excluded from these graphs.. and the other ones ;)
    Reply
  • Billy Tallis - Wednesday, April 26, 2017 - link

    Oops. I copied a little too much from the P4800X review... Reply
  • MrSpadge - Tuesday, April 25, 2017 - link

    Billy, why is the 960 Evo performing so badly under Sysmark 2014, when it wins almost all synthetic benchmarks against the MX300? Sure, it's got fewer dies.. but that applies to the low level measurements as well. Reply
  • Billy Tallis - Wednesday, April 26, 2017 - link

    I don't know for sure yet. I'll be re-doing the SYSmark tests with a fresh install of Windows 10 Creators Update, and I'll experiment with NVMe drivers and settings. My suspicion is that the 960 EVO was being held back by Microsoft's horrific NVMe driver default behavior, while the synthetic tests in this review were run on Linux. Reply
  • MrSpadge - Wednesday, April 26, 2017 - link

    That makes sense, thanks for answering! Reply
  • Valantar - Tuesday, April 25, 2017 - link

    Is there any reason why one couldn't stick this in any old NVMe-compatible motherboard regardless of paltform and use a software caching system like PrimoCache on it? It identifies to the system as a standard NVMe drive, no? Or does it somehow have the system identify itself on POST and refuse to communicate if it provides the "wrong" identifier? Reply

Log in

Don't have an account? Sign up now