The Instruction That Changes (almost) Everything: TRIM

TRIM is an interesting command. It lets the SSD prioritize blocks for cleaning. In the example I used before, a block is cleaned only when the drive runs out of places to write things and has to dip into its spare area. With TRIM, if you delete a file, the OS sends a TRIM command to the drive along with the associated LBAs that are no longer needed. The TRIM command tells the drive that it can schedule those blocks for cleaning and add them to the pool of replacement blocks.

A used SSD will only have its spare area to use as a scratch pad for moving data around; on most consumer drives that’s around 7%. Take a look at this graph from a study IBM did on SSD performance:


Write Amplification vs. Spare Area, courtesy of IBM Zurich Research Laboratory

Note how dramatically write amplification goes down when you increase the percentage of spare area the drive has. In order to get down to a write amplification factor of 1 our spare area needs to be somewhere in the 10 - 30% range, depending on how much of the data on our drive is static.

Remember our pool of replacement blocks? This graph actually assumes that we have multiple pools of replacement blocks. One for frequently changing data (e.g. file tables, pagefile, other random writes) and one for static data (e.g. installed applications, data). If the SSD controller only implements a single pool of replacement blocks, the spare area requirements are much higher:


Write Amplification vs. Spare Area, courtesy of IBM Zurich Research Laboratory

We’re looking at a minimum of 30% spare area for this simpler algorithm. Some models don’t even drop down to 1.0x write amplification.

But remember, today’s consumer drives only ship with roughly 6 - 7% spare area on them. That’s under the 10% minimum even from our more sophisticated controller example. By comparison, the enterprise SSDs like Intel’s X25-E ship with more spare area - in this case 20%.

What TRIM does is help give well architected controllers like that in the X25-M more spare area. Space you’re not using on the drive, space that has been TRIMed, can now be used in the pool of replacement blocks. And as IBM’s study shows, that can go a long way to improving performance depending on your workload.

Why Does My 80GB Drive Appear as 74.5GB? Understanding Spare Area Tying it All Together: SSD Performance Degradation
POST A COMMENT

296 Comments

View All Comments

  • sunbear - Monday, August 31, 2009 - link

    Even though most laptops are now SATA-300 compatible, the majority are not able to actually exceed SATA-150 transfer speeds according to some people who have tried. I would imagine that sequential read/write performance would be important for swap but the SATA-150 will be the limiting factor for any of the SSD's mentioned in Anand's article in this case.


    Here's the situation with Thinkpads:
    http://blogs.technet.com/keithcombs/archive/2008/1...">http://blogs.technet.com/keithcombs/arc...vo-think...

    The new MacBookPro is also limited to SATA-150.
    Reply
  • smartins - Tuesday, September 01, 2009 - link

    Actually, The ThinkPad T500/T400/W500 are fully SATA-300 compatible, it's only the drives that ship with the machines that are SATA-150 capped.
    I have a Corsair P64 on my T500 and get an average of 180MB/read which is consistent with all the reviews of this drive.
    Reply
  • mczak - Monday, August 31, 2009 - link

    article says you shouldn't expect it soon, but I don't think so. Several dealers already list it, though not exactly in stock (http://ht4u.net/preisvergleich/a444071.html)">http://ht4u.net/preisvergleich/a444071.html). Price tag, to say it nicely, is a bit steep though. Reply
  • Seramics - Monday, August 31, 2009 - link

    Another great articles from Anandtech. Kudos guys at AT, ur my no. 1 hardware site! Anyway, its really great that we have a really viable competitor to Intel- Indilinx. They really deserve the praise. Now we can buy a non Intel SSD and have no nonsensical stuttering issue! Overall, Intel is still leader but its completely nonsensical how bad their sequential write speed is! I mean, its even slower than a mechanical hard disk! Thats juz not acceptable given the gap in performance is so large and Intel SSD's actually can suffer a significantly worst performance in real world when sequential write speed performance matters. Intel, fix your seq write speed nonsence please! Reply
  • Seramics - Monday, August 31, 2009 - link

    Sorry for double post. Its unintentional and i duno how to delete the 2nd post. Reply
  • Seramics - Monday, August 31, 2009 - link

    Another great articles from Anandtech. Kudos guys at AT, ur my no. 1 hardware site! Anyway, its really great that we have a really viable competitor to Intel- Indilinx. They really deserve the praise. Now we can buy a non Intel SSD and have no nonsensical stuttering issue! Overall, Intel is still leader but its completely nonsensical how bad their sequential write speed is! I mean, its even slower than a mechanical hard disk! Thats juz not acceptable given the gap in performance is so large and Intel SSD's actually can suffer a significantly worst performance in real world when sequential write speed performance matters. Intel, fix your seq write speed nonsence please! Reply
  • Shadowmaster625 - Monday, August 31, 2009 - link

    Subtle. Very subtle. Good article though.

    3 questions:

    1. Is there any way to read the individual page history off the SSD device so I can construct a WinDirStat style graphical representation of the remaining expected life of the flash? Or better yet is there already a program that does this?

    2. Suppose I had a 2 gigabyte movie file on my 60gb vertex drive. And suppose I had 40GB of free space. If I were to make 20 copies of that movie file, then delete them all, would that be the same as running Wiper?

    3. Any guesses as to which of these drives will perform best when we make the move to SATA-III?

    4. (Bonus) What is stopping Intel from buying Indilinx (and pulling their plug)? (Or just pulling their plug without buying them...)

    Reply
  • SRSpod - Thursday, September 03, 2009 - link

    3. These drives will perform just as they do now when connected to a 6 GBps SATA controller. In order to communicate at the higher speed, both the drive and the controller need to support it. So you'll need new 6 GBps drives to connect to your 6 GBps controller before you'll see any benefit from the new interface. Reply
  • heulenwolf - Monday, August 31, 2009 - link

    Yeah, once the technology matures a little more and drives become more commoditized, I'd like to see more features in terms of feedback on drive life, reliability, etc. When I got my refurb Samsung drives from Dell, for example, they could have been on the verge of dying or they could have been almost new. There's no telling. The controller could know exactly where the drive stands, however. Some kind of controller-tracked indication of drive life left would be a feature that might distinguish comparable drives from one another in a crowded marketplace.

    While they're at it, a tool to allow adjusting of values such as the amount of space not reported to the OS with output in terms of write amplification and predicted drive life would be really nifty.

    Sure, its over the top, but we can always hope.
    Reply
  • nemitech - Monday, August 31, 2009 - link

    I picked up an Agility 120 Gb for $234 last week from ebay ($270 list price - - 6% bing cashback - $20 pay pal discount). I am sure there will be similar deals around black Friday. $2 per Gb is possible for a good SSD. Reply

Log in

Don't have an account? Sign up now