TRIM and Performance over Time

When I first tested the C300 I noted that it fell victim to the same bug that plagued Intel’s X25-M: throw a bunch of random writes at the drive and it’ll get backed into a corner that it’ll never get out of. The scenario that you have to create to force the drive into this condition isn’t realistic at all, however that isn’t to say that over months or years of heavy use that you wouldn’t find yourself in the same situation. Either way, Crucial corrected the problem and spent weeks validating the firmware fix. Crucial did continue to sell drives during this period, which I wasn’t exactly happy about.

Either way the problem is now fixed with the 0002 firmware revision. It’s a destructive firmware update so you’ll lose any and all data on your drive after applying it. I also had a strange issue where the update had to be applied twice on my 256GB drive before it would work properly. Here’s what the C300’s performance looks like after being hammered for 20 minutes with random writes:

Ouch. Writes drop down to a dismal 20MB/s. But now if we TRIM the contents of the drive the performance curve looks like this:

Writes are at about 140MB/s and reads are in the low 200s. Everything is back to normal.

Now note that unlike the SandForce drives, Crucial’s controller/firmware combination will let the drive get into this state. Even if I throw randomly generated data at a SandForce drive the performance remains very high (the drive in the chart below is OCZ's Vertex 2):

Note that the lower line actually represents read performance - write speed is still up above 180MB/s.

The C300’s performance is simply not as resilient as what SandForce has to offer. For the majority of users this isn’t a problem. Typical desktop workloads shouldn’t get the drive into this state. Add in the efficiency of Crucial’s TRIM implementation and you should never see such a drop. However if your workload is atypical or particularly write intensive, the C300 may not be a good fit.

The C300 does perform background garbage collection. I’ve never particularly been a fan of idle GC simply because it fixes a problem after it’s created rather than avoiding the problem altogether. If you don’t have TRIM however (running RAID, Mac OS X, any Windows OS other than 7), idle GC is all you can rely on.

How well does it work? I subjected my 128GB C300 to almost the same torture test I mentioned above. I filled the drive to 80% of its total capacity and then threw random writes all over the drive for 20 minutes straight. Performance was predictably bad:

I left 20% of the drive empty because free space is needed for the idle GC to take effect. Here’s what the drive’s performance looked like after being idle for 3 hours:

Not exactly a drastic improvement. The idle GC just isn’t very aggressive. Compared to what Indilinx and SandForce have done, Crucial’s implementation just doesn’t cut it. For Windows 7 users running a single drive this shouldn't matter since you have TRIM. But if you're running RAID or another OS, the C300 isn't as desirable.

Power Consumption Final Words
Comments Locked

51 Comments

View All Comments

  • Thevilpsycho666 - Sunday, February 6, 2011 - link

    Hi !

    After reading Anand reviews on the c300, i was amazed by the performance of the drive even for the 128gb model and since i have a Rampage III gene with a 6gb Marvell 9128 controller i was thinking of buying one.

    Finally 3 days ago the drive was 250$ on newegg so i bought it.

    Going around on forum i discover with great disappointment that the 6gbs Marvell controller "apparently" don't issue the TRIM command, is it true ?

    Nobodies seem to have a definitive answer, Crucial don't have one, Marvell are under NDA so they don't answer anyone, Asus Told somebody that they should use the Intel controller instead to ensure TRIM support.

    1- Is the Marvell controller supporting Trim and is there a way to test that ? (the "fsutil behavior query DisableDeleteNotify" command is not the answer because it's only telling if the OS is issuing the command and that's not where the problem is.)

    2- Some Claim that with the latest Marvell driver which is 1.0.00.1051 make the TRIM working. Some claim that it don't.

    3-Other claim that the Microsoft ACHI drivers instead of Marvell's one work with TRIM.

    It would be very nice if you Anand could test that particular scenario (C300 With Marvell 9128 6gbs windows 7 64) To see if the TRIM command work.

    In the end not only me will benefit, but the whole community as well.

    Thank you in advance!

Log in

Don't have an account? Sign up now