Wraz z rosnącą popularnością dysków SSD coraz częściej pojawiają się pytania dotyczące możliwości odzyskiwania danych po ich przypadkowym skasowaniu lub po formacie dysku SSD. W tradycyjnych dyskach twardych (HDD) proces kasowania danych polegał na usunięciu jedynie odwołania do plików (metadanych), a same dane fizycznie pozostawały na nośniku, dopóki nie zostały nadpisane. Dyski SSD działają jednak inaczej – kluczową rolę pełni w nich polecenie TRIM. Pojęcia takie, jak „fake TRIM” czy „brak TRIM” dodatkowo komplikują kwestię możliwości przywracania danych. W niniejszym artykule wyjaśniamy, czym jest TRIM, co oznacza „fake TRIM”, a także w jakich sytuacjach istnieje szansa na odzyskanie plików z dysku SSD.
Czym jest TRIM?
TRIM to specjalne polecenie systemowe, zaprojektowane z myślą o dyskach SSD. W dużym uproszczeniu:
- Główny cel TRIM: Gdy usuwamy plik, system operacyjny (jeżeli obsługuje TRIM i jest on aktywny) wysyła do kontrolera dysku SSD informację, że określone sektory (bloki pamięci) można uznać za niewykorzystywane. Dzięki temu kontroler dysku SSD może je później wyczyścić i przygotować do ponownego zapisu.
- Dlaczego to takie ważne w SSD?
- W dyskach SSD blok pamięci przed zapisem wymaga uprzedniego wyczyszczenia.
- Aby zoptymalizować prędkość zapisu, kontroler stara się unikać wykonywania czyszczenia w trakcie typowego użytkowania.
- Dzięki TRIM kontroler „z góry” wie, które bloki są już puste, co umożliwia wydajniejsze zarządzanie pamięcią.
W praktyce TRIM poprawia wydajność dysku SSD i przedłuża jego żywotność, ponieważ zmniejsza liczbę zbędnych operacji zapisu/kasowania.
Co to jest „fake TRIM”?
Określenie „fake TRIM” pojawia się w kontekście sytuacji, gdy system operacyjny lub sterowniki bądź sam dysk SSD nie w pełni wykonują realne czyszczenie bloków w momencie usunięcia pliku, mimo że sygnał TRIM jest zgłaszany. Może się to zdarzyć w różnych scenariuszach:
- Niekompatybilny system operacyjny, sterownik lub firmware:
- System może wysyłać polecenie TRIM, ale dysk SSD nie rozpoznaje go poprawnie, ponieważ np. firmware nie obsługuje tej funkcji we właściwy sposób.
- Na poziomie sterownika dyskowego może być błędna implementacja, która przekazuje potwierdzenie do systemu, ale nie wykonuje faktycznego czyszczenia.
- Niepełne wdrożenie TRIM w macierzach RAID:
- W niektórych konfiguracjach RAID (szczególnie starszych) polecenie TRIM bywa pomijane lub niepoprawnie obsługiwane.
- Emulacja TRIM:
- Zdarza się, że oprogramowanie (sterowniki) jedynie „emuluje” TRIM, oznaczając sektory jako wolne w systemie, ale nie przekazuje faktycznego polecenia do dysku.
- Ciekawostką, która wynika z ostatnich badań nad odzyskiwaniem skasowanych danych z dysków SSD jest również sytuacja zaobserwowana przy funkcjonowaniu niektórych kontrolerów jak np. SiliconMotion. Okazuje się, że w niektórych sytuacjach (dość często), kontroler zamiast faktycznie zerować komórki SSD, po prostu oznacza blok jako pusty i zwraca „00” na zapytania z systemu. Fizycznie jednak dane pozostają w komórkach SSD i istnieją już możliwości ich odzyskania w niektórych przypadkach. Więcej na ten temat znajdziecie tu: https://www.alldatarecovery.pl/ssd/277-odzyskiwanie-danych-z-dysku-ssd-skasowanych-i-po-formacie
W efekcie może się okazać, że po usunięciu plików z dysku SSD i „oficjalnym” potwierdzeniu przez system operacyjny, część danych nadal fizycznie istnieje i nie została wymazana przez kontroler. W takim wypadku, przynajmniej do chwili wymuszonego czyszczenia komórek pamięci, możliwe może być częściowe lub całkowite odzyskanie plików.
Kiedy rzeczywiście można odzyskać dane z dysku SSD?
W ogólnym przypadku, jeśli TRIM działa prawidłowo, a system i dysk są ze sobą w pełni kompatybilne, to po skasowaniu pliku polecenie TRIM trafia do dysku SSD. Dysk rozpoznaje wskazane bloki jako zbędne i wcześniej czy później faktycznie je czyści, co praktycznie uniemożliwia odzyskanie danych tradycyjnymi metodami.
Sytuacje sprzyjające możliwości odzyskania:
- Brak wsparcia TRIM w systemie operacyjnym lub dysku
- Jeżeli np. mamy starszy system operacyjny, który nie wspiera TRIM, lub dysk SSD, który go nie obsługuje.
- Wyłączony TRIM w ustawieniach systemu
- W niektórych przypadkach użytkownicy celowo lub przypadkowo wyłączają TRIM w systemie.
- W Windows możliwe jest wyłączenie polecenia TRIM poleceniem
fsutil behavior set disabledeletenotify 1
.
- Błędna konfiguracja sterowników / „fake TRIM”
- Jak opisano wcześniej, oprogramowanie może błędnie implementować TRIM.
- W takim wypadku faktycznie istnieje pewien okres, w którym dane nie są jeszcze wymazane i możliwe do przywrócenia.
- Usunięcie pliku, ale krótko po tym dysk nie zdążył przeprowadzić wewnętrznego czyszczenia
- Nawet w pełni sprawny mechanizm TRIM nie zawsze natychmiast czyści wszystkie adresy – odbywa się to według harmonogramu lub mechanizmów zarządzania dyskiem (GC – Garbage Collection).
- Istnieje więc często niewielkie „okienko czasowe”, w którym część informacji o pliku może być możliwa do odtworzenia.
- Specjalistyczne laboratoria odzyskiwania danych
- Nawet przy włączonym TRIM i aktywnym mechanizmie garbage collection nasze laboratorium dysponuje technologiami pozwalającymi na częściowe lub całkowite odzyskanie danych, zwłaszcza gdy komórki fizycznie nie zostały jeszcze nadpisane.
- Jest to jednak skomplikowany i drogi proces, a sukces nie jest gwarantowany, bo do zakończenia procesu nie wiadomo jaka jest sytuacja.
Jak sprawdzić, czy TRIM jest włączony?
Windows
- Można skorzystać z polecenia w wierszu poleceń (CMD) uruchomionym jako administrator: fsutilbehaviorqueryDisableDeleteNotifyfsutil behavior query DisableDeleteNotify Wynik:
- 0 oznacza, że TRIM jest włączony.
- 1 oznacza, że TRIM jest wyłączony.
Linux
- Na systemach Linux (jądra >= 2.6.33) TRIM jest obsługiwany natywnie, ale bywa domyślnie wyłączony (w zależności od dystrybucji).
- Można ręcznie dodać opcję
discard
do pliku/etc/fstab
, np. dla partycji EXT4 lub BTRFS, choć współczesne systemy raczej korzystają z okresowej funkcjifstrim.timer
(tzw. periodyczny TRIM). - Komenda
sudo fstrim -v /
pozwala na wywołanie TRIM ręcznie i sprawdzenie, czy jest obsługiwany.
macOS
- macOS wspiera TRIM natywnie dla dysków Apple, natomiast dla dysków innych producentów TRIM można włączyć bądź wyłączyć w terminalu komendą
sudo trimforce enable
/disable
. - Od wersji OS X Yosemite 10.10.4 Apple oficjalnie zezwoliło na włączanie TRIM w dyskach innych niż Apple.
Praktyczne wskazówki dotyczące odzyskiwania danych
- Szybkie działanie:
- Jeśli zauważysz, że usunąłeś/aś pliki omyłkowo, natychmiast zaprzestań dalszych operacji na dysku SSD (np. nie instaluj nowych programów, nie kopiuj plików), aby uniknąć ewentualnego nadpisania komórek.
- Używaj odpowiednich narzędzi:
- W pierwszej kolejności wypróbuj programy do odzyskiwania danych (np. PhotoRec, R-Studio, DMDE) – mają one opcje skanowania dysków w poszukiwaniu śladów plików.
- W przypadku SSD z aktywnym TRIM często może się okazać, że skanowanie nie znajduje właściwie żadnych skasowanych plików.
- Wyłącz TRIM?
- W teorii możliwe jest wyłączenie TRIM (jeśli to jeszcze nie nastąpiło) w momencie zorientowania się, że potrzebujemy odzyskać pliki – czasem pomoże to zachować istniejące jeszcze dane.
- Jednak zwykle system i kontroler zdąży już wykonać czyszczenie, więc ta opcja może nie przynieść efektów.
- Skonsultuj się z profesjonalnym laboratorium:
- Jeżeli dane mają bardzo dużą wartość, jedyną szansą może być przekazanie dysku specjalistom, którzy dysponują narzędziami i wiedzą pozwalającą na analizę zawartości komórek NAND „od środka”.
Wnioski
- TRIM to kluczowy mechanizm, który pomaga dyskom SSD utrzymać wysoką wydajność i dłuższą żywotność, ale jednocześnie znacznie utrudnia (często uniemożliwia) odzyskiwanie skasowanych danych.
- Jeżeli TRIM działa poprawnie, dane po usunięciu są dość szybko i skutecznie wymazywane z komórek pamięci, przez co stają się praktycznie nie do odzyskania domowymi metodami.
- Istnieje jednak zjawisko określane potocznie jako „fake TRIM”, polegające na błędnym lub niepełnym przekazywaniu sygnału TRIM przez system lub sterowniki. W takich sytuacjach (lub gdy TRIM jest wyłączony) możliwe bywa choć częściowe przywrócenie danych.
- Szansa na odzyskanie plików z dysku SSD jest zwykle dużo niższa niż w przypadku dysku HDD, szczególnie gdy mechanizmy TRIM/GC działają tak, jak zostały zaprojektowane.
- W przypadku bardzo ważnych danych najlepiej skierować się do profesjonalnego laboratorium, które dysponuje zaawansowanym sprzętem i oprogramowaniem, choć należy mieć świadomość, że skuteczność nadal nie jest gwarantowana i zależy od konkretnej sytuacji.
Wnioski: Chociaż dyski SSD są szybsze i bardziej odporne na uszkodzenia mechaniczne niż HDD, to proces odzyskiwania danych jest przy nich znacznie trudniejszy, głównie z powodu mechanizmu TRIM i innego funkcjonowania translacji bloków fizycznych na logiczne (widziane od strony systemu). Przy świadomym wykorzystaniu dysku i włączonym TRIM szanse na odzyskanie przypadkowo usuniętych plików są niewielkie. Z kolei w sytuacji „fake TRIM” dla niektórych kontrolerów SSD, bądź braku wsparcia dla TRIM, pozostaje pewne okienko szans na przywrócenie danych, lecz wciąż nie można liczyć na 100% powodzenie. Prace jednak wciąż trwają i każdego roku możliwości stają się coraz większe.