TRIMcheck: Does Your SSD Really have TRIM Working?

TRIMCHECK IN USE

For our testing, we are using a Samsung 830 series 128GB SSD.  As we have spoken of earlier, the Samsung Magician software shows that our 830 is set to AHCI mode, is connected to a SATA 6GB/s port, our operating system is configured to maximize SSD performance, and the drive is in good health.

TRIMcheck screen4

As we move on to CrystalDiskInfo , a freeware application that is used in every SSD evaluation here at TSSDR, we can see in the “features” area mid-screen that TRIM is highlighted in bold, indicating that it is enabled.  Once again, the SSD shows 100% healthy status.

CDI-2-22-13

The current default method of determining if TRIM is enabled in Windows is to utilize a command prompt to perform a query.  Click on your Windows orb, and in the search bar type “cmd”.  The cmd program should show at the top of the window under programs.  Right click on “cmd” and click on “run as administrator”.  Type the following string: “fsutil behavior query DisableDeleteNotify” and hit <ENTER>.  If a result of “1” is returned, TRIM is not enabled; if a result of “0” is returned, TRIM is enabled.  As you can see from the next screenshot, Windows does indicate that TRIM is enabled on our system with a “0” result.

fsutil trim enabled result

Still, that lingering skepticism seeks that more definitive proof.  After downloading TRIMcheck and saving it to the drive we want to run TRIMcheck on, here we see the first screen displayed, and it advises “Press ENTER to test drive C”:

TRIMcheck screen1

The next image shows the operations that TRIMcheck performs to initiate and run its testing processes.  At the end, it advises us:  “Test file created and deleted and continuation data saved.  Do what needs to be done to activate the SSD’s TRIM functionality and run this program again.  Usually, you just need to wait a bit (around 20 seconds).  Sometimes a reboot is necessary.  Press ENTER to exit……”

TRIMcheck screen2

After waiting approximately 45 seconds, we ran the TRIMcheck routine again.  This last screenshot shows that based on TRIMcheck’s actual creation, placement, and deletion of data, and then a subsequent recheck of the exact memory addresses, the data HAD actually been deleted. TRIM is operational on our Samsung 830 SSD.

TRIMcheck screen3

Unlike the other methods of checking whether TRIM is enabled, TRIMcheck places and erases data from the SSD, checking then to see if TRIM has functioned correctly.

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 *