Przyczyny utraty danych z pendrive
Awarie występujące w pamięciach USB można podzielić na awarie fizyczne, logiczne i elektroniczne. Do awarii fizycznych najczęściej dochodzi, gdy element jest włożony do portu USB i ktoś w przypadkowy sposób wyłamuje urządzenie w porcie. Czasem są to przełamania, zgniecenia lub inne podobne zniszczenia związane z użyciem siły. W wielu przypadkach uszkodzenie można naprawić przynajmniej na tyle by można było zgrać dane z pamięci.
Problemy z utratą danych w pamięciach USB mogą być natury logicznej – przypadkowe lub zamierzone usunięcie, części lub wszystkich, danych, format pamięci przez operatora, usunięcie danych przez złośliwe oprogramowanie.
Przebieg odzyskiwania danych z pamięci USB
Odzyskiwanie danych z uszkodzonego pendrive w trybie logicznym jest identyczne jak przy innych nośnikach danych. Pamięć jest przeszukiwana w celu odnalezienia ukrytego pliku MFT, w którym są zapisane informacje o strukturze katalogowej oraz o wszystkich istniejących plikach w pamięci. Jeżeli takiego pliku nie możemy odnaleźć to następuje przeszukiwanie po nagłówkach plików i w ten sposób możemy odzyskać pliki, często bez ich oryginalnych nazw, posortowane najczęściej według ich rozszerzeń.
W przypadku utraty danych podczas awarii technicznej w urządzeniach z widocznymi elementami, podłączamy się do użytej w urządzeniu pamięci NAND Flash i ją odczytujemy. Następnie po odczytaniu staramy się złożyć dane. Podobnie postępujemy w urządzeniach skonstruowanych jako monolity. I tu, podobnie jak przy monolitycznych kartach pamięci musimy dostać się do pamięci NAND zalanej w urządzeniu i ją odczytać. Problemem w tym przypadku jest ściągnięcie warstwy, która zakrywa piny techniczne poprzez które można się połączyć z zalanymi elementami. Drugim problemem, podobnie jak w przypadku kart pamięci jest odnalezienie właściwych sygnałów. Niestety i tutaj producenci nie mają jednego standardu i dla części urządzeń nie można odnaleźć właściwych styków.
Po odczytaniu pamięci NAND sprawdzamy poziom błędów jakie mogły wystąpić w trakcie odczytu. Wewnętrzna konstrukcja pamięci NAND zapewnia na korekcję błędów parzystości (ECC). Jednak pamięć sama nie koryguje błędów lecz robi to za nią kontroler a w przypadku odzyskiwania musi to zrobić oprogramowanie. W wielu przypadkach, gdy korekcja ECC nie daje rady skorygować błędów pamięć jest kilkukrotnie doczytywana z różnymi ustawieniami szybkości czytania oraz poziomów ustawień napięcia zasilającego pamięć NAND. Po najlepszym z możliwych odczytaniu pamięci przeprowadzamy na niej odwrotne funkcje jakie zapisują robił kontroler. Najczęściej jest to funkcja logiczna XOR, której jednym z zadań jest takiego pomieszania danych, żeby fizycznie obok siebie nie występowały duże powierzchnie komórek o jednakowych wartościach, ponieważ w “polach” mogą występować błędy danych.
Ponieważ stopień skomplikowania przypadków technicznych jest dużo większy niż w logicznych, to uzyskanie poprawnego wyniku jest bardziej czasochłonne i dużo bardziej skomplikowane. Czytniki pamięci NAND odczytują je zazwyczaj z prędkościami na poziomie od 3Mb/s do maksymalnie 7-8Mb/s. Jednorazowe odczytanie pamięci 64GB może zająć ok. 4 godzin, kolejne doczytywania przy wolniejszych ustawieniach czytania kolejne kilkanaście godzin, co na końcu daje kilkukrotnie dłuższy czas na odzyskanie danych niż w przypadkach logicznych. Dopiero, gdy uda się złożyć poprawnie obraz pamięci można przejść do procedury odzyskiwania logicznego. |