Update 2: Intel has given us an updated timeframe on a fixed version of its TRIM firmware. Intel will release the new firmware by the end of November 2009. More info here.

Update: Some users have had issues with Intel's TRIM firmware bricking their drives, Intel has since pulled the firmware while they figure out what's going on. If you've downloaded it but haven't updated, do so at your own risk. While we haven't had any issues on the three drives we've updated here others have had problems. We'll keep you posted. Intel's official statement is below:

“Yes, we have been contacted by users with issues with the firmware upgrade and are investigating. We take all sightings and issues seriously and are working toward resolution. We have temporarily taken down the firmware link while we investigate.”

Welcome to the anti-climax. After a year of talking about it, Windows 7 and TRIM are here. How does it feel to be a TRIMionaire?

Indilinx, as usual, was first. After a couple of false starts, the two tier 1 Indilinx partners (SuperTalent and OCZ) enabled TRIM on their Barefoot SSDs (OCZ Vertex, SuperTalent UltraDrive). OCZ calls its TRIM firmware 1.40 while SuperTalent calls it 1819. Update:As many of you have correctly pointed out, Crucial also has an 1819 update available for its SSDs. You can get the firmware for your drive from the links here:

  TRIM Firmware Download
Crucial M225 1819
SuperTalent UltraDrive GX 1819
OCZ Vertex /Agility 1.40

 

Intel held off to align with the release of Windows 7. Last week Windows 7 officially went on sale, and today Intel is delivering on its promise: this bootable iso will enable TRIM on X25-M G2 drives.


Only the X25-M G2 gets TRIM, the G1 (right) is left in the dust. The G1 is more resilient than the G2 when it comes to performance degradation over time since it doesn't have TRIM.

Alongside TRIM there’s one more surprise. If you own a 160GB X25-M G2, Intel boosted sequential write speeds from 80MB/s to 100MB/s:

The 80GB drives remain unchanged unfortunately. Intel still won’t tell us why write speeds are so low to begin with.

What TRIM Does

Before we get much further, and without diving into a complete rehash of how SSDs work (which I’ve done here, here and here again), I want to do a quick refresher on TRIM.

SSDs are made up of millions of NAND flash cells. They can be written to in groups called pages (generally 4KB in size) but can only be erased in larger groups called blocks (generally 128 pages or 512KB). These stipulations are partially the source of many SSD performance issues.

The whole ordeal gets more complicated when you realize that an SSD has no way of knowing when a file is deleted. Until an address gets used again, the SSD has to keep track of every last bit of data that’s written to it. The ATA-TRIM instruction tilts the balance in favor of the SSD.

In a supported OS (e.g. Windows 7), whenever you permanently delete a file or format your drive, the addresses that are erased are sent along with the TRIM command to the SSD’s controller. The TRIM instruction tells the SSD that those locations don’t contain valid data and that it no longer has to track them.


Simplified version of how a SSD controller works. TRIM helps the SSD clean blocks and add them to the free block pool

Again, I won’t go into great detail here but TRIM addresses a major part of the performance degradation over time issue that plague all SSDs. A TRIM enabled drive running an OS with TRIM support will stay closer to its peak performance over time.

Testing TRIM
POST A COMMENT

162 Comments

View All Comments

  • Voo - Tuesday, October 27, 2009 - link

    Ok I was a bit surprised and tried it myself with my 160gb Intel G2 (no firmware update yet)


    Copy 10gb file onto drive, MSE full scan and extracting a 4gb file with 7z while the usual stuff (FF, PS, eclipse and winamp) running in the backgorund and I got a maximum QD of under 8, which is higher than I expected it to be, but still far away from a QD of 16.
    And when doing more multitasking stuff I'd probably tax the rest of the system more than the SSD so at least for my usual behavior a QD >8 is unrealistic, but I see your point.

    There are probably some people who could get a QD of 10-12 in a normal workload, so that could be interesting for them :)
    Reply
  • GullLars - Wednesday, October 28, 2009 - link

    There is a big difference between average queue and queue during operations. The IO queues are relatively low for all the background operation the OS does, and sequensial read/write, but when you do things like open administrative tools, open a program, or install something, you will se queue spikes of easily 50-60.
    After i commented this article i had a discussion with some other benchmarkers, and we found that normal use generates IO queue spikes almost whenever you interact with the OS. It doesn't take much effort to generate a queue above 100. Running a couple of virus scans on folders of small files while installing a program and opening a folder with lots of pictures will get you a massive queue.
    Reply
  • NeBlackCat - Tuesday, October 27, 2009 - link

    Nice work again Anand - I just don't bother reading SSD reviews/features on other sites any more.

    HOWEVER...

    Many people reading this will be developers wondering which controller best favours typical development activities, eg. checking out and compiling large projects. It's a hard one to guess - lots of random reading, sequential reading, random writing (temp files) and sequential writing (output files).

    So how about a "typical developer" benchmark of, say, compiling the Linux kernel while concurrently encoding some H.264, grepping all the sources for a string, and watching some por..er, I mean, youtube.

    Has anyone else evaluated the best SSD type for s/w development?




    Reply
  • clarkn0va - Wednesday, October 28, 2009 - link

    Not a reply to your question, but I've taken on the habit of mounting my temp files to a ramdisk. Besides the speed improvement, this should help to reduce unnecessary write cycles to the SSD. Similarly, I run without swap (or page file), RAM being as affordable as it is. Reply
  • lamo - Tuesday, October 27, 2009 - link

    TRIM support aside, I wonder how would a pair of $85 Kingston drives in a RAID 0 striped array compare against a $225 X-25M dollar/performance-wise.

    Reply
  • cosminliteanu - Monday, October 26, 2009 - link

    So - "Your best bet is to install Windows 7 with your I/O controller in AHCI mode (for Intel chipsets)" this means you set in BIOS sata controller as AHCI not as IDE ?????
    Or just leave as IDE and after Win7 install, update intel storage driver as normal...? which is the best solution?
    Reply
  • LuMax - Monday, October 26, 2009 - link

    Can I use Intel IMSM RAID on just the data storage drives in my PC and retain TRIM functionality on the W7 Pro OS (X-25M G2) SSD?

    My new PC build plan was to use a single 80GB G2 for the OS and programs and two 2TB HDDs in a RAID1 array for my data/photo/video/music storage. Although I read the relevant part of this article 3 times I am still not certain if this is doable. Yes/No?
    Reply
  • LuMax - Tuesday, October 27, 2009 - link

    I heard back from Intel today:

    "Thank you for contacting Intel Technical Support.

    I understand your question about the Intel(R) Matrix Storage Manager and the SSD. Since the drives you will be using in RAID are non-solid state disks, and the SSD you will be using will not be part of the RAID, there should not be any problem with TRIM."
    Reply
  • somedude1234 - Tuesday, October 27, 2009 - link

    I would not expect this to be possible. It sounds like you have 3 drives hanging off of the same SATA controller. You want 2 of them in RAID 1 using the IMSM driver, and one of them using the MS driver.

    In my experience it would be impossible to get Windows to load 2 different drivers for different ports on the same controller.

    Even if they were physically independent but identical controllers (for example if you had 2 identical SAS cards plugged into the same system), as soon as you update the driver on one controller, a reboot results in all instances of that controller using the updated driver.
    Reply
  • DoveOfTheSouth - Monday, October 26, 2009 - link

    I'd like to know this too.
    I'm considering a similar set-up (SSD for systems drive, RAID for data storage HDD) - seems best of both worlds.
    Reply

Log in

Don't have an account? Sign up now