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

  • tachi1247 - Friday, September 18, 2009 - link

    Does anyone know what the difference is between the 7mm thick and 9.5mm thick drives?

    http://download.intel.com/design/flash/nand/mainst...">http://download.intel.com/design/flash/nand/mainst...

    They seem to be identical except for the drive thickness.
    Reply
  • dszc - Saturday, September 12, 2009 - link

    FANTASTIC series of articles. Kudos! They go a long way toward satisfying my intellectual curiosity.

    But now it is time to reap the rewards of this technology and earn a living.
    So I need some real-world HELP.

    How do I clone my 320GB (80GB used) Hitachi OS drive (Vista 32 SP2) over to a 128GB Indilinx Torqx?

    All I really care about is Photoshop and Bridge CS4 performance. I am a pro and work 4-16 hours per day in Bridge and Photoshop, with tens of thousands of images, including 500MB - 2GB layered TIFFs. The Photoshop Scratch Disk and Bridge and CameraRaw Cache performance are killing me. Solid State Storage seems to be the perfect solution to my problem

    I really want to simply clone my 320 over to the Torqx, because it would take me a week to re-install and configure all of my software and settings that are now on the 320GB Hitachi.

    Do I just bring the Torqx up in the Vista Storage Disk Management, initialize it with one big partition, and then format it?
    What size allocation unit should I use? :
    Default? 4096? 64k? ???
    Will these settings be wiped out when I clone over the stuff from the old hard drive?
    What about "alignment"?
    What is the best software for a SIMPLE & painless clone procedure?

    I'm not a techie or geek, but have a fair working knowledge of computers.

    Any help would be hugely appreciated. Thanks.
    Reply
  • userwhat - Thursday, September 17, 2009 - link

    I use Drive Snapshot for all these purposes. It works 100%, it´s a very small and fast program. After having issues with Norton Ghost and some other similar programs which were absolutely unable to restore an imaged partition stored on a DVD this is THE one to use.

    Get it here: http://www.drivesnapshot.de/en/">http://www.drivesnapshot.de/en/
    Reply
  • dszc - Saturday, September 26, 2009 - link

    Thank you very much for your help and recommendations.
    To get my Patriot (SolidStateStorage) up and running, I used Seagate DiskWizard (an Acronis subset), as I have lots of Seagate drives already on my system and this free software seems to work.
    When I get a window of time in my schedule, I'll try DriveSnapShot and/or DriveImage to see if they do a better job in helping my Torqx SSS run at its full potential.
    Thanks again for your help.
    Dave
    Reply
  • JakFrost - Tuesday, September 15, 2009 - link

    If you want to image out your current drive and migrate over to an SSD you can use the free software below that works with Windows Volume Shadow Copies to do a online live migration to another drive without losing or corrupting your data. This means that you can do this from the same OS that you are running.

    This software will allow you to image out to an already created partition that is already aligned at the 1MB boundry that is standard for Microsoft Vista/7 operating systems.

    DriveImage XML V2.11
    English (1.78MB)

    Image and Backup logical Drives and Partitions

    Price: Private Edition Free - Commercial Edition - Buy Now Go!
    System Requirements: Pentium Processor - 256 MB RAM
    Windows XP, 2003, Vista, or Windows 7

    An alternative is to use an offline migration system such as Acronis TrueImage, Norton Ghost, etc. to do the migration offline from a bootable CD or USB drive. Search around for Hiren's BootCD to check out these and other tools to do the migration.
    Reply
  • dszc - Saturday, September 26, 2009 - link

    Thank you very much for your help and recommendations.
    To get my Patriot (SolidStateStorage) up and running, I used Seagate DiskWizard (an Acronis subset), as I have lots of Seagate drives already on my system and this free software seems to work.
    When I get a window of time in my schedule, I'll try DriveImage and/or DriveSnapShot to see if they do a better job in helping my Torqx SSS run at its full potential.
    Thanks again for your help.
    Dave
    Reply
  • jgehrcke - Friday, September 11, 2009 - link

    Be careful when buying a Super Talent UltraDrive GX 128 GB with "XXXX" in serial number (unfortunately you cannot check this before ordering the drive). These drives are much slower than measured in the benchmark here and in other benchmarks.

    For more information and related links see

    http://gehrcke.de/2009/09/performance-issue-with-n...">http://gehrcke.de/2009/09/performance-i...est-supe...
    Reply
  • Kitohru - Thursday, September 10, 2009 - link

    Does OS X Snow Leopard have trim support, and if not any word from apple about that or the like? Reply
  • Zool - Thursday, September 10, 2009 - link

    I still dont think that with this price ssd-s will be more mainstream in the next years. And honestly the performance is not even that extra if everything would work like it should. The mechanical drives can reach now 100 MB reads when things are optimal. The small files performance is still only software problem. U should never ever reach point when u need to randomly find 4 KB files in a long row. With todays ram capacity and cpus-s programs should never read such small files or group things in larger files and read whole to memmory. A solid today programed aplication (let it be game or programs) should never let your disk spam with 30k files (like catia or other plenty of aged so called "profesional" programs). With today ram and disk capacity it should read things to memmory and let only grouped larger files on disk and never ever touch the hdd again until users isnt comunicating with the software (u can tell it to windows).Saves can be made to memmory and than write to disk without even seeing a fps drop in games(not just games) becouse of disk comunication latenci
    I dont even think the IO performance would be a problem with the RIGHT software and OS. With 100MB reads it could run perfectly fine with few seconds loading times. Even the latencies of ssd-s are no match to ram latencies so everithing that should activly comunicate with disks (which is just stupid with curent ram prices and 64bit) would just level your latencies down to disks.
    Why should worry about latencies and read speeds when u could copy it to ram and keep the files on disk in shape where the mechanical drive
    should never find itself to read files smaller than few MB.(even your
    small txt documents u can hide in archive).
    Just my toughs. (sorry for my english)
    Reply
  • AlExAkE - Wednesday, September 09, 2009 - link

    Hey, I'm a web & multimedia designer. I spend lots of my time using most of the Adobe CS4 products including Photoshop, Flash, Dreamweaver, Illustrator, After Effects & Premiere Pro.

    The Intel 80GB G2 looks amazing, but the Photoshop test is awful because of his write speed. The Intel 25-Extreme series seem to be the best but is to pricey. The OCZ Vertex has good write speed but is slower than Intel G2 in most of the test. What would be the recommended SSD for my purpose. Thanks
    Reply

Log in

Don't have an account? Sign up now