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

  • strikeback03 - Thursday, October 29, 2009 - link

    The 4k thing was a way to quantify the stuttering problem on some drives, as if he had just said "the drives stutter" but only shown objective results that look good (due to sequential write speeds), then people would have claimed he was making stuff up to be an intel fanboi as well.
  • AnnonymousCoward - Wednesday, October 28, 2009 - link

    Human-observed delay time is really all everything comes down to. 4kb performance and IOPS are interesting to look at, but they're severly inadequate. If I remember right, RAID0 tends to look awesome in benchmarks, but offers virtually zero real-world benefit.

    So screw the benchmarks get and out a stopwatch. Measure what matters: boot time, time to launch various applications, media encoding time, and the time to copy files. Quantified seconds are a helluva lot more meaningful than IOPS.
  • strikeback03 - Wednesday, October 28, 2009 - link

    You mean something like this: http://www.anandtech.com/storage/showdoc.aspx?i=34...">http://www.anandtech.com/storage/showdoc.aspx?i=34...
  • AnnonymousCoward - Wednesday, October 28, 2009 - link

    Yep, something like that, but with more categories. I think this is a good set:

    1. Boot time
    2. Time to launch applications
    a) Firefox
    b) Google Earth
    c) Photoshop
    3. Time to open huge files
    a) .doc
    b) .xls
    c) .pdf
    d) .psd
    4. Game framerates
    a) minimum
    b) average
    5. Time to copy files to & from the drive
    a) 3000 200kB files
    b) 200 3.5MB files
    c) 1 2GB file
    6. Other application-specific tasks

    Imagine if we had a table of this data and all of the SSDs and a conventional HDD. That would be so much more useful than all the charts in the existing article.
  • buzznut - Wednesday, October 28, 2009 - link

    Finally, an SSD that I can afford and makes sense to me. Anyone can afford a POS SSD drive, but this one doesn't look crippled too much. The writes I'm not too worried about, but the stuttering and performance degrading is not what I want to pay a premium for.

    I'm hoping by Jan-Feb (when I could afford one) that Kingston will have the trim support and upgraded firmware. Then I'll jump on it!
  • soltari - Thursday, December 10, 2009 - link

    Just picked mine up yesterday.. Kingston 40gb bootdrive desktop kit.. Has 2CV102HA firmware .. i.e. TRim support already.. be on the lookout for it. .dont know if its all drives now or just some.

    http://img209.imageshack.us/img209/8616/img6915.jp...">http://img209.imageshack.us/img209/8616/img6915.jp...

    http://img301.imageshack.us/img301/7214/img6920m.j...">http://img301.imageshack.us/img301/7214/img6920m.j...

    box note on firmware and hdtune info screenshot..
  • Cavicchi - Wednesday, October 28, 2009 - link

    What I read from Intel about the Optimizer suggests it is not needed in Windows 7 or not needed to actually run it. Anyone understand what Intel is saying here:

    "When using the latest Microsoft Windows* 7 operating system with Microsoft AHCI storage drivers the OS will contain native support to execute the Intel® SSD Optimizer on an Intel SSD without requiring any user interaction."

    "Microsoft Windows* 7
    Microsoft* AHCI
    Native OS support (Intel® SSD Toolbox not required)"
  • strikeback03 - Wednesday, October 28, 2009 - link

    No, that was part of the point of this article, that TRIM is supported natively in 7. It is not in earlier OSs, so they have the manual TRIM tool.
  • drwho9437 - Wednesday, October 28, 2009 - link

    Are all the Kingston SSDNOW drives X25 based in design with just different amounts of memory?
  • Tuvok86 - Wednesday, October 28, 2009 - link

    * Kingston SSDNow E Series
    - (Intel Controller, 50nm Intel SLC NAND, 16MB Cache)

    * Kingston SSDNow M Series
    - (Intel Controller, 50nm Intel MLC NAND, 16MB Cache)

    * Kingston SSDNow V+ Series
    - (Samsung Controller, Samsung MLC NAND, 128MB Cache)

    * Kingston SSDNow V Series
    40GB - (Intel Controller, 34nm Intel MLC NAND, 16MB Cache)
    64/128GB - (JMicron Controller, Toshiba MLC NAND, No Cache)

Log in

Don't have an account? Sign up now