Wipe When You Can’t TRIM

There’s a major problem with TRIM today. The only Windows storage drivers to support it are written by Microsoft. The Intel Matrix Storage Manager (IMSM) driver will not pass the TRIM instruction to your SSD. This means you can't use anything but the drivers that ship with Windows 7. To make matters worse, if you enable non-member RAID on an Intel motherboard the default Windows 7 driver is an older version of IMSM so TRIM won't work there either - even if you don't have a RAID array created. Your best bet is to install Windows 7 with your I/O controller in AHCI mode (for Intel chipsets) and don't install any storage drivers. Intel is working on an updated IMSM that will pass the TRIM instruction to SSDs but it won't be ready for at least a couple of months.

TRIM won't work on a RAID array.

If you want to use IMSM or if you're using Windows XP or Vista, both of which do not support TRIM, there's another option. Earlier this year Indilinx released its Wiper Tool that performs a manual TRIM on their SSDs. It works by asking the OS for a list of the free space addresses on the partition and then sending the list with instructions to TRIM down to the SSD.


The Indilinx Wiper Tool

Today Intel introduces its own manual TRIM tool as a part of the SSD Toolbox:

On any Windows OS (XP, Vista or 7) regardless of what driver you have installed, Intel's SSD Toolbox will allow you to manually TRIM your drive. Intel calls it the SSD Optimizer, which of course only works on 34nm Intel SSDs (X25-M G1 owners are out of luck unfortunately).


The Intel SSD Optimizer lets you schedule the manual TRIM operation automatically

The SSD Toolbox also gives you access to SMART and drive health data, including telling you how many writes you've performed on your SSD, and what your current flash wear level is:

Running Intel's SSD Optimizer does work as advertised. I ran the PCMark HDD suite on a clean X25-M, once more on a drive that had been well used and once more after running the SSD Optimizer:

PCMark Vantage HDD Score Clean Run Used Run After SSD Optimizer
Intel X25-M G2 160GB 35909 30354 34014

 

Intel's SSD Optimizer should be able to restore performance to about 95%+ of new, in this case it manages 94.7% - close enough.

Moving On: Forget About Invalid Data and Worry About Free Space

The existence of TRIM changes the way we test, something I alluded to in the SSD Relapse. Thankfully, we come prepared.

In previous articles we had to test SSDs in two conditions: new and used. The new state is just after a secure erase, the used state required us to write data to every user accessible portion of the drive first before benchmarking. The former resulted in great performance, the latter meant the SSD had to do a lot of juggling of existing data whenever it went to write. The second scenario no longer exists with TRIM. The act of formatting your drive or deleting files (and emptying the recycle bin) will TRIM invalid data.

Performance in a TRIM enabled system is now determined not by the number of invalid blocks on your SSD, but rather the amount of free space you have. I went into a deep explanation of the relationship between free space and the performance of some SSDs here.

TRIM will make sure that you don’t have to worry about your drive filling up with invalid data, but it doesn’t skirt the bigger issue: dynamic controllers see their performance improve with more free space.

My rule of thumb is to keep at least 20% free space on your drive, you can get by with less but performance tends to suffer. It doesn’t degrade by the same amount for all drives either. Some controllers are more opportunistic with free space (e.g. Intel), while others don’t seem to rely as much on free space for improved performance. Addressing performance degradation as drives fill up (with valid data) will be one of the next major advancements in SSD technology.

Testing TRIM Kingston Delivers the First Good Sub-$100 SSD (after Rebate)
Comments Locked

162 Comments

View All Comments

  • mbreitba - Tuesday, October 27, 2009 - link

    Looks like a lot of people are having problems with it, and Intel has pulled it :

    http://communities.intel.com/thread/7693?start=45&...">http://communities.intel.com/thread/7693?start=45&...

  • Griswold - Wednesday, October 28, 2009 - link

    If you actually look at the number of people with the issue and filter out the chit-chat, its not "alot" actually. However, my flash went just fine.

    Thats the risk with flashing firmware regardless of what device it is. Theres always the chance to brick it. Thats also why I dont understand why some people flash every fucking piece of hardware whenever theres a new firmware available - ok, this is a different case, here it makes perfectly sense.
  • strikeback03 - Wednesday, October 28, 2009 - link

    Has anyone had problems flashing a drive before they put any data on it? I have a new G2 still in the box that I just haven't yet had time to do anything with, was planning on flashing it then loading Win7 and Ubuntu 9.10 this weekend, have there been any reports of issues when loading an OS after flashing?
  • UltraWide - Tuesday, October 27, 2009 - link

    Great article, I like the definite conclusions and recommendations. Keep up the good work!
  • nicolasv - Tuesday, October 27, 2009 - link

    Hi Anand

    In 'The SSD Relapse' you state that the G2 "doesn't drop in performance when used...at all." Yet in 'The SSD Improv' the 80GB G2 with TRIM firmware drops more than 60% in the 4KB random write test.

    Granted, the charts and figures used in 'Relapse' to back its claim are for the 160GB G2 and these results are for the 80GB G2. What do you attribute this difference in performance to, the new TRIM firmware?

    As a Mac OS X user, at this point, I feel like I can only really consider drives that perform well without TRIM, especially in the <= 80GB range, so would appreciate your feedback.

    Cheers
    Nicolas
  • 7Enigma - Tuesday, October 27, 2009 - link

    I believe it is because in that particular test he is writing to the ENTIRE 80gig drive, so it's not that TRIM isn't working per se, rather that there is no free space to allow TRIM to do anything at all.
  • 7Enigma - Tuesday, October 27, 2009 - link

    As an addendum to my previous post, you can see that after file deletion the performance goes back to virtually new. So in a sense the performance of the drive never goes down, UNLESS you simply delete a partition rather than erasing the data on that partition FIRST and then deleting it.

    I think that's probably something that needs to be implemented with an updated driver, or at least a warning box that comes up saying "deleting this partition without formatting will hinder performance".
  • GullLars - Tuesday, October 27, 2009 - link

    I don't know if you have done extensive benchmarking with SSDs, but using IO QD = 3 for 4KB random in IOmeter don't yield representative results for intels SSDs. I have been benchmarking SSDs with some other guys for over a year now, and we have found that while Samsung and Indilinx scale from QD 1-4 and then flat out, Intels x25-M scales well all the way to around QD 10-16, and actually is capable of over 140 MB/s at 4KB random read at QD=64 in fresh state, and still over double your messured 60-64 MB/s in used state.

    In our benchmark thread, the records with x25-M from ICH10R before TRIM firmware are:
    IOmeter
    4KB random read QD=64: 40913 IOPS = 163,5 MB/s
    4KB random write QD=64: 19360 IOPS = 77 MB/s
    PCmark vantage HDD score: 43107.

    The same guy that got the random read and PCmark scores above also got PCmark vantage HDD score 120374 with 3 x25-M gen1 from ICH10R.

    In other words, the results posted for x25-M in this review are either in "used state" or below par.
  • Voo - Tuesday, October 27, 2009 - link

    You know Anand trys to simulate REAL situations and a QD of 10-16 is absolutly unrealistic for a home user - don't even talk about a QD of 64. Maybe the Intel SSDs shine there, but it's just of no interest.
  • GullLars - Tuesday, October 27, 2009 - link

    In his traced "light" benchmark with mostly single-tasking the average queue depth is 6.09. If you take into account that most of the sequential read and write operations (although they are under 30%) don't generate a queue, and that 4-16KB IOs often come in bursts with more queue depth, you can easily get a QD of more than 10 with relatively mild multitasking if it involves disk access. A harddisk's cache is regulary used as a buffer for the write portion of these, but if the cache is full your system almost freezes because of the harddisks low IOPS. An example would be if you try installing windows updates or a program while running a virus scan and listening to music or extracting a compressed archive, you will quickly notice if you try this on a harddisk.

Log in

Don't have an account? Sign up now