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?
Comments Locked

96 Comments

View All Comments

  • mindless1 - Thursday, September 11, 2008 - link

    Sometimes the cure is worse than the problem.
  • Gannon - Tuesday, September 9, 2008 - link

    Don't worry derek I still heart you guys! :P

    Here's some cool software to check out (they have free trial version)

    http://www.whitesmoke.com/landing_flash/free_hotfo...">http://www.whitesmoke.com/landing_flash...otforwor...

    Maybe it will help escape complaints from the grammar nazi's, I think a lot of grammar is BS anyway. Language evolves constantly. It's a flexible tool to communicate.
  • Nihility - Monday, September 8, 2008 - link

    An excellent review. The benchmark results were always confusing in the past. No one would try to explain why an SSD with seemingly superior specs can't outperform a 7200 drive in media test. Thanks for putting the time in to resolve this issue.

    As for buying a drive like that, the price is still too steep for me to consider and you definitely made it clear that buying a jmicro SSD is out of the question.
    As for further testing, I'm very interested in seeing how a good SSD performs as an external drive over USB. The robustness and sturdiness of the drive is very important for something you lug around. We all know how bad bandwidth is over USB but I wonder how the latency will fair.

    Keep up the good work.
  • kmmatney - Monday, September 8, 2008 - link

    One of the other reviews I read said this SSD's controller will learn hard drive usage patterns, and get faster over time. Any tests of this feature?
  • leexgx - Monday, September 8, 2008 - link

    not sure how thay can lern

    i did wunder why thay never put any DRAM buffer on SSD drives as i was expecting SSD to suffer badly from lack of buffer any MLC drives basicly suck (16kb buffer per flash chip) unless its the intel MLC drive lol or an SLC drive seem mostly ok, but an intel SLC going to rock when thay get tested
  • Anand Lal Shimpi - Monday, September 8, 2008 - link

    The Intel drive will learn hard drive usage patterns however it does so over an extremely long period of time, not something I could develop a test for in my time with the drive.

    Take care,
    Anand
  • whatthehey - Monday, September 8, 2008 - link

    ...that doesn't think too much about HDD performance, particularly when we're talking about insane prices. Sure, rebooting and reloading all of your apps will feel much faster. Personally, when I reboot I walk into the kitchen or bathroom, walk back a few minutes later, and I don't notice the delays. Not to mention, I only reboot about once a month (usually when nVidia releases a new driver that I need to install).

    Another major problem I have is the tests as an indication of the "real world". Take the whole antivirus thing. I hate AV software and software firewalls, which is why I don't use Norton, AVG, Avast, McAfee or any other product that kills performance, sucks up memory, and only prevents virii/trojans after an update. AV software is just a BS excuse to pay a $60/year subscription and get nags every time your subscription expires. So there's on "real" scenario I don't ever encounter.

    Archive extraction can be pretty disk intensive as well, but how often do you need to extract a 5GB archive? Okay, so let's say you're a pirate and you do that daily... great. Now you can extract faster, but you have an SSD that can only hold 14 or so large archives. It's a nice illustration of SSDs being faster, but it's completely impractical. I have a 1TB drive just for all the movies, images, music, and disc images I have floating around.

    The tests show that SSDs can help a lot, but I for one use capacity far more. Between several games, my standard apps, and Vista I think I would use most of the 80GB. Then I think of the price and I could grab a couple VelociRaptors or even four 1TB Samsung F1 drives. I'll be truly impressed when I can get at least 320GB of SSD for less than $200. Actually, it's more like I want a good SSD with a reasonable capacity for under $100. Until then I'll just stick with my slower drives and avoid worst-case situations where HDD performance is a problem as much as possible.

    The article was good, and I appreciate the info on the MLC issues with JMicron. That confirms my suspicion that inexpensive flash drives are worse than standard mechanical drives. Intel has addressed the problem, but price is now back to where we were last year it seems. I guess the real problem is that I'm just not enough of an "enthusiast" to spend this much money on 80GB of storage... not counting stuff like that old 4GB hard drive back in the day that set me back over $200. Give it a few more cycles and I think I'll be ready for SSDs.

    PS - Also, who cares about $600 CPUs when you can buy $200 CPUs and overclock to higher performance levels? I don't think we'll ever see overclocked SSDs or HDDs.
  • DerekWilson - Tuesday, September 9, 2008 - link

    i wouldn't be so sure about not seeing overclocked SSD ...

    as this article points out, intel puts a focus on reliability ... but to do so they do sacrifice performance. the voltage applied to the transistors to store data is calibrated to write the cells quickly while maintaining a good life span. a higher voltage could be applied that would allow the cells to be written faster but would reduce the number of writes that a cell could handle.

    if intel says 100gb a day for 5 years ... i don't need that by a long shot. i would be very willing to sacrifice a lot of that for more speed.

    i actually spoke with intel about the possibility of overclocking their ssd drives at idf -- it is something that could be done as it is controlled via the firmware of the drive. if intel doesn't convolute their firmware too much or if they allow enthusiasts to have the necessary control over settings at that level we could very well see overclocked SSDs ...

    which would be very interesting indeed.
  • shabby - Monday, September 8, 2008 - link

    I was so close in buying one of those ocz drives, in fact the reason i didnt buy it was because it was a special order that took 2 weeks.
    Excellent write up, especially about the jmicron/mlc "glitch".
  • OCedHrt - Monday, September 8, 2008 - link

    Any reason why the WD GP drive does so well in the multitasking test? Even better than the VelociRaptor?

Log in

Don't have an account? Sign up now