Random & Sequential Performance

We are currently in the process of updating our enterprise SSD test suite and the new random and sequential performance tests are the first fruits of that. In the past our tests were set to a certain queue depth (mostly 32 in the enterprise tests), which didn't give the full picture of performance. As enterprise workloads are almost always unique, the queue depths vary greatly and the proper way to test performance is across all the possible queue depths. In our new tests we are now testing queue depth scaling from one to all the way to 128. While it's unlikely for enterprise workloads to have small queue depths, testing them gives us an important look into the architecture of the drive. Similarly, it's rare for even the more demanding enterprise workloads to exceed queue depth of 64 but we are still including the 128 in case it matters to some of you.

Since we are testing an enterprise class drive, we cannot look at the performance in a secure erased state as that would be unrealistic. Enterprise workloads tend to stress the drive 24/7 and thus we need to simulate the worst case performance by preconditioning the drive into steady-state before running the actual tests. To do this, we first fill the drive with sequential 128KB data and proceed with 4KB random writes at a queue depth of 32. The length of the torture depends on the drive and its characteristics but in the case of the M500DC, I ran the 4KB random write workload for two hours. As the performance consistency graphs on the previous page show, two hours is enough for the M500DC to enter steady-state and ensure consistent results.

After the preconditioning, we tested the performance across all queue depths at full LBA with Iometer. The test was ran for three minutes at each queue depth and the next test was started right after the previous one to make sure the drive was given no time to rest. The preconditioning process was repeated before every test (excluding read tests, which were run right after write tests) to guarantee that the drive was always in steady-state when tested.

4KB Random Performance

The random write scaling graph shows pretty much the same as our consistency tests. After the queue depth of four the performance reaches its limit and no longer scales. Interestingly, the DC S3500 doesn't scale at all, although it's performance is low to begin with when compared with the M500DC. (This is due to the difference in over-provisioning -- the S3500 only has 12% whereas the M500DC has 27/42%.)

Random read performance, on the other hand, behaves a bit differently. As steady-state doesn't really affect read performance, the performance scales all the way to 90K IOPS. The M500DC does well here and is able to beat the S3700 quite noticeably for typical enterprise workloads. The S3500 does have a small advantage at smaller queue depths but at QD16 and after, which are what matter for enterprise customers, the M500DC takes the lead.

4KB Random 70% Read - 30% Write Performance

Typically no workload is 100% read or write, so to give a perspective of a mixed workload we are now including a 4KB random test with 70% read and 30% write commands. The LBA space is still 100% and the IOs are fully random, something which is also common for enterprise workloads.

Once again the M500DC beats the DC S3500, which is mostly due to its superior random write performance. This is also the only workload where scaling happens up to queue depth of 32.

128KB Sequential Performance

Due to lack of time, I unfortunately don't have results for the sequential performance of the DC S3500. However, the tests still provide a look into the M500DC even though the graphs lack a comparison point.

The 480GB M500DC is again significantly faster than the 800GB model thanks to the added over-provisioning. Bear in mind that these are steady-state figures, which is why the performance may seem a bit slow compared to what we usually see in benchmarks.

In terms of sequential read performance, on the other hand, the drives appear equal.

Performance Consistency Final Words
Comments Locked

37 Comments

View All Comments

  • apudapus - Tuesday, April 22, 2014 - link

    I don't quite understand your statement in the first part:
    data retention decreases with NAND wear -> consumer drives have higher endurance

    Regarding the last sentence, SSD endurance is measured in number of writes like TBW. NAND endurance is measured in P/E cycles. The endurance of an SSD should not be measured in P/E cycles because erasing is handled internally to the SSD, there is no "erase" command to send to an SSD (trim does not directly yield an erase), write amplification (decreases endurance) and overprovisioning (increases endurance) must be taken into account and is not controlled by the user. Total writes is all that is needed when discussing SSD endurance. With that said, please explain your reasoning for the drive having a higher endurance than 3000 "P/E cycles".
  • Solid State Brain - Tuesday, April 22, 2014 - link

    The more P/E cycles your NAND memory goes through, the shorter its data retention time gets.
    Therefore, the shorter the data retention requirement for the intended usage is, the more P/E cycles you can make your memory can go through (or in other words: the more data you can write). Actually it's a bit more complex than that (for example the uncorrectable bit error rate also goes up with wear), but that's pretty much it.
  • apudapus - Wednesday, April 23, 2014 - link

    I see. So the assumption is that NAND with shorter data retention requires more refreshing (a.k.a. wasted programs). I believe this to be true for enterprise drives but I would be surprised to see this being done on consumer drives (maybe for TLC, though).
  • valnar - Tuesday, April 22, 2014 - link

    I wish they would find a way to lower the cost of SLC. Look at those endurance numbers.
  • hojnikb - Tuesday, April 22, 2014 - link

    Why would you want SLC anyway ?
    If you need endurance, HE-MLC is plety enough.
    Unless you write like crazy; them probobly buying SLC shouldn't pose a problem :)
  • valnar - Tuesday, April 22, 2014 - link

    Because 20nm TLC and crap like that barely holds a "charge", so to speak, when not powered up. That's just way too volatile for my liking. I'm not always running all my PC's every day.
  • bji - Tuesday, April 22, 2014 - link

    What difference does it make if the drive is powered up or not? These are static cells, they are not "refreshed" like DRAM. They are only refreshed when they are rewritten, and if your drive is not doing continuous writes, it's not guaranteed to rewrite any particular cell within any specific timeframe.
  • apudapus - Tuesday, April 22, 2014 - link

    NAND has limited data retention and should be refreshed like DRAM, albeit at a much larger timescale like 1 month (TLC) to a year (I believe 54nm SLC from years ago had this spec near the end of its life, ~100,000 P/E cycles). Good SSDs should be doing this.
  • Kristian Vättö - Wednesday, April 23, 2014 - link

    ALL consumer drives have a minimum data retention of one year, regardless of the type of NAND (SLC, MLC or TLC). This is a standard set by JEDEC. For enterprise drives it's three months.
  • apudapus - Wednesday, April 23, 2014 - link

    That may be the requirement for drives but not for NAND. Drives can do several things to increase data retention: refresh stale data after time, provide strong ECC, do voltage thresholding, etc. I think JEDEC specifies hundreds of hours for NAND retention.

Log in

Don't have an account? Sign up now