Do naszego laboratorium zgłosił się klient z problematycznym dyskiem pół przewodnikowym, czyli popularnie zwanym dyskiem SSD, a dokładnie:
Dysk: SSD
Marka: Slicon Power
Model: S60
Pojemność: 240GB
Interfejs: SATA
Sekcje wpisu:
Wstęp
Diagnoza
Proces odzyskiwania danych
Rezultat
Koszt
Wstęp
Dysk działał w laptopie, ale nagle po prostu przestał pracować. Brak możliwości dostępu do danych na nim zawartych.
Objawy dysku - wykrywany jako PS3108S8 o pojemności 2MB, firmware / oprogramowanie S8R00000, bez numeru seryjnego.
Zanim opiszę co dzieję się z dyskiem warto wrócić do opisu producenta dysku:
Wyjątkowo trwały Wyposażony w szybki kontroler oraz pamięć flash typu MLC NAND, S60 gwarantuje szybkość działania, stabilność i trwałość a w efekcie krótszy czas ładowania aplikacji i oszczędność Twojego czasu! Nie ważne czy pracujesz na komputerze, serfujesz po internecie czy też oglądasz filmy, możesz cieszyć się korzystając ze swojego komputera bez opóźnień.
Przeciwdziałanie uszkodzonym blokom Jeśli dysk zawiera jeden lub więcej uszkodzonych bloków (tzw. Bad Sector), może to spowodować nieodwracalne szkody w systemie. Dysk SP Slim S60 posiada system Bad Block Management, który stale monitoruje i eliminuje uszkodzone bloki, aby utrzymać system operacyjny w dobrym stanie. To dlatego pojemność S60 widoczna w systemie operacyjnym może być nieznacznie mniejsza niż w alternatywnych produktach. Różnica ta pozwala zwiększyć bezpieczeństwo Twoich danych.
Opis produktu oraz zdjęcie pochodzą ze strony xkom.pl
Tak... Bardzo trwały...
Jak to zazwyczaj bywa, marketingowy bełkot, który nie przeszedł próby czasu.
Diagnoza
Z naszej diagnozy wynika, iż doszło do uszkodzenia oprogramowania (firmware) dysku z racji degradacji komórek pamięci w miejscu, gdzie przechowywane jest wewnętrzne oprogramowanie dysku. W wyniku czego dysk nie potrafi się uruchomić w prawidłowy sposób. Podczas rozruchu następuje błąd i dysk jest uruchamiany jedynie w trybie serwisowym, tzw. Safe Mode — dlatego wykrywany jest z nazwą kontrolera — w tym przypadku Phison PS3108.
Odzyskiwanie danych będzie polegało na uruchomieniu oprogramowania wewnętrznego poprzezPC3000 z dodatkiem SSD od acelab.
Dysk jest wspierany przez oprogramowanie, tym samym mamy możliwość ingerencji w pracę dysku i zmuszenie go do oddania plików.
Następnie, jeśli zachowały się pozostałe dane potrzebne do odbudowania translacji danych, powinniśmy mieć dostęp do plików użytkownika dysku.
Proces odzyskiwania danych z dysku SSD
W pierwszej kolejności wyjmuję dysk z obudowy producenta, a następnie podłączam dysk do sprzętu PC-3000.
Uruchamiam narzędzie do dysków SSD, wybieram dysk z rodziny Kingston z Phison PS3108 (istotny jest rodzaj kontrolera, nie producent dysku).
Dysk jak widzimy zgłasza się w trybie serwisowym / safe mode.
Status mówi sam za siebie, dysk przeszedł w tryb safe mode i brak jest dostępu do danych.
Następnie odtwarzam oprogramowanie wewnętrzne dysku, w tym przypadku w wersji 7.2 - Burner_PS3108_7.2.bin
Udało się! Dysk został już wykryty jako BURNERV1 z racji loadera, pojemność 511MB - jest to bez znaczenia w tym momencie.
Log narzędzia:
Loader uploading**************************************** Code name............................... : Burner_PS3108_7.2.bin Write PRAM.............................. : Ok Checking................................ : Ok Write overlay into PRAM................. : Ok Checking................................ : Ok Calling executable code................. : Ok Write HDD microcode .................... : Ok SSD status: SSD is in ready state................... : Yes Firmware mode........................... : LDR SSD is locked........................... : No SSD is in Safe Mode..................... : No Logical access is possible.............. : No Physical access is possible............. : Possibly****************************************Test completed
Dysk nie jest już w trybie serwisowym / safe mode.
Jest w gotowości, jednak dalej nie mamy dostępu logicznego do danych.
Pora odbudować translacje danych, czyli logiczne adresowanie do fizycznych lokalizacji.
Najprościej mówiąc: dzięki temu będziemy mieli dostęp do plików na dysku.
W zależności od pojemności dysku oraz od jego stanu proces ten może zająć dłuższą chwilę, czasami jednak nawet kilka godzin.
Poniżej dziennik procesu:
Translator initialization****************************************Creating translator****************************************Read System Info........................ : OkRead Chips Info......................... : Okchannel: 0****************************************Service area scanning****************************************channel: 0; block: 0x0000............... : C0C0 (Smart Vt)channel: 0; block: 0x0002............... : C5C5 (L2P)channel: 0; block: 0x0003............... : C5C5 (L2P)channel: 0; block: 0x0004............... : C2C2 (PU info)channel: 0; block: 0x0005............... : C4C4 (L2P Zone)channel: 0; block: 0x0006............... : C3C3 (PVE)channel: 0; block: 0x0008............... : C2C2 (PU info)channel: 0; block: 0x0009............... : C5C5 (L2P)channel: 0; block: 0x000A............... : C5C5 (L2P)channel: 0; block: 0x000C............... : C5C5 (L2P)channel: 0; block: 0x000D............... : C5C5 (L2P)channel: 0; block: 0x000E............... : C5C5 (L2P)channel: 0; block: 0x000F............... : C5C5 (L2P)channel: 0; block: 0x0010............... : C5C5 (L2P)channel: 0; block: 0x0011............... : C5C5 (L2P)channel: 0; block: 0x0013............... : C6C6 (Srv)channel: 0; block: 0x0014............... : C3C3 (PVE)channel: 0; block: 0x0015............... : C3C3 (PVE)channel: 0; block: 0x0016............... : C5C5 (L2P)channel: 0; block: 0x0017............... : C5C5 (L2P)channel: 0; block: 0x0018............... : C5C5 (L2P)channel: 0; block: 0x0019............... : C5C5 (L2P)channel: 0; block: 0x001A............... : C5C5 (L2P)channel: 0; block: 0x001B............... : C3C3 (PVE)channel: 0; block: 0x001C............... : C5C5 (L2P)channel: 0; block: 0x001E............... : C5C5 (L2P)channel: 0; block: 0x001F............... : C5C5 (L2P)channel: 0; block: 0x0020............... : C5C5 (L2P)channel: 0; block: 0x0021............... : C5C5 (L2P)channel: 0; block: 0x0022............... : C5C5 (L2P)channel: 0; block: 0x0023............... : C7C7 (Physical log)channel: 0; block: 0x0024............... : C0C0 (Smart Vt)****************************************CompletedTable of pointers loading (channel: 0; block: 0x0000)CompletedTable of pointers loading (channel: 0; block: 0x0024)CompletedTable of filled blocks loading (channel: 0; block: 0x0004)CompletedService blocks scanningblock: 0x001F........................... : Bad pages count: 1CompletedApply filtersChunks of translator (Found)............ : 0x28480Filter 0...Chunks of translator (Deleted).......... : 0x30AEFilter 1...Chunks of translator (Deleted).......... : 0x21BC2Filter 2...Chunks of translator (Deleted).......... : 0x000CFilter 3...Chunks of translator (Deleted).......... : 0x0004Filter 4...Chunks of translator (Deleted).......... : 0x0000Completedchannel: 1****************************************Service area scanning****************************************channel: 1; block: 0x0000............... : C0C0 (Smart Vt)channel: 1; block: 0x0002............... : C5C5 (L2P)channel: 1; block: 0x0003............... : C2C2 (PU info)channel: 1; block: 0x0004............... : C5C5 (L2P)channel: 1; block: 0x0005............... : C0C0 (Smart Vt)channel: 1; block: 0x0006............... : C4C4 (L2P Zone)channel: 1; block: 0x0007............... : C2C2 (PU info)channel: 1; block: 0x0008............... : C5C5 (L2P)channel: 1; block: 0x0009............... : C5C5 (L2P)channel: 1; block: 0x000A............... : C5C5 (L2P)channel: 1; block: 0x000B............... : C3C3 (PVE)channel: 1; block: 0x000D............... : C4C4 (L2P Zone)channel: 1; block: 0x000E............... : C5C5 (L2P)channel: 1; block: 0x000F............... : C5C5 (L2P)channel: 1; block: 0x0010............... : C5C5 (L2P)channel: 1; block: 0x0011............... : C5C5 (L2P)channel: 1; block: 0x0013............... : C5C5 (L2P)channel: 1; block: 0x0014............... : C5C5 (L2P)channel: 1; block: 0x0015............... : C7C7 (Physical log)channel: 1; block: 0x0018............... : C3C3 (PVE)channel: 1; block: 0x0019............... : C5C5 (L2P)channel: 1; block: 0x001A............... : C6C6 (Srv)channel: 1; block: 0x001B............... : C5C5 (L2P)channel: 1; block: 0x001C............... : C5C5 (L2P)channel: 1; block: 0x001D............... : C2C2 (PU info)channel: 1; block: 0x001E............... : C4C4 (L2P Zone)channel: 1; block: 0x001F............... : C5C5 (L2P)channel: 1; block: 0x0020............... : C3C3 (PVE)channel: 1; block: 0x0021............... : C5C5 (L2P)channel: 1; block: 0x0022............... : C5C5 (L2P)channel: 1; block: 0x0023............... : C5C5 (L2P)channel: 1; block: 0x0024............... : C5C5 (L2P)****************************************CompletedTable of pointers loading (channel: 1; block: 0x0000)CompletedTable of pointers loading (channel: 1; block: 0x0005)CompletedTable of filled blocks loading (channel: 1; block: 0x0007)CompletedService blocks scanningCompletedApply filtersChunks of translator (Found)............ : 0x236E2Filter 0...Chunks of translator (Deleted).......... : 0x48DFFilter 1...Chunks of translator (Deleted).......... : 0x1B603Filter 2...Chunks of translator (Deleted).......... : 0x0000Filter 3...Chunks of translator (Deleted).......... : 0x0000Filter 4...Chunks of translator (Deleted).......... : 0x0000Completedchannel: 2****************************************Service area scanning****************************************channel: 2; block: 0x0000............... : C0C0 (Smart Vt)channel: 2; block: 0x0002............... : C5C5 (L2P)channel: 2; block: 0x0003............... : C4C4 (L2P Zone)channel: 2; block: 0x0004............... : C5C5 (L2P)channel: 2; block: 0x0005............... : C3C3 (PVE)channel: 2; block: 0x0006............... : C4C4 (L2P Zone)channel: 2; block: 0x0007............... : C5C5 (L2P)channel: 2; block: 0x0008............... : C5C5 (L2P)channel: 2; block: 0x0009............... : C7C7 (Physical log)channel: 2; block: 0x000C............... : C3C3 (PVE)channel: 2; block: 0x000D............... : C5C5 (L2P)channel: 2; block: 0x000E............... : C5C5 (L2P)channel: 2; block: 0x0010............... : C2C2 (PU info)channel: 2; block: 0x0011............... : C5C5 (L2P)channel: 2; block: 0x0012............... : C4C4 (L2P Zone)channel: 2; block: 0x0013............... : C5C5 (L2P)channel: 2; block: 0x0014............... : C5C5 (L2P)channel: 2; block: 0x0015............... : C5C5 (L2P)channel: 2; block: 0x0016............... : C5C5 (L2P)channel: 2; block: 0x0017............... : C5C5 (L2P)channel: 2; block: 0x0018............... : C5C5 (L2P)channel: 2; block: 0x0019............... : C2C2 (PU info)channel: 2; block: 0x001A............... : C3C3 (PVE)channel: 2; block: 0x001B............... : C5C5 (L2P)channel: 2; block: 0x001C............... : C5C5 (L2P)channel: 2; block: 0x001D............... : C5C5 (L2P)channel: 2; block: 0x001E............... : C2C2 (PU info)channel: 2; block: 0x001F............... : C6C6 (Srv)channel: 2; block: 0x0020............... : C5C5 (L2P)channel: 2; block: 0x0021............... : C5C5 (L2P)channel: 2; block: 0x0022............... : C5C5 (L2P)channel: 2; block: 0x0023............... : C0C0 (Smart Vt)****************************************CompletedTable of pointers loading (channel: 2; block: 0x0000)CompletedTable of pointers loading (channel: 2; block: 0x0023)CompletedTable of filled blocks loading (channel: 2; block: 0x001E)CompletedService blocks scanningCompletedApply filtersChunks of translator (Found)............ : 0x24202Filter 0...Chunks of translator (Deleted).......... : 0x3B96Filter 1...Chunks of translator (Deleted).......... : 0x1CE6CFilter 2...Chunks of translator (Deleted).......... : 0x0000Filter 3...Chunks of translator (Deleted).......... : 0x0000Filter 4...Chunks of translator (Deleted).......... : 0x0000Completedchannel: 3****************************************Service area scanning****************************************channel: 3; block: 0x0000............... : C0C0 (Smart Vt)channel: 3; block: 0x0002............... : C5C5 (L2P)channel: 3; block: 0x0003............... : C3C3 (PVE)channel: 3; block: 0x0005............... : C5C5 (L2P)channel: 3; block: 0x0006............... : C2C2 (PU info)channel: 3; block: 0x0007............... : C5C5 (L2P)channel: 3; block: 0x0009............... : C5C5 (L2P)channel: 3; block: 0x000A............... : C5C5 (L2P)channel: 3; block: 0x000B............... : C2C2 (PU info)channel: 3; block: 0x000C............... : C5C5 (L2P)channel: 3; block: 0x000D............... : C3C3 (PVE)channel: 3; block: 0x000E............... : C3C3 (PVE)channel: 3; block: 0x000F............... : C5C5 (L2P)channel: 3; block: 0x0010............... : C5C5 (L2P)channel: 3; block: 0x0011............... : C5C5 (L2P)channel: 3; block: 0x0012............... : C5C5 (L2P)channel: 3; block: 0x0013............... : C5C5 (L2P)channel: 3; block: 0x0014............... : C5C5 (L2P)channel: 3; block: 0x0016............... : C5C5 (L2P)channel: 3; block: 0x0017............... : C5C5 (L2P)channel: 3; block: 0x0018............... : C5C5 (L2P)channel: 3; block: 0x0019............... : C5C5 (L2P)channel: 3; block: 0x001A............... : C0C0 (Smart Vt)channel: 3; block: 0x001B............... : C5C5 (L2P)channel: 3; block: 0x001C............... : C5C5 (L2P)channel: 3; block: 0x001D............... : C5C5 (L2P)channel: 3; block: 0x001E............... : C4C4 (L2P Zone)channel: 3; block: 0x001F............... : C4C4 (L2P Zone)channel: 3; block: 0x0020............... : C5C5 (L2P)channel: 3; block: 0x0021............... : C6C6 (Srv)channel: 3; block: 0x0023............... : C5C5 (L2P)channel: 3; block: 0x0024............... : C7C7 (Physical log)****************************************CompletedTable of pointers loading (channel: 3; block: 0x0000)CompletedTable of pointers loading (channel: 3; block: 0x001A)CompletedTable of filled blocks loading (channel: 3; block: 0x000B)CompletedService blocks scanningCompletedApply filtersChunks of translator (Found)............ : 0x29785Filter 0...Chunks of translator (Deleted).......... : 0x3FFAFilter 1...Chunks of translator (Deleted).......... : 0x21F8BFilter 2...Chunks of translator (Deleted).......... : 0x0000Filter 3...Chunks of translator (Deleted).......... : 0x0000Filter 4...Chunks of translator (Deleted).......... : 0x0000CompletedAnalysis of obtained dataEstimated SSD capacity.................. : 469 762 048 (0x1C000000) LBAAvailable to user....................... : 468 862 128 (0x1BF244B0) LBAUser blocks count....................... : 0x03800000Chunks of translator:channel: 0.............................. : Used: 0x3800; Found: 0x3800; Min.: 0x0000; Max.: 0x37FFchannel: 1.............................. : Used: 0x3800; Found: 0x3800; Min.: 0x0000; Max.: 0x37FFchannel: 2.............................. : Used: 0x3800; Found: 0x3800; Min.: 0x0000; Max.: 0x37FFchannel: 3.............................. : Used: 0x3800; Found: 0x3800; Min.: 0x0000; Max.: 0x37FFL2P:Records count........................... : 0x0400CompletedTranslator buildCompleted****************************************Completed****************************************Test completed
OK, translator został odbudowany i odtworzony, czas na odczyt danych.
W narzędziu Data Extractor tworzę nowe zadanie i viola! Mamy dostęp do plików.
Wybieramy odczyt tylko tego, co jest istotne dla klienta i po kilku godzinach mamy odczytane ponad 8GB danych.
Prędkości odczytu nie są tak zawrotne, jakich można by spodziewać się od dysków SSD (od 100KB/s do 3MB/s), jednak jest to dość normalne w sytuacji, gdy nośnik jest już w złym, zdegradowanym stanie.
Rezultat

Odczytaliśmy 22 322 201 sektorów, czyli 8.7GB danych.
Zero uszkodzeń.
W tym przypadku udało odzyskać się 100% danych z dysku SSD, na jakich zależało użytkownikowi.
Warto wspomnieć, że w tym, jak i podobnych przypadkach z dyskami SSD, możliwość odczytania z nośników SSD mają jedynie laboratoria odzyskiwania danych z odpowiednim zapleczem technicznym.
Koszt
W tym konkretnym przypadku koszt zamknął się w kwocie 2500 zł.
Proszę pamiętać, że koszt zawsze jest ustalany na podstawie diagnozy i może się różnić.
Podajemy kosztorys prac przed podjęciem się zlecenia — tak, by klient mógł sam ocenić czy warto kontynuować.
Jeśli Twój dysk SSD przestał być widoczny, a zależy Ci na przywróceniu z niego dokumentów, plików, zdjęć, filmów itp. to zapraszamy do kontaktu.