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
POST A COMMENT

51 Comments

View All Comments

  • strikeback03 - Tuesday, July 13, 2010 - link

    Really? I have 3 computers, and can see a use for the 30-40GB, 60-80GB, and 100+GB size drives depending on which system I am thinking of. For my HTPC, a small drive would be fine, all it holds is the OS. For my desktop, I have an 80GB X25G2, as IMO a smaller drive would be iffy when 2 operating systems are installed on the drive, and allowing for extra spare area. For my laptop I wouldn't consider anything under 100GB, as I don't want to have to carry a separate external drive to store stuff to. Reply
  • erple2 - Tuesday, July 13, 2010 - link

    I'll second that - my laptop has the 160 gig Intel G2 drive in it because I have installed slightly more than the OS on it (a few steam games + WoW = need more than 80 gig).

    I don't need more than about 120-160 gigs on my laptop (that's what my home server is for). My desktop would be in the same boat - I'd need enough "space" to install some large applications on it plus the OS.

    I've heard people recommend that you should install applications on spindle drives, but the reality is that some of those applications are very slow loading on a spindle drive.

    Personally, I don't care if my OS takes 5 minutes to boot. I almost never shut down anyway.
    Reply
  • neoflux - Tuesday, July 13, 2010 - link

    Fantastic article as always, Anand. Informative, investigative, and conclusive. I couldn't ask for anything else ( other than the funds to purchase a Vertex 2 :P ). Reply
  • Slaimus - Tuesday, July 13, 2010 - link

    With such a large DRAM cache, is there greater risk of data corruption when there is a power outage or power supply failure? Reply
  • Anand Lal Shimpi - Tuesday, July 13, 2010 - link

    Crucial claims to store very little user data in the external DRAM, it's mostly to give the firmware room to store mapping tables and history data to make better decisions about how to organize future writes.

    Take care,
    Anand
    Reply
  • GourdFreeMan - Tuesday, July 13, 2010 - link

    Have you ever actually put this to the test, though?

    Intel claims they do the exact same thing with their DRAM, yet I have had applications that were not in use become corrupt after a sudden power loss (i.e. bluescreen after resuming from hibernation, cat depressing laptop power button) on my Intel G2 drives. The mechanical drives that were in the exact same system prior to being replaced by SSDs only lost minimal amounts of data (and typically only the data in use at the time) under the exact same power loss scenarios.
    Reply
  • Echo147 - Tuesday, July 13, 2010 - link

    My first SSD - And it couldn't be picked up after just 5 hours. Pretty crushed :s

    It'd been shipped with Firmware 0001 which I'm guessing was a large oversight by Crucial or the retailer. I wasn't about to go flashing a £500 drive, so it's in RMA as we speak.

    Will be waiting for Intel's 25nm offerings before dipping my burned toes again...
    Reply
  • greggm2000 - Tuesday, July 13, 2010 - link

    Anand,

    Are there any plans to test these drives in RAID configuration? You've already done so with Intel's cheapest value drive, but for those of us who are considering in the higher end drives, it would be interesting to know such things as will a pair of Crucial RealSSD 128GB drives on SATA outperform a single 256GB on SATA 6Gb... or even how well 4 of the 64GB drives compare as well. Also, how do the Sandforce drives compare in RAID to the others.

    Thanks! Great article as always!
    Reply
  • mckirkus - Tuesday, July 13, 2010 - link

    Just to get a sense of what is used by most humans (hard drives, not VRaptors). Reply
  • Alkapwn - Tuesday, July 13, 2010 - link

    Do SandForce controllers suffer when BitLocker is enabled? I'm guessing there would be less predictable data patterns for it's controller to use, and thus might be slower? Would that then solidly put the lead in Crucials favor? Reply

Log in

Don't have an account? Sign up now