TRIMcheck: Does Your SSD Really have TRIM Working?

TRIMcheck featureThe question of whether TRIM is working, and working correctly, remains to be one of the most active SSD discussions to date.

What started out as a Forum thread identifying a free new software that allows the SSD user to determine if TRIM is working, has grown to a full fledged working group where new members and our ‘in house SSD expertise’ tackle a program that seems to be grabbing the interest of the SSD community. Enter TRIMcheck.

INTRODUCTION

The ‘Tech Crowd’ can sometimes be a stubborn and persistent bunch.  When it comes to developing technology and software, those traits are what can often make the difference between success and failure.  When a group of these stubborn and persistent techies put their heads together to help move something forward, one can bet on its ultimate success.  A visit over to our SSD Forum Discussion ‘ TRIMCHECK: A freeware TRIM Tester‘ will give you a ringside seat to a discussion that has seen thousands visit our little corner of the world in the last week alone.

 BACKGROUND

When one deletes information from a hard drive, it isn’t actually deleted, but rather, the index to that information is removed which tells the hard drive it can write over the old data.  This is not possible with a SSD as the SSD can only write data to a clean block.  It is like building a house where an old house used to stand.  TRIM is the command given by your OS to the SSD to clean free blocks of an SSD and make them ready for future storage.

To examine Garbage Collection (GC), we need to understand that the smallest component of a NAND flash memory module is the bit.  Two or more bits make up one piece of information which is contained within a cell. Cells make up pages and are contained within blocks. Garbage collection frees up these blocks of memory for re-use and the only drawback to this is that GC can only erase complete blocks at one time, and cannot erase individual pages within that block. Without TRIM, this would technically cause a slow degradation of performance as the SSD would become fuller and fuller with data, and “garbage collection” would begin to struggle to keep up.  New data would continually be written to memory at a faster pace than “garbage collection” was taking place and a very high “write amplification” would occur

nandprimerpic

Then along came “TRIM” — a more comprehensive method that basically created the ability to manage data erasures and movement at the page level.  More efficient management of pages equated to more efficient management of blocks. Write amplification is dramatically minimized, and a higher level of performance is able to be maintained over a longer period of time.  Endurance and reliability also improve when TRIM is enabled and operating.  All the buzz now has everyone seeking SSDs and operating systems that support the TRIM function.

IS MY TRIM ENABLED?

There are several ways to determine if TRIM is “enabled” on your SSD.  In our own SSD Optimization Guide, you can find instructions (Pg 5, #15) on how to utilize “fsutil” to determine if TRIM is enabled.  Some SSDs, such as Intel and Samsung SSDs which come with their own Toolbox, contain software that shows if TRIM is enabled or not.  Freeware such as CrystalDIskInfo will show if TRIM is enabled.  But how do you really know if TRIM is doing what it is supposed to be doing?  How do you know that it is actually doing more than just turning on a flag that says it is “enabled”?

V300 19mm Memory

This is where technology forum members shine.  Some can be real detectives at discovering  new  software that fills void, or is a significant improvement over its previous version. If something worthwhile is found, its posted in The SSD Forums for discussion.  Some things make the grade; some don’t.  It is a worldwide forum with this thread alone reaching such places as England, Croatia, Korea, Ireland, Canada, Puerto Rico and St. Thomas. TRIMcheck is a free utility and authored by Vladimir Panteleev from Moldova and is a current GIThub project.

Here is our forum member BadMachine’s excellent description of TRIMcheck:

“The title says it all.  Fsutil will tell you if TRIM is enabled or not, but it won’t tell you if it is really functional.  TRIMcheck will actually check and verify whether TRIM works or not.  This program has no GUI, it runs in a command prompt window.  You must copy it on the SSD that you are testing and run it twice, waiting at least 30 seconds to a minute between runs in order to ensure accurate results.  When executed for the first time it will write on specific locations on the SSD.  It will then delete the written data and exit. When you run it a second time a minute later, it will try to read the exact same locations.

When TRIM works you’ll get zeroes on the sectors it wrote, plus a notification that TRIM works.  If the data is still there, you’ll be notified that TRIM is not working.  If you get a negative result and fsutil tells you that TRIM is enabled anyway, try to wait 10 minutes or so before running it for a third time.  This program is great for cases where certain software use cheap workarounds that cripple TRIM in order to ensure SSD compatibility.  In such cases fsutil will show that TRIM is enabled, regardless if it really works or not.  With this utility you’ll know for sure.”

Follow along on the next page as we run TRIMcheck on a Samsung 830 series 128GB SSD to verify if TRIM is actually operational…

13 comments

  1. blank

    TRIM is merely a suggestion to the SSD controller that as it now contains no longer needed data, a certain sector(s) can be reused for garbage collection/wear leveling, if necessary. It’s not a promise to permanently erase such data as soon as possible.

    So, if especially during more or less idle drive loads the content doesn’t get zeroed after minutes or even hours after TRIM, this fact alone shouldn’t by itself be considered worrying. If anything, it’s worrying if the SSD immediately empties old content, which indicates that the SSD was either in immediate need of free blocks for wear leveling or that the implemented TRIM function is not operating very efficiently, wasting erase cycles as soon as it is invoked.

  2. blank

    Cool tool, thank you for posting 🙂

  3. blank

    My thanks to Vladimir for developing trimcheck. I was never fully convinced that TRIM was working on my system, even though “fsutil…” via the command prompt indicated it was on.

    Trimcheck confirmed my long-lived suspicion that TRIM was not working & provided me incentive to find out why. Mine was an AHCI driver issue, which I corrected. Now trimcheck has verified that TRIM is finally working!

  4. blank

    Forgive me if this question is noob-ish… I’m wondering about the safety of having TRIM enabled based upon your 4-step diagram above. Step 2 indicates the block is copied into memory cache. Is this also memory cache also nonvolatile? It would seem that if power was lost after step 3 was completed and before step 4 was started, there would be data loss.

    If memory cache is just another location on the disk, then why have step 4 at all? I would think you would just copy the non-deleted pages to a new area on the disk, update the bitmap, then erase the source block.

  5. blank

    I have a storage array with SSD’s. If I create a LUN from SSD and present to a windows client and format the LUN on windows . Now, If I run this trimcheck script on the formatted LUN on windows, Will this script tell me if my SSD in storage array supports TRIM OR not?
    Note: The Storage controller OS supports TRIM

  6. blank

    Hello! I got two SSD drives. One 128 gb wiht OS installed (C:) and other 240 gb (D:), both proucted by PNY. When I run trimcheck at C: drive it says trim is working, but with D: drive it says Trim appears to be NOT WORKING. Why so? Anyone?

  7. blank

    When I ran v0.5 of this I got an error the first several times when it tried to write extent 9 and said it could not determine the extent of the data. I have a png, but for some reason I am not able to post on the forum. I just registered there.

  8. blank
    Martin Hawking Schwanke

    Another method, I found if you copy / paste this command in, and get a return of 0 (zero) then apparently Trim is working, My raid zero install of Win ten (on a Skylake Gen6 CPU rig with the latest RST driver / Firmware) when I ran Trim Tool it said Trim is probably not enabled, Win 8 on same machine reported it probably is. This is the script to copy / paste into CMD line – fsutil behavior query DisableDeleteNotify (press Windows key + R / type in CMD then paste – CNTL + V )

    • blank

      This only tells you if windows supports the command, not whether the drive does.
      Try running it on a regular drive/system, will return the same if the windows is new enough.

  9. blank

    Hi all, TrimCheck shows it NOT to be working (or taking too long). However with AusLogics Defrag it will TRIM the drive (“Optimise SSD”) option. After running AusLogics TRIM TrimCheck shows the sector etc. was trimmed! Yay.

  10. blank
    Christoph Stackmann

    Hi there,

    though this thread is quite old, I’ll give it a try.
    I have an Win2008R2 Server ProLiant ML110 G6 server with a X3430 XEON CPU on a Intel series 5 3400 chipset.
    I recently changed the HDD to a SAMSUNG 850 pro SSD.
    Unfortunally without getting TRIM to work. Well, it did with an old version of Samsung magician, but updating to the new version deleted the old one, while the new one won’t install.
    The system is running in AHCI mode.
    Thanks in advance,
    Chris

Leave a Reply

Your email address will not be published. Required fields are marked *