[SOLVED] Problem with TRIM on SSDs

Status
Not open for further replies.
Oct 2, 2019
2
0
10
I have a pb with TRIM.
It works on two drives (internal), but not two others (connected via USB3).
Is it the controller? How can that be?
How can I enable TRIM for all external (USB) drives?
Some indications below.
Many thanks in advance for your help. Best wishes, David

On W7 (64), Command prompt: DisableDeleteNotify = 0
So TRIM is enabled

Hard Disk Sentinel gives the following

SSD 850 EVO 500GB = one of the two disks where TRIM works.
Performance 100%
Health 100%
“The TRIM feature of the SSD is supported and enabled”
Disk Controller: Standard Dual Channel PCI IDE Controller (ATA) [VEN: 1002, DEV: 4390] Version: 6.1.7601.18231, 6-21-2006

SSD 860 QVO 2TB = one of the two disks where TRIM does NOT work.
Performance 80%
Health 100%
“The TRIM feature of the SSD is supported but disabled.”
Disk Controller: Renesas Electronics USB 3.0 Host Controller (USB 3.0) [VEN: 1033, DEV: 0194] Version: 2.1.36.0, 5-10-2012
 
Solution
TRIM is a command not supported by USB.

If Windows "Defragment and Optimize" detects your enclosure as SSD, you can use it's OPTIMIZE function. Or resort to third-party software to force-trim manually or on schedule.

Another option is to make a batch file with "defrag X: /L /U /V" (X is the letter of your SSD) and use it manually, or set up a schedule in Windows Scheduler.

To create a .bat file, paste the defrag X: /L /U /V command into Notepad, hit 'File'->'Save As" and save it as trim.bat
You can then use this file manually or set up on a schedule.
TRIM is a command not supported by USB.

If Windows "Defragment and Optimize" detects your enclosure as SSD, you can use it's OPTIMIZE function. Or resort to third-party software to force-trim manually or on schedule.

Another option is to make a batch file with "defrag X: /L /U /V" (X is the letter of your SSD) and use it manually, or set up a schedule in Windows Scheduler.

To create a .bat file, paste the defrag X: /L /U /V command into Notepad, hit 'File'->'Save As" and save it as trim.bat
You can then use this file manually or set up on a schedule.
 
  • Like
Reactions: crookall
Solution
Thanks, Traditore, great work around. Appreciate your help.

My windows has a prog called "Disk Defragmenter". It detects the SSDs on USB
However, I have read in various places that drefagmenting an SSD will reduce its life.
Presumably because in addition to marking deleted space as again available, it moves large quantities of data from elsewhere to fill the deleted-available space - or maybe I got that wrong?

I used your command line in cmd as admin, and it said invalid command. I could not see if I had made any typos.

So I am thinking that I could get a PCI controller card with an eSATA connector cable – and that passes TRIM. Would that do the trick? Can you recommend any (make, model, ref)? Especially one that also provides the power supply?

Again - thank you - david
 
Thanks, Traditore, great work around. Appreciate your help.

My windows has a prog called "Disk Defragmenter". It detects the SSDs on USB
However, I have read in various places that drefagmenting an SSD will reduce its life.
Presumably because in addition to marking deleted space as again available, it moves large quantities of data from elsewhere to fill the deleted-available space - or maybe I got that wrong?

I used your command line in cmd as admin, and it said invalid command. I could not see if I had made any typos.

So I am thinking that I could get a PCI controller card with an eSATA connector cable – and that passes TRIM. Would that do the trick? Can you recommend any (make, model, ref)? Especially one that also provides the power supply?

Again - thank you - david
Trim is an internal function, it will run even without OS forcing it. All OS does is send signal to "Force Trim now instead on conditions SSD's firmware is set to". Trim and garbage collection happen in SSD's firmware when SSD is powered but in idle state (not used by system).
Classic defrag like on HDDs is not going to "kill" an SSD but it's not needed and it forces some more writing to than it's needed. That may shorten it's useful life but modern SSD have very long one, even potentially longer than classic HDDs..
There is some defragmentation going on even with SSDs but again it's an internal function driven by it's FW.
 
  • Like
Reactions: crookall
That is false.

TRIM is complementary to garbage collection. TRIM command enables the operating system to preemptively notify the SSD which data pages in a particular block can be erased, allowing the SSD's controller to more efficiently manage the storage space available for data. TRIM eliminates any unnecessary copying of discarded or invalid data pages during the garbage collection process to save time and improve SSD performance.
The SSD TRIM command simply marks the invalid data and tells the SSD to ignore it during the garbage collection process. The SSD then has fewer pages to move during garbage collection, which reduces the total number of program/erase cycles. In order for TRIM to function, the host's OS and the SSD must support it.
 
Last edited:
Thanks, Traditore, great work around. Appreciate your help.

My windows has a prog called "Disk Defragmenter". It detects the SSDs on USB
However, I have read in various places that drefagmenting an SSD will reduce its life.
Presumably because in addition to marking deleted space as again available, it moves large quantities of data from elsewhere to fill the deleted-available space - or maybe I got that wrong?

I used your command line in cmd as admin, and it said invalid command. I could not see if I had made any typos.

So I am thinking that I could get a PCI controller card with an eSATA connector cable – and that passes TRIM. Would that do the trick? Can you recommend any (make, model, ref)? Especially one that also provides the power supply?

Again - thank you - david
I've totally missed you've got old Win7.

Yeah, don't defragment with that. No point whatsoever.

I'm afraid I can't recommend any pci-to-sata controllers - haven't used them in ages.
 
  • Like
Reactions: crookall
That is false.

TRIM is complementary to garbage collection. TRIM command enables the operating system to preemptively notify the SSD which data pages in a particular block can be erased, allowing the SSD's controller to more efficiently manage the storage space available for data. TRIM eliminates any unnecessary copying of discarded or invalid data pages during the garbage collection process to save time and improve SSD performance.
The SSD TRIM command simply marks the invalid data and tells the SSD to ignore it during the garbage collection process. The SSD then has fewer pages to move during garbage collection, which reduces the total number of program/erase cycles. In order for TRIM to function, the host's OS and the SSD must support it.
Those are just details.
 
Status
Not open for further replies.