The Trim Command: Coming Soon to a Drive Near You

We run into these problems primarily because the drive doesn’t know when a file is deleted, only when one is overwritten. Thus we lose performance when we go to write a new file at the expense of maintaining lightning quick deletion speeds. The latter doesn’t really matter though, now does it?

There’s a command you may have heard of called TRIM. The command would require proper OS and drive support, but with it you could effectively let the OS tell the SSD to wipe invalid pages before they are overwritten.

The process works like this:

First, a TRIM-supporting OS (e.g. Windows 7 will support TRIM at some point) queries the hard drive for its rotational speed. If the drive responds by saying 0, the OS knows it’s a SSD and turns off features like defrag. It also enables the use of the TRIM command.

When you delete a file, the OS sends a trim command for the LBAs covered by the file to the SSD controller. The controller will then copy the block to cache, wipe the deleted pages, and write the new block with freshly cleaned pages to the drive.

Now when you go to write a file to that block you’ve got empty pages to write to and your write performance will be closer to what it should be.

In our example from earlier, here’s what would happen if our OS and drive supported TRIM:

Our user saves his 4KB text file, which gets put in a new page on a fresh drive. No differences here.

Next was a 8KB JPEG. Two pages allocated; again, no differences.

The third step was deleting the original 4KB text file. Since our drive now supports TRIM, when this deletion request comes down the drive will actually read the entire block, remove the first LBA and write the new block back to the flash:


The TRIM command forces the block to be cleaned before our final write. There's additional overhead but it happens after a delete and not during a critical write.

Our drive is now at 40% capacity, just like the OS thinks it is. When our user goes to save his 12KB JPEG, the write goes at full speed. Problem solved. Well, sorta.

While the TRIM command will alleviate the problem, it won’t eliminate it. The TRIM command can’t be invoked when you’re simply overwriting a file, for example when you save changes to a document. In those situations you’ll still have to pay the performance penalty.

Every controller manufacturer I’ve talked to intends on supporting TRIM whenever there’s an OS that takes advantage of it. The big unknown is whether or not current drives will be firmware-upgradeable to supporting TRIM as no manufacturer has a clear firmware upgrade strategy at this point.

I expect that whenever Windows 7 supports TRIM we’ll see a new generation of drives with support for the command. Whether or not existing drives will be upgraded remains to be seen, but I’d highly encourage it.

To the manufacturers making these drives: your customers buying them today at exorbitant prices deserve your utmost support. If it’s possible to enable TRIM on existing hardware, you owe it to them to offer the upgrade. Their gratitude would most likely be expressed by continuing to purchase SSDs and encouraging others to do so as well. Upset them, and you’ll simply be delaying the migration to solid state storage.

Free Space to the Rescue Restoring Your Drive to Peak Performance
POST A COMMENT

235 Comments

View All Comments

  • Frallan - Wednesday, March 18, 2009 - link


    @AT
    This is why i come to AT to read up on the developments.

    @OCZ
    Well played :0)

    The ruler of the roost are the Intels however I will be able to afford one of those when there are cows enjoying themselfs by dancing on the moon. My next upgrade will be a Vertex - not only bc its Valu for money but equally much bc. OCZ obviously takes care of thier customers and listens to reason.
    Reply
  • pmonti80 - Wednesday, March 18, 2009 - link

    This is the kind of article that makes me come back here. Reply
  • nowayout99 - Wednesday, March 18, 2009 - link

    OCZ, you should listen to Uncle Anand. ;) Hopefully Mr. Petersen understands that it's tough love.

    And the final product seems perfectly cool -- great performance at a better price than Intel. It's the first SSD I'd be able to reasonably consider.
    Reply
  • SOLIDNecro - Wednesday, March 18, 2009 - link

    Thx for this article Anand, I have been in a hotly contested debate over OCZ vs Samsung with my "Asperger Enhanced" nemisis/close friend...
    (In all fairness, I should mention I use the BiPolar SSE instruction set myself)

    He was only looking at Samsung, I said he should look into what OCZ has now.

    His reply was "I don't know them, and don't want to be disapointed"
    (Long story behind that...He's from the Server/Workstain/HPC crowd, I am from the hardcore OC/Gamer/Desktop group, so he is not familiar with OCZ)

    Looks like the Samsung (And alot of others) has "Issues" with performance degrading over time that are somewhat solved by Intel and OCZ (Plus maybe a few other companies that use the Rev B JMicron controller on there low cost SSD's)

    I agree the OCZ Vertex offers the best bang for low buck SSD today, and I am tempted to grab one. But a year from now, anyone that bought a current gen MLC SSD will be saying "I coulda had a V-8" if that TRIM technology does what it promises!!!
    Reply
  • James5mith - Wednesday, March 18, 2009 - link

    As people continue to try and push the envelope of storage performance in a variety of ways, and as 6gbps SATA becomes available, the performance of SSD's will only go up.

    As always, I wanted to say thanks for the great article and keep them coming. It's the only way the rest of us can keep pace with what's happening out there in the world of performance storage.
    Reply
  • vailr - Wednesday, March 18, 2009 - link

    Is there any benefit in using 2 SSD's in a Raid 0 configuration?
    And: any differences between motherboard Intel Raid vs. a Raid controller card from Areca, for example. Also: can the "Trim" command work while in Raid mode? Probably not, I'm guessing...
    Reply
  • 7Enigma - Thursday, March 19, 2009 - link

    Raid0 is really the holy grail for SSD's. The low risk of failure of SSD's which normally makes Raid0 with typical mechanical HD's more dangerous is very appealing. My personal storage-size goal is ~120-160gigs. Once they reach that size for under $300 I think I'm going to jump in. But I'm more likely to grab 2 60's or 2 80's and Raid0 them than get a single large SSD. The added performance will outweigh the higher power draw of 2 drives, and should make them extremely competitive with Intel's offerings (or whatever holds the crown at the time).

    I figure it will be about a year or so until the prices are in that range, as 2 60gig Vertex drives will currently run you about $400 after rebate.

    I can't wait to jump on that upgrade and will then put my current 250gig mechanical drive as the storage drive (I don't use a ton of space in general as I have a 320gig external backup).
    Reply
  • Rasterman - Thursday, March 19, 2009 - link

    The problem with doing that is if you want to move your drives to another system they won't work, so upgrading is a pain. You could image them I guess, but plugging one drive in is much simpler. I had an older XP install that made it through 3-4 different systems.

    I would also question real world results, if you're going at 250MB/s or 500MB/s its not even going to be noticeable unless you are doing some massive video editing or some other huge file operations, and as Anand says, SSDs don't fill this role right now as they are super expensive per GB. So if you really are editing video a lot, you are going to need a hell of a lot more space than SSDs can offer you.
    Reply
  • Gasaraki88 - Friday, March 20, 2009 - link

    RAID is a universal standard so if you take two RAID0 drives out and move them to another computer with a RAID controller, it SHOULD just work if the original RAID was doing it correctly. Reply
  • coil222 - Wednesday, March 18, 2009 - link

    Yes I run a pair of MTRON 7500s in a raid 0 stripe for my OS and Gaming (wow). I don't recall numbers off the top of my head but tests were better on the raid 0 than a single drive configuration.

    Watch this:
    http://www.youtube.com/watch?v=96dWOEa4Djs&fea...">http://www.youtube.com/watch?v=96dWOEa4Djs&fea...
    Reply

Log in

Don't have an account? Sign up now