TRIM este o comandă utilizată de sistemul de operare pentru a comunica SSD-ului blocurile de date neaflate în uz, precum și datele rămase în urma comandării ștergerii lor. Și mai simplu: de fiecare dată când ștergem din computer un fișier, chiar dacă pare contradictoriu, acesta nu este eliminat de pe Hard Disk ori SSD, ci doar spațiul ocupat de el marcat pentru a putea fi utilizat la găzduirea unui nou fișier.
SSD-urile nu au capacitatea de a identifica blocurile de date ce por fi reutilizate ca urmare ștergerii de către sistemul de operare (sau a programelor instalate în acesta) a datelor care le ocupau, cauza inițială fiind neputința SSD-urilor de a interpreta structura sistemului de fișiere utilizat de sistemul de operare instalat în computer, fapt ce împiedica la rândul său accesarea listei clusterelor nefolosite.
Aceste minusuri provocau două mari probleme:
- SSD-urile pot scrie blocuri de cel mult 4 KiB, însă din cauza limitărilor hardware, acestea sunt nevoite să șteargă blocuri mai mari, de 128 KiB sau chiar 512 KiB. Având în vedere faptul că unitatea SSD nu știe ce blocuri de 4 KiB sunt folosite actualmente, fiecare scriere va necesita un ciclu major de scriere-stergere-modificare-scriere, presupunând că niciun bloc liber nu este disponibil.
- Wear leveling are rolul de a distribui ciclurile de scriere și rescriere a blocurilor, evitând în acest fel supra-solicitarea unui anumit bloc (lucru care ar duce la epuizarea ciclurilor permise). Deoarece SSD-urile nu știu ce blocuri sunt utilizate de sistemul de fișiere, fiecare scriere nouă necesită un ciclul adițional de scriere din cauză blocurilor realocate.
Pentru a evita aceste probleme a fost inventat TRIM odată cu apariția SSD-urilor.
În practică, dacă nu se dispune de TRIM, nici controller-ul SSD-ului și nici sistemul de operare nu vor ști cu exactitate spațiul liber existent, iar copierea, mutarea și realocarea fișierelor se va efectua tot mai lent în timp, performanța și durata de viață a SSD-ului scăzând considerabil. Pe scurt, SSD-urile ar „muri” prematur, pe porțiuni aleatorii.