The Generic MLC SSD Problem in the Real World

Based on the Iometer results I knew for sure that there was an issue with random write performance on these SSDs, the only common thread between them being the type of controller (JMicron JMF602) and the MLC flash devices being used (Samsung). But I wanted to see if I could get the high latency writes to appear in a real-world benchmark-able way.


The Samsung SLC controller

 

The first indication that something is wrong actually comes from running the Windows Vista install itself, the MLC drive takes 25% longer to complete the install (let’s just ignore the part about the full install not being fully functional upon completion). Clearly there’s an issue with write speed. I ran into something similar with OS X, but I didn't put it together until now.

The problems are far worse in Vista. While OS X will just pause until the data is written, Vista doesn’t seem to respond well to unusually long file write delays. I haven’t been able to get the Vista install to complete without errors on the OCZ Core drive. One install completed but I was greeted with this error as soon as I hit the desktop:

Trying to reinstall gave me this error even before I booted into Vista:

It looks like the Vista install doesn’t do well with significant delays when writing files to the disk. The only way I could actually get a reliable Vista install on the Core drive was by cloning another drive with a working Vista image on it.

For the next test I tried creating a 200MB archive of pictures:

 

So far, so good. The OCZ Core performs no differently than the rest of the pack. Now let's try creating the same archive, but also extracting one at the same time:

 

Ah-ha! Now we're on to something, the SLC and Intel MLC drives are both around 30% faster than the OCZ Core. Let's try creating the same archive but extracting a much larger one:

  Creating 200MB Archive Extracting 5GB Archive Number of Pauses
SuperTalent (JMicron, MLC) 83 seconds 573 seconds lots
Silicon Power (JMicron, MLC) 128 seconds 632 seconds tons
OCZ Core (JMicron, MLC) 60 seconds 222.7 seconds 20
OCZ (Samsung, SLC) 42 seconds 94.7 seconds 0
Intel X25-M (Intel, MLC) 42 seconds 113.7 seconds 0
Seagate Momentus 7200.2 72 seconds 260.6 seconds 0
Western Digital VelociRaptor 46 seconds 90.9 seconds 0

 

You'll notice a new column called number of pauses; this column is the number of times all disk activity ceased on the system, causing the whole machine to stutter for a moment. You'll also notice that there are zeros in this column, unless the drive uses the JMicron controller. Also note the randomness of the problem, the OCZ, SuperTalent and Silicon Power drives all use the same hardware yet I saw tremendous variations between runs. This is a manually timed test but the rest of the drives didn't vary nearly as much.

It's also important to note that while the Seagate notebook drive performed similarly to the Core, it didn't suffer from the pauses. What this helps illustrate is the nature of the problem, it's very bursty - you get a period of very high performance followed by an abrupt stop. The abrupt stops, as we now know, are these 0 - 2 second write latencies where everything in the system is completely starved of data until the write is complete.


Poor hungry CPU, it just wants to eat. Comic by Laura of www.laurascomics.com

From the CPU's perspective, it expects new data on a nanosecond scale, waiting a full second for anything is deadly for performance.

Another way of quantifying the impact is looking at how long it takes to launch an application when we're in this high-latency write period. I tried extracting the same 5GB archive and launching PowerPoint 2007 or Photoshop CS3 (not at the same time).

  Launching PowerPoint 2007 While Extracting 5GB Launching Photoshop CS3 While Extracting 5GB
OCZ Core (JMicron, MLC) 8.5 seconds 24.3 seconds
OCZ (Samsung, SLC) 2.8 seconds 9.3 seconds
Intel X25-M (Intel, MLC) 3.85 seconds 10.5 seconds
Seagate Momentus 7200.2 21.3 seconds 46.5 seconds
Western Digital VelociRaptor 8 seconds 23.5 seconds

 

All of the drives took longer to launch the applications, but while the SLC and Intel MLC drives still performed in a league of their own, the MLC drives behaved like conventional hard drives. Try running an application while your disk is busy doing something else, or better yet, try running a couple - they take forever. SSDs fix that problem, or at least they're supposed to. These MLC drives don't, at least not always; thankfully the SLC drives and more importantly, the Intel MLC drive don't exhibit this problem.

Delving Deeper A Lack of DRAM or a Lack of Cache?
POST A COMMENT

97 Comments

View All Comments

  • Mocib - Thursday, October 09, 2008 - link

    Good stuff, but why isn't anyone talking about ioXtreme, the PCI-E SSD drive from Fusion-IO? It baffles me just how little talk there is about ioXtreme, and the ioDrive solution in general. Reply
  • Shadowmaster625 - Thursday, October 09, 2008 - link

    I think the Fusion-IO is great as a concept. But what we really need is for Intel and/or AMD to start thinking intelligently about SSDs.

    AMD and Intel need to agree on a standard for an integrated SSD controller. And then create a new open standard for a Flash SSD DIMM socket.

    Then I could buy a 32 or 64 GB SSD DIMM and plug it into a socket next to my RAM, and have a SUPER-FAST hard drive. Imagine a SSD DIMM that costs $50 and puts out even better numbers than the Fusion-IO! With economy of scale, it would only cost a few dollers per CPU and a few dollars more for the motherboard. But the performance would shatter the current paradigm.

    The cost of the DIMMs would be low because there would be no expensive controller on the module, like there is now with flash SSDs. And that is how it should be! There is NO need for a controller on a memory module! How we ended up taking this convoluted route baffles me. It is a fatally flawed design that is always going to be bottlenecked by the SATA interface, no matter how fast it is. The SSD MUST have a direct link to the CPU in order to unleash its true performance potential.

    This would increase performance so much that if VIA did this with their Nano CPU, they would have an end product that outperforms even Nehalem in real-world everyday PC usage. If you dont believe me, you need to check out the Fusion-IO. With SSD controller integration, you can have Fusion-IO level performance for dirt cheap.

    If you understand what I am talking about here, and can see that this is truly the way to go with SSDs, then you need to help get the word to AMD and Intel. Whoever does it first is going to make a killing. I'd prefer it to be AMD at this point but it just needs to get done.
    Reply
  • ProDigit - Tuesday, October 07, 2008 - link

    Concerning the Vista boottime,I think it'd make more sense to express that in seconds rather than MB/s.
    I rather have a Windows boot in 38seconds article,than a windows boots with 51MB/s speeds.. That'd be totally useless to me.

    Also, I had hoped for entry level SSD cards, replacements for mininotebooks rather in the category of sub 150$ drives.
    On an XP machine, 32GB is more then enough for a mininotebook (8GB has been done before). Mininotebooks cost about $500,and cheap ones below $300. I,as many out there, am not willing to spend $500 on a SSD drive, when the machine costs the same or less.

    I had hoped maybe a slightly lower performance 40GB SSD drive could be sold for 149$,which is the max price for SSD cards for mini notebooks.
    for laptops and normal notebooks drives upto 200-250$ range would be enough for 64-80GB. I don't agree on the '300-400' region being good for SSD drives. Prices are still waaay too high!
    Ofcourse we're paying a lot of R&D right now,prices should drop 1 year from now. Notebooks with XP should do with drives starting from 64GB,mini notebooks with drives from 32-40GB,and for desktops 160GB is more than enough. In fact, desktops usually have multiple harddrives, and an SSD is only good for netbooks for it's faster speeds, and lower powerconsumption.
    If you want to benefit from speeds on a desktop,a 60-80GB will more then do, since only the Windows, office applications, anti-virus and personal programs like coreldraw, photoshop, or games need to be on the SSD drive.
    Downloaded things, movies, mp3 files, all those things that take up space might as well be saved on an external/internal second HD.

    Besides if you can handle the slightly higher game loadtimes on conventional HD's, many older games already run fine (over 30fps) on full detail, 1900x??? resolution.
    Installing older games on an SSD doesn't really benefit anyone, apart from the slightly lower loadtimes.

    Seeing that I'd say for the server market highest speed and largest diskspace-size matter, and occasionally also lowest power consumption matter.
    => highest priced SSD's. X >$1000, X >164GB /SSD

    For the desktop high to highest speed matters, less focus on diskspace size and power consumption.
    => normal priced SSD's $250 > X > $599 X > 80GB/SSD

    For the notebooks high speed and lowest power consumption matter, smaller size as compensation for price.
    => Normal priced SSD's $175 > X > $399 X > 60GB/SSD

    For the mininotebook normal speed, and more focus on lower power consumption and lowest pricing matter!
    => Low powered small SSD's $75 > X > $199 X > 32GB/SSD
    Reply
  • gemsurf - Sunday, October 05, 2008 - link

    Just in case anyone hasn't noticed, these are showing up for sale all over the net in the $625 to $750 range. Using live search, I bought one from teckwave on ebay yesterday for $481.80 after the live search cashback from microsoft.

    BTW, Does Jmicron do anything right? Seems I had AHCI/Raid issues on the 965 series Intel chipsets a few years back with jmicron controllers too!
    Reply
  • Shadowmaster625 - Wednesday, September 24, 2008 - link

    Obviously Intel has greater resources than you guys. No doubt they threw a large number of bodies into write optimizations.

    But it isnt too hard to figure out what they did. I'm assuming that when the controller is free from reads or writes, that is when it takes the time to actually go and erase a block. The controller probably adds up all the pages that are flagged for erasure, and when it has enough to fill an entire block, then it goes and erases and writes that block.

    Assuming 4KB pages and 512KB blocks (~150,000 blocks per 80GB device) what Intel must be doing is just writing each page wherever they could shove it. And erasing one block while writing to all those other blocks. (With that many blocks you could do a lot of writing without ever having to wait for one to erase.) And I would go ahead and have the controller acknowledge the data was written once it is all in the buffer. That would free up the drive as far as Windows is concerned.

    If I was designing one of these devices, I would definately demand as much SRAM as possible. I dont buy that line of bull about Intel not using the SRAM for temporary data storage. That makes no sense. You can take steps to ensure the data is protected, but making use of SRAM is key to greater performance in the future. That is what allows you to put off erasing and writing blocks until the drive is idle. Even a SRAM storage time limit of just one second would add a lot of performance, and the risk of data loss would be negligable.

    Reply
  • Shadowmaster625 - Wednesday, September 24, 2008 - link

    OCZ OCZSSD2-1S32G

    32GB SLC, currently $395

    The 64GB version is more expensive than the Intel right now, but with the money they've already raked in who really thinks they wont be able to match intel performance or pricewise? Of course they will. So how can this possibly be that great of a thing? So its a few extra GB. Gimme a break, I would rather take the 32GB and simply juggle around stuff onto my media drive every now and then. Did you know you can simply copy your entire folder from the Program Files directory over to your other drive and then put it back when you want to use it? I do that with games all the time. It takes all of 2 minutes... Why pay hundreds of dollars extra to avoid having to do that? It's just a background task anyway. That's how 32GB has been enough space for my system drive for a long time now. (Well, that and not using Vista.) At any rate this is hardly a game changer. The other MLC vendors will address the latency issue.
    Reply
  • cfp - Tuesday, September 16, 2008 - link

    Have you seen any UK/Euro shops with these available (for preorder even?) yet? There are many results on the US Froogle (though none of them seem to have stock or availability dates) but still none on the UK one. Reply
  • Per Hansson - Friday, September 12, 2008 - link

    What about the Mtron SSD's
    You said they used a different controller vs Samsung in the beginning of the article but you never benchmarked them?
    Reply
  • 7Enigma - Friday, September 19, 2008 - link

    I would like to know the question to this as well... Reply
  • NeoZGeo - Thursday, September 11, 2008 - link

    The whole review is based on Intel vs OCZ Core. We all know OCZ core had issues that you have mentioned. However, what I would like to see is other drives test bench against OCZ core drive, or even the core II drive. Suppose the controller has a different firmware according to some guys from OCZ on the core 2, and I find that a bit bias if you are using a different spec item to represent all the other drives in the market. Reply

Log in

Don't have an account? Sign up now