Random Data Performance

Many of you correctly brought up concerns with our use of Iometer with SandForce drives. SandForce's controller not only looks at how data is being accessed, but also the actual data itself (more info here). The more compressible the data, the lower the write amplification a SandForce drive will realize. While Iometer's random access controls how data is distributed across the drive, the data itself is highly compressible. For example, I took a 522MB output from Iometer and compressed it using Windows 7's built in Zip compression tool. The resulting file was 524KB in size.

This isn't a huge problem because most controllers don't care what you write, just how you write it. Not to mention that the sort of writes you do on a typical desktop system are highly compressable to begin with. But it does pose a problem when testing SandForce's controllers. What we end up showing is best case performance, but what if you're writing a lot of highly random data? What's the worst performance SandForce's controller can offer?

An upcoming version of Iometer will allow you to use 100% random data to test just that. Our own Ryan Smith compiled an early release of this version of Iometer so we could see how much of an impact purely random data has on Iometer performance. When the Use Random Data box is checked, the actual data Iometer generates is completely random. To confirm I tried compressing a 161MB output from Iometer with Use Random Data enabled:

The resulting file was actually slightly bigger. In other words, it could not be compressed. Perfect.

Iometer Performance Comparison - 4K Aligned, 4KB Random Write Speed
  Normal Data Random Data % of Max Perf
Corsair Force 100GB (SF-1200 MLC) 164.6 MB/s 122.5 MB/s 74.4%
OCZ Agility 2 100GB (SF-1200 MLC) 44.2 MB/s 46.3 MB/s 105%

With data that can't be compressed, the SF-1500 (or SF-1200 with 3.0.1 firmware) will drop from 164.6MB/s to 122.5MB/s. That's still faster than any other SSD except for Crucial's RealSSD C300. The Agility 2 and other SF-1200 drives running 3.0.5 shows no performance impact as it's already bound by the performance of its firmware. Since the rest of the Agility 2's performance is identical to the Force drive I'll only include one set of results in the table below:

Iometer Performance Comparison
Corsair Force 100GB (SF-1200 MLC) Normal Data Random Data % of Max Perf
4KB Random Read 52.1 MB/s 42.8 MB/s 82.1%
2MB Sequential Read 265.2 MB/s 212.4 MB/s 80.1%
2MB Sequential Write 251.7 MB/s 144.4 MB/s 57.4%

Read performance is also impacted, just not that much. Performance drops to around 80% of peak, which does put the SandForce drives behind Intel and Crucial in sequential read speed. Random read speed drops to Indilinx levels. Read speed is impacted because if we write fully random data to the drive there's simply more to read back when we need it, making the process slower.

Sequential write speed actually takes the biggest hit of them all. At only 144.4MB/s if you're writing highly random data sequentially you'll find that the SF-1200/SF-1500 performs worse than just about any other SSD controller on the market. Only the X25-M is slower. While the impact to read performance and random write performance isn't terrible, sequential performance does take a significant hit on these SandForce drives.

Random Read/Write Speed Overall System Performance using PCMark Vantage
POST A COMMENT

60 Comments

View All Comments

  • 529th - Thursday, April 22, 2010 - link

    Some people are curious about the Vertex LE 50g version. Yes, I've read the Vertex LE 100g review :)

    50g Vertex LE: http://www.newegg.com/Product/Product.aspx?Item=N8...

    New Egg's description says "For enthusiasts w/ up to 15,000 4KB random write IOPS" which would suggest the controller is the SF 1200 where as the Vertex LE SSD drives are suppose to have the SF 1500 controller which will do ~ 30,000 4kb so the inconsistency brings up curiosity. To make matters worse, The OCZ website says they use the SF 1500 controller. Which I vaguely recall someone saying they asked OWC which controller they were using for their OWC Mercury Extreme SSD drives and OWC's response was that they didn't know....
    Reply
  • willscary - Thursday, April 22, 2010 - link

    Originally, I was told by Customer Service that he "did not know", but after pressing for an answer and a breif period on hold, he returned and told me that all current and future Mercury Extreme SSDs would utilize the Sandforce 1200 controller.

    I was very angry at this "bait and switch" and returned my SSDs. Actually, they were in transit and I had OWC recall them. I have not yet received credit for them although they returned to OWC early Tuesday morning.

    I will also say that OWC did send confirmation of the returns and said that the credit would be processed by the end of the week, so all is not bad.

    I was asked "what the big deal was" on another thread. The way I see it, it would be like ordering an expensive sports car with a V6 and having it arrive with a turbocharged 4 cylinder. The performance may be the same, but there would then be the possibility of added maintenance costs, lesser reliability and a shorter lifespan. Add to that that the dealer would tell me that even though the smaller turbo option was $1,000 less than the V6, I should pay the same because performance really would be nearly identical.

    Just my thoughts.
    Reply
  • DanNeely - Thursday, April 22, 2010 - link

    15k IOPs is higher than the SF1200 supports with a normal firmware. More likely I think would be something similar to intels 40GB drive where only half the controllers flash chip ports are filled and a full speed SF controller. Reply
  • poeticjustic - Thursday, April 22, 2010 - link

    That was a really helpful and thorough article. Thank you for all this info.
    a few things that i wanted to ask.

    -On the random read/write speed page and specifically on the 4k aligned random write, we don't see anywhere the intel x25-E performance. Obviously that is because the testing of the x25-E was performed in the past, when this kind of test wasn't performed. Is it safe to assume that the performance of the x25-E would be quite close to that of the 4k random write test (around 48MB/s)?? Since we see that mostly the new controllers are mostly affected.

    -Furthermore, at least from what i've seen on eshops around in my country, the price of the z-drive m84 250GB and 500Gb has come closer to that of sata ssds. Still they are more expensive of course, but wouldn't it be a good idea to start seeing some z-drive performance on those tables for a direct comparison with the ssds and see whether the difference in their performance is bigger than the difference in their price? Just a thought.

    Making an extra remark on the performance of SF controller during already compressed data plus the the random data perormance table was a pretty important addition and something we should pay attention to.

    Thank you once again for a well built article.
    Reply
  • eaw999 - Thursday, April 22, 2010 - link

    correct, the x25-e, like -m, isn't affected drastically by alignment. you can expect slightly higher numbers with alignment, but nothing jaw-dropping. on the other hand, the x25-e positively rips at random writes at high queue depths, but that's not something you're likely to see often in desktop usage. Reply
  • krazyderek - Thursday, April 22, 2010 - link

    When does this ever happen? isn't that sentence an oxymorron, the only thing i can think of it if you were installing several applications at the same time? and it would depend on the applications being installed too, since i think i remember hearing that games are very sequential now Reply
  • krazyderek - Thursday, April 22, 2010 - link

    I DO see the importance when dealing with pre-compressed files like pictures and videos, i agree it would be nice to see a 0% 50% and 100% compressed figures to give people a good overview of things, but still, when would you see highly random sequential data? Reply
  • zdzichu - Thursday, April 22, 2010 - link

    Sequentially speaks about data access pattern, highly random is about data itself. It is perfect description of writing movie to a disk - you are storing byte-by-byte and each byte is probably different that preceeding ones. Reply
  • zdzichu - Thursday, April 22, 2010 - link

    I think you can skip non-aligned test in future. It is a corner case, not interesting at all. Reply
  • PubicTheHare - Thursday, April 22, 2010 - link

    I'm pretty sure we're still 18-24 months away from having SSDs priced at a level that the average SSD-seeker is willing to spend.

    There will probably be an attractive price differential between what is available now and what price level the same will be available for in 12 months, but I really think it'll take a bit over a year to start seeing "attractive" pricing.

    None of this stuff matters to me until Apple supports TRIM or garbage collection (I believe this is "OS-agnostic" TRIM, right?) comes to the drives with the best firmware and price/usable GB.

    I just want a 256-300 GB SSD that I can leave 15% unpartitioned and throw into a MBP. I want it to scream.
    Reply

Log in

Don't have an account? Sign up now