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

  • Anand Lal Shimpi - Tuesday, September 9, 2008 - link

    I think the question was: how much more performance is left untapped by current controller designs? The JMicron issues are a limited case, what will truly be telling is what happens when we see Intel vs. Samsung with SLC drives...

    The dominating the charts line was in reference to the Crysis results. If you've ever run the Crysis GPU bench you'll know that it is extremely disk intensive (particularly the first run). As I mentioned in the article, it over emphasizes the importance of disk performance but that's not to say that the results aren't valid.

    I do see your point however, let me see what I can do about clarifying that statement.

    -A
  • yyrkoon - Tuesday, September 9, 2008 - link

    Ok, I guess I missed the JMicron 'thing', but to be perfectly honest I dislike *anything* JMicron and try to avoid them whenever possible. I guess I am just so interested in these Intel drives, I just tuned everyting else out. However, I did read what you mentioned about 'trouble-shooting' the JMicron MLC issue.

    Never ran Crysis, and do not plan on running it anytime soon if ever, but I am somewhat of a hardcore gamer.

    Keep up the good work, and PLEASE do keep us informed on at least these Intel SSD drives :)
  • BD2003 - Monday, September 8, 2008 - link

    If the achilles heel of the JMicron MLC is the random write speed, why couldnt a ram buffer be used to cache writes? Sure this would cause a serious problem if the power went out, but thats an issue some would be willing to live with.

    I'm fairly sure vista has an option for this in the device manager in the properties tab of a drive - "enable advanced disk performance". I wonder if that would have any effect on the results?
  • DigitalFreak - Monday, September 8, 2008 - link

    Yet more proof that JMicron products are shit.
  • ggordonliddy - Monday, September 8, 2008 - link

    For the love of all humanity: If you are going to write for a living, please learn basic comma usage!

    It is NOT okay to just stick a comma in the middle of a sentence anytime you want. And it gives readers a headache.

    Here is just one of numerous examples of improper comma usage I've seen so far (and I've only gotten to the 3rd page!):

    "Intel certifies its drives in accordance with the JEDEC specs from 0 - 70C, at optimal temperatures your data will last even longer [...]"

    The comma before "at optimal" should be replaced with a semicolon or a period (I prefer the semicolon).

    Did you actually pass your English classes? I'm guessing that you probably did and you are just a product of our miserable public school system that refuses to hold students to any real level of accountability.


    (And BTW, your quoting system is broken. When I enter text in the Quote Text dialog and click OK, nothing new appears in the Comment compose field.)
  • 7Enigma - Friday, September 19, 2008 - link

    Honestly man, you need to seriously relax. My personal rule of thumb for grammar is does the mistake make the understanding of the sentence difficult to comprehend.

    Writing something like, "Intel certifies its drives in accordance with the JEDEC specs from 0 - 70C, at optimal temperatures your data will last even longer [...]", while not grammatically correct is completely readable.

    If it was something like, ""Intel certifies drives to accordance with the JEDEC specs from 0 - 70C, at optimal data your temperatures will last even longer [...]", now you have a legitimate beef.

    The former can easily be forgiven, the latter makes my head hurt when I read it. Trust me, whatever you do, do not go to Dailytech.com and read the articles. Those even I get annoyed at frequently and I'm very forgiving.
  • Anand Lal Shimpi - Tuesday, September 9, 2008 - link

    You're quite right, thanks for the heads up :) Some of the article was directly from my notes while I was working on the tests, so that's one source of unpolished bits. I know I'm far from perfect, so I do appreciate your (and anyone else's) assistance.

    Thanks :)

    Anand
  • pkp - Tuesday, September 9, 2008 - link

    Thanks for posting, Anand. I see you're already aware of the problem, but I wanted to throw my two cents in.

    What is the usual editing process? I think a once over by a second set of eyes would have caught the bulk of the grammatical errors.

    Of course, the ultimate issue isn't commas. It's readability. However, the problem was bad enough that I'm making this comment without having even gotten through the first page of this article.
  • JarredWalton - Tuesday, September 9, 2008 - link

    I'm often the content editor for posted articles, but often we skip that stage due to late nights and schedules. Doing a final thorough edit can require a couple hours (edit and then HTLM-ize), and when someone finishes an article at 5AM or whatever and it's an NDA type piece, delaying it any further is usually not desired by the readers or us.

    I do read all posted articles, and often I take the time to go through and fix any noteworthy errors. A few misplaced commas don't really detract from a 5000 word article, however, and depending on what else is going on I may or may not edit the text. If anyone takes the time to point out specific errors, i.e. "on page 3 you write "...." they always get corrected - at least if I see it. General complaints are much more difficult to address though, i.e. "You used passive voice and therefore you must DIE!" LOL.

    I know personally that when you write a long article with lots of testing, certain thoughts tend to appear in multiple places and the final result isn't always as coherent as I would like. Trying to "fix" problems relating to flow and readability is difficult at best, and requires more time than we generally spend. If anyone wants to make specific suggestions, though, we're open for input as always.

    Perhaps it's useful to compare the process to print publications. Magazines usually have several editors on staff whose job is solely to edit other authors' work; I can say that we don't have anyone at AnandTech in that position these days. (I edit some of the articles, but not all, and even then I make mistakes.) That's probably why we have more typos than magazines, but then we provide far more thorough coverage as well. Last I saw, most magazine hardware reviews end up being one page and ~1000 words, with a couple charts.

    At the end of the day, I get most of my detailed information from the internet. Magazines might be more grammatically correct, and they make for great toilet reading, but I don't generally depend on them as a source of credible information. I'd say it's safe to say we won't see such an in-depth exploration of SSD performance and issues in any magazine. [Now I have to prepare to have someone point me to an article in some magazine that does exactly that.]

    Cheers,
    Jarred
  • KikassAssassin - Tuesday, September 9, 2008 - link

    Then I guess I should point you to an article in last month's issue of my favorite data storage magazine.

    http://www.solidstatedisksmonthly.com/2008/08/ever...">http://www.solidstatedisksmonthly.com/2...erforman...

    Unfortunately, their website seems to be down at the moment, but keep checking it, I'm sure it'll be back up soon (and don't be fooled by the article's title. It's actually only 23 pages without the ads).

Log in

Don't have an account? Sign up now