Funkcja TRIM w dysku SSD

Funkcja TRIM w dysku SSD – czy można odzyskać usunięte dane?

Usunięcie plików lub sformatowanie dysku SSD nie zawsze oznacza natychmiastową i całkowitą utratę danych. W przypadku nośników półprzewodnikowych sytuację komplikuje jednak funkcja TRIM, która informuje kontroler SSD, że określone obszary pamięci nie są już potrzebne systemowi plików.

Od chwili usunięcia danych bardzo ważny jest czas oraz dalsze korzystanie z nośnika. Jeżeli na dysku SSD znajdują się potrzebne pliki, należy natychmiast przerwać jego używanie i odłączyć zasilanie.

Co to jest funkcja TRIM w dysku SSD?

TRIM to mechanizm komunikacji pomiędzy systemem operacyjnym a nośnikiem SSD. Gdy plik zostaje usunięty, system może przekazać dyskowi informację, że określone adresy logiczne nie muszą być już zachowywane.

Samo polecenie TRIM nie zawsze oznacza natychmiastowe fizyczne wyczyszczenie komórek pamięci. Informuje jednak kontroler, że dany zakres można oznaczyć jako nieużywany i przygotować do późniejszego usunięcia lub ponownego wykorzystania. Microsoft opisuje TRIM jako informację dla nośnika, że zawartość wskazanego zakresu nie musi być dalej utrzymywana.

Jak TRIM wpływa na odzyskiwanie danych?

W klasycznym dysku HDD usunięcie pliku najczęściej usuwa informacje o jego położeniu z systemu plików, ale sama zawartość sektorów może przez pewien czas pozostać niezmieniona.

W dysku SSD proces jest bardziej złożony. Po otrzymaniu informacji TRIM kontroler dysku może:

  • oznaczyć określone strony pamięci jako nieaktualne
  • usunąć ich powiązanie z adresami logicznymi
  • przygotować bloki do czyszczenia
  • wykorzystać je później podczas kolejnych zapisów
  • zwrócić zera lub inne wartości przy próbie zwykłego odczytu

Dodatkowo kontroler SSD wykonuje własne procesy zarządzania pamięcią, takie jak garbage collection. Oznacza to, że stan danych może zmieniać się również wtedy, gdy użytkownik nie zapisuje nowych plików, ale nośnik pozostaje podłączony do zasilania.

Czy po wykonaniu TRIM dane są zawsze bezpowrotnie utracone?

Nie można odpowiedzieć na to pytanie jednakowo dla wszystkich dysków.

Możliwość odzyskania danych zależy między innymi od:

  • modelu kontrolera
  • rodzaju pamięci NAND
  • sposobu implementacji TRIM
  • czasu, jaki upłynął od usunięcia
  • dalszego używania nośnika
  • działania garbage collection
  • szyfrowania wewnętrznego
  • sposobu formatowania
  • systemu plików
  • stanu technicznego dysku

W niektórych przypadkach zwykły odczyt logiczny pokazuje wyłącznie puste obszary, ale specjalistyczna diagnostyka pozwala uzyskać dostęp do innego stanu translacji lub danych, które nie zostały jeszcze fizycznie wyczyszczone.

Nie ma jednak gwarancji odzysku. Każdy przypadek wymaga indywidualnej analizy.

Czy można odzyskać dane z dysku SSD po formacie?

Tak, w niektórych przypadkach jest to możliwe.

Samo sformatowanie nie zawsze oznacza natychmiastowe usunięcie całej zawartości pamięci NAND. Znaczenie ma jednak rodzaj formatowania oraz to, czy system przesłał do nośnika polecenia TRIM dla całej partycji.

Sytuacja może być korzystniejsza, gdy:

  • dysk został szybko odłączony
  • nośnik nie był ponownie używany
  • nie zapisano nowych plików
  • kontroler nie wykonał jeszcze pełnego czyszczenia bloków
  • TRIM nie został poprawnie przekazany
  • nośnik pracował przez interfejs, który nie obsłużył polecenia
  • występują specyficzne możliwości pracy z danym kontrolerem

Sytuacja jest trudniejsza, gdy dysk długo pozostawał pod napięciem, system pracował dalej albo na nośniku zapisano nowe dane.

Jak sprawdzić, czy TRIM jest włączony w Windows?

W systemie Windows można sprawdzić stan obsługi TRIM poleceniem:
Aby uruchomić tę komendę, musisz otworzyć Wiersz polecenia jako administrator.

fsutil behavior query DisableDeleteNotify

Microsoft podaje to polecenie jako sposób sprawdzenia ustawienia TRIM dla systemów plików NTFS i ReFS.

Wynik:

NTFS DisableDeleteNotify = 0

zwykle oznacza, że system może wysyłać polecenia TRIM.

Wynik:

NTFS DisableDeleteNotify = 1

oznacza, że funkcja została wyłączona na poziomie systemu.

Samo ustawienie systemowe nie daje jednak pewności, że polecenie rzeczywiście dotarło do konkretnego nośnika. Znaczenie może mieć również kontroler, przejściówka, obudowa USB, sterownik i sposób podłączenia dysku.

Rola garbage collection

Garbage collection to wewnętrzny proces zarządzania pamięcią wykonywany przez kontroler SSD.

Kontroler grupuje aktualne dane, przenosi je pomiędzy blokami i przygotowuje nieużywane bloki do ponownego zapisu. Proces może działać niezależnie od systemu plików i jest sterowany przez firmware nośnika.

TRIM i garbage collection nie są tym samym:

  • TRIM przekazuje informację, które adresy nie są już potrzebne
  • garbage collection wykonuje porządkowanie i czyszczenie bloków wewnątrz pamięci

Dlatego dalsze zasilanie dysku po usunięciu danych może zmniejszać szanse na skuteczny odzysk.

Przykład odzyskiwania danych z SSD z aktywną funkcją TRIM

Do naszego laboratorium trafił dysk SSD SATA 2,5 cala Goodram CX400 o pojemności 512 GB, wyposażony w kontroler Phison PS3111-S11.

Dane zostały usunięte, a standardowy odczyt nie dawał dostępu do oczekiwanej zawartości. Konieczne było przeprowadzenie specjalistycznej diagnostyki oraz uruchomienie procedur serwisowych właściwych dla tego kontrolera.

W trakcie prac wykonaliśmy między innymi:

  • identyfikację kontrolera i pamięci
  • uruchomienie trybu serwisowego
  • przygotowanie zadania diagnostycznego
  • odbudowę translatora
  • kontrolowany odczyt wszystkich sektorów
  • analizę dostępnej struktury logicznej

W tym przypadku udało się uzyskać dostęp do pełnej pojemności logicznej nośnika i odzyskać część usuniętych danych.

Rezultat nie oznacza, że podobna procedura będzie skuteczna dla każdego dysku SSD. Pokazuje jednak, że niektóre przypadki wymagają metod wykraczających poza zwykłe programy do odzyskiwania plików.

dysk SSD CX400 512 GB
dysk SSD CX400 512 GB
odbudowa translatora dysku SSD
odbudowa translatora dysku SSD
Odbudowa translatora dysku SSD
Odbudowa translatora dysku SSD
task - budowa nowego zadania utility
task - budowa nowego zadania utility
odczyt zwykły dysku SSD z funkcją TRIM
odczyt zwykły dysku SSD z funkcją TRIM
pełny dostęp do dysku SSD z włączoną funkcją TRIM
pełny dostęp do dysku SSD z włączoną funkcją TRIM

Dlaczego zwykły program może nie wystarczyć?

Programy do odzyskiwania danych działają zwykle na poziomie logicznym. Odczytują sektory udostępnione przez kontroler i szukają pozostałości systemu plików.

Jeżeli kontroler po wykonaniu TRIM:

  • zwraca puste sektory
  • nie udostępnia wcześniejszej translacji
  • ukrywa fizyczne położenie danych
  • korzysta z szyfrowania
  • wykonał czyszczenie bloków

program nie ma możliwości dotarcia do wcześniejszej zawartości.

W takich przypadkach konieczna może być praca w trybie serwisowym, analiza firmware, translatora oraz indywidualnych właściwości kontrolera.

TRIM a dyski NVMe

Dyski NVMe korzystają z innych poleceń i protokołów niż klasyczne SSD SATA, ale również obsługują mechanizmy zwalniania nieużywanych zakresów logicznych.

W praktyce skutki dla odzyskiwania danych mogą być podobne: system oznacza obszary jako niepotrzebne, a kontroler może je później wyczyścić lub przestać udostępniać ich wcześniejszą zawartość.

Odzyskiwanie danych z dysków NVMe wymaga jednak innych procedur, narzędzi i oceny kompatybilności niż praca z klasycznym dyskiem SATA.

Czy TRIM można wyłączyć?

Technicznie system operacyjny może mieć możliwość wyłączenia wysyłania poleceń TRIM. Nie jest to jednak zalecane jako stała metoda ochrony danych.

TRIM wspiera prawidłowe zarządzanie wolną przestrzenią i utrzymanie wydajności dysku SSD. Microsoft wykorzystuje operacje ReTrim jako standardową metodę optymalizacji obsługiwanych nośników SSD.

Najlepszą ochroną przed utratą danych nie jest wyłączanie TRIM, lecz regularne wykonywanie kopii zapasowych.

Najczęstsze pytania

Czy po usunięciu pliku z SSD dane znikają natychmiast?

Nie zawsze. System może oznaczyć dane jako usunięte, a kontroler otrzymać informację TRIM. Fizyczne czyszczenie pamięci może nastąpić później, ale dostęp do danych może zostać utrudniony już wcześniej.

Czy odłączenie dysku zwiększa szanse na odzysk?

Tak. Odłączenie zasilania ogranicza dalszą pracę kontrolera, garbage collection i możliwość nowych zapisów.

Czy formatowanie zawsze uruchamia TRIM?

Zależy to od systemu operacyjnego, rodzaju formatowania, systemu plików, sterownika i sposobu podłączenia dysku.

Czy program do odzyskiwania danych może obejść TRIM?

Zwykły program nie może odczytać danych, których kontroler już nie udostępnia. W niektórych przypadkach konieczna jest specjalistyczna praca z kontrolerem i firmware.

Warto sprawdzić:
odzyskiwanie danych z dysku SSD
uszkodzony dysk SSD
błąd SATAFIRM S11