Delving Deeper

I had suspicions as to the nature of the problem based on my experience with it in my Mac Pro. The SuperTalent MLC drive in my machine would pause, most noticeably, randomly when I'd want to send an IM. What happens when you send an IM? Your logfile gets updated; a very small, random write to the disk. I turned to Iometer to simulate this behavior.

Iometer is a great tool for simulating disk accesses, you just need to know what sort of behavior you want to simulate. In my case I wanted to write tons of small files to the drive and look at latency, so I told Iometer to write 4KB files to the disk in a completely random pattern (100% random). I left the queue depth at 1 outstanding IO since I wanted to at least somewhat simulate a light desktop workload.

Iometer reports four results of importance: the number of IOs per second, the average MB/s, the average write latency and the maximum write latency. I looked at performance of four drives, the OCZ Core (Jmicron controller MLC), OCZ SLC (Samsung controller), Intel MLC (Intel controller) and the Seagate Momentus 7200.2 (a 7200RPM 2.5" notebook drive).

Though the OCZ core drive is our example, but please remember that this isn't an OCZ specific issue: the performance problems we see with this drive are apparent on all current MLC drives in the market that use a Jmicron controller with Samsung flash.

4KB, 100% random writes, IO queue depth 1 IOs per Second MB/s Average Write Latency Max Write Latency
OCZ Core (JMicron, MLC) 4.06 0.016MB/s 244ms 991ms
OCZ (Samsung, SLC) 109 0.43MB/s 9.17ms 83.2ms
Intel X25-M (Intel, MLC) 11171 43.6MB/s 0.089ms 94.2ms
Seagate Momentus 7200.2 106.9 0.42MB/s 9.4ms 76.5ms

 

Curiouser and curiouser...see a problem? Ignore the absolute ridiculous performance advantage of the Intel drive for a moment and look at the average latency column. The OCZ MLC drive has an average latency of 244 ms, that's over 26x the latency of the OCZ SLC drive and 25.9x the latency of a quick notebook drive. This isn't an MLC problem however, because the Intel MLC drive boasts an average latency of 0.09ms - the OCZ MLC drive has a 2700x higher latency!

Now look at the max latency column, the worst case scenario latency for the OCZ Core is 991ms! That's nearly a full second! This means that it takes an average of a quarter second to write a 4KB file to the drive and worst case scenario, a full second. We complain about the ~100 nanosecond trip a CPU has to take to main memory and here we have a drive that'll take nearly a full second to complete a task - totally unacceptable.

In order to find out if the latency is at all tied to the size of the write I varied the write size from 4KB all the way up to 128KB, but kept the writes 100% random. I'm only reporting latencies here:

100% random writes, IO queue depth 1 4KB 16KB 32KB 64KB 128KB
OCZ Core (JMicron, MLC) 244ms 243ms 241ms 243ms 247ms
OCZ (Samsung, SLC) 9.17ms 14.5ms 21.2ms 28ms 28.5ms
Intel X25-M (Intel, MLC) 0.089ms 0.23ms 0.44ms 0.84ms 1.73ms
Seagate Momentus 7200.2 9.4ms 8.95ms 9.14ms 9.82ms 12.1ms

 

All the way up to 128KB the latency is the same, 0.25s on average and nearly a second worst case for the OCZ Core and other similar MLC drives. If it's not the file size, perhaps it's the random nature of the writes?

For this next test I varied the nature of the writes, I ran the 4KB write test with a 100% sequential workload, 90% sequential (10% random) and 50% sequential (50% random):

4KB writes, IO queue depth 1 100% Sequential/0% Random 90% Sequential/10% Random 50% Sequential/50% Random 0% Sequential/100% Random
OCZ Core (JMicron, MLC) 0.36ms 25.8ms 130ms 244ms
OCZ (Samsung, SLC) 0.16ms 1.97ms 5.19ms 9.17ms
Intel X25-M (Intel, MLC) 0.09ms 0.09ms 0.09ms 0.089ms
Seagate Momentus 7200.2 0.16ms 0.94ms 4.35ms 9.4ms

 

The average latency was higher on the OCZ Core (MLC) than the rest of the drives, but still manageable at 0.36ms when I ran the 100% sequential test, but look at what happened in the 90% sequential test. With just 10% random writes the average latency jumped to 25.8ms, that's 13x the latency of the OCZ SLC drive. Again, this isn't an MLC issue as the Intel drive does just fine. Although I left it out of the table to keep things simpler, the max latency in the 90/10 test was 983ms for the OCZ Core drive once again. The 90/10 test is particularly useful because it closely mimics a desktop write pattern, most writes are sequential in nature but a small percentage (10% or less) are random in nature. What this test shows us is that even 10% of random writes is all it takes to bring the OCZ Core to its knees.

The problem gets worse as you increase the load on the drive. Most desktop systems have less than 1 outstanding IO during normal operation, but under heavy multitasking you can see the IO queue depth hit 4 or 5 IOs for writes. Going much above that and you pretty much have to be in a multi-user environment, either by running your machine as a file server or by actually running a highly trafficked server. I ran the same 100% random, 4KB write test but varied the number of outstanding IOs from 1 all the way up to 64. Honestly, I just wanted to see how bad it would get:

This is just ridiculous. Average write latency climbs up to fifteen seconds, while max latency peaked at over thirty seconds for the JMicron based MLC drives. All this graph tells you is that you shouldn't dare use one of these drives in a server, but even at a queue depth of four the max latency is over two seconds which is completely attainable in a desktop scenario under heavy usage. I've seen this sort of behavior first hand under OS X with the SuperTalent MLC drive, the system will just freeze for anywhere from a fraction of a second to over a full second while a write completes in the background. The write that will set it off will often times be something as simple as writing to my web browser's cache or sending an IM, it's horribly frustrating.

I did look at read performance, and while max latency was a problem (peaking at 250ms) it was a fairly rare case, average latency was more than respectable and comparable to the SLC drives. This seems to be a write issue. Let's see if we can make it manifest itself in some real world tests.

Enter the Poorly Designed MLC The Generic MLC SSD Problem in the Real World
POST A COMMENT

97 Comments

View All Comments

  • bharatwaja - Tuesday, September 09, 2008 - link

    This is by far the best article I have ever read about SSDs... Anand you ROCK!!! and EVERYONE at ANANDTECH ROCKS!....

    Great article... Thank you........ you just saved me from spending $99 on a pretty much useless SSD.
    [Takes a printout of Anand to worship]
    Reply
  • hyperdoggy - Tuesday, September 09, 2008 - link

    I noticed that ocz have released core v2 series of their ssd. It seems to come in a different size configurations than its 1st gen product, can you confirm if this is based on the same controller as its 1st gen product Anand?

    Also, i would love to see some ssd raid action since ssd does not lose its data when the array fails. I'm more interested to see if there is other limiting factor when you raid with such fast ssds, such as the motherboard chipset itself. If raiding two of those cheap $99 core 32gig ssd helps to reduce the write bug, it might be worthwhile buy, which was something i was thinking of doing till i read the review here.

    And might i say, great review indeed Aanad.
    Reply
  • bytekeeper - Tuesday, September 09, 2008 - link

    Hi there. There is a discussion in the OCZ support forum about
    the test results published in this article and the OCZ support
    staff is thinking that you've got a faulty drive. Check here:

    http://www.ocztechnologyforum.com/forum/showthread...">http://www.ocztechnologyforum.com/forum/showthread...

    Is there any chance you can re run the test with another
    Core drive or Supertalent/Patriot JMicron JMF602 victims?

    Thanks.
    Reply
  • Gary Key - Wednesday, September 10, 2008 - link

    I posted results with a newly arrived Core drive straight off the shelf from Newegg in that thread. No changes to our initial results, although I will try a different controller later this week. Reply
  • Anand Lal Shimpi - Tuesday, September 09, 2008 - link

    In total I have four drives based on the JMF602 controller: one from OCZ, SuperTalent, Patriot and Silicon Power.

    Of the drives, the OCZ Core is the oldest. If you look at page 9 in the article I've got a table that has the SuperTalent, Silicon Power and OCZ Core drives in it. The Silicon Power and SuperTalent drive both perform worse than the OCZ.

    The situation gets more interesting if you look at the Iometer results for the drives, which I didn't publish in great depth but I did run internally. Average write latency goes down tremendously on the SuperTalent drive, but max latency more than doubled. I suspect that the SuperTalent drive may use a newer version of the JMF602, but the result is a reduction in real world performance - at least in the test cases I ran.

    The inability to complete an OS install also applies to other drives. As I mentioned in the article I had the same problem with the SuperTalent MLC drive in OS X.

    While there are undoubtedly ways of attempting to lessen the impact of the JMF602's poor design, I believe only a new controller will actually completely address these problems.

    Take care,
    Anand
    Reply
  • yottabit - Tuesday, September 09, 2008 - link

    This is why I love your website. Lots of your articles are so in-depth they make me think I'm reading some grad school journal that I should be paying money for.

    I actually first saw the Intel SSD article on TomsHardware, but didn't even bother to read it because I imagined it was going to say something like "OMG INTEL SSD ROX LOLZ SO MUCH FASTER THAN OTHER HDS"

    I come here expecting to get a detailed analaysis, and that's always what you provide! Thank you so much.

    My only gripe is you seem to have skipped a very basic test- dragging and dropping large files! You combine extracting files with other tests but you don't have any basic drag + drop tests I saw.

    This rocks for the computer industry though. I personally couldn't believe so many people were buying the existing SSDs. This new Intel stuff looks like something that would actually make an improvement without compromises. I could certainly live with the capacity, I'm still running a 36GB raptor for my boot drive. Hah.


    Reply
  • Dariusbird - Tuesday, September 09, 2008 - link

    I'm proud to be working for the company producing these IC's. Nice work on the article. Reply
  • therealnickdanger - Tuesday, September 09, 2008 - link

    It would be very nice to see where on all these charts the best 5400RPM 2.5" SATA drive would sit. Most laptop users have 5400RPM drives, so this would be MOST EXCELLENT to see the benefits of all these drives in comparison - especially the now "crappy" JM-based MLC drives. Reply
  • johncl - Tuesday, September 09, 2008 - link

    I must congratulate Intel for adressing the issues with MLC and creating a brilliant product. Also thanks to the author of this article to point to the problem of MLC that seems to go by unnoticed by so many benchmark review sites.

    The initial price from intel is suggested retail price so I guess in a short while this should come down a bit, as its a bit over the top. As the author says, at around $400 this is a no-brainer for an enthusiast considering the improvement you will experience on your system. This is for me the most important advancement in computer technology in the last years and we are just starting to see the advantages of it. Besides the person sitting behind the keyboard, the slowest thing in your computer is the harddisk. You can swap CPUs and GPUs to your hearts desire, but eventually, percieved performance of a computer often boils down to how fast you get data in and out of system memory. SSDs will fix this technological void we have had for all these years with mechanical disks.

    In general its about time we get rid of all mechanical parts in a computer, including fans. We need good cooling solutions built into our systems that rely on other means than rotating motors. If it means to stop the CPU speed race, then by all means do that, lets try to get todays performance but passively cooled. The SSD will walk hand in hand with this new trend in computing so we can get truly silent workstations. Amen to SSDs!
    Reply
  • Gastrian - Tuesday, September 09, 2008 - link

    I'm looking into creating a small multimedia PC where by I'll be archiving all my DVDs to DivX and running them through the PC instead of a DVD Player.

    Would I see any benefits in performance and acoustics (I don't want any noise from the PC interfering with my viewing) by having the OS on the Intel MLC SSD while storing the movies on a mechanical HDD?

    Essentially I want to be able to sit down and browse my movies then pick one and watch it without having to worry about loading/transfer times and noise levels.
    Reply

Log in

Don't have an account? Sign up now