При съвременните SSD устройства и при редица модерни твърди дискове възстановяването на данни вече не е просто въпрос на това да „прочетем диска“ с подходяща програма.
На физическо ниво може да има записана информация, но тя не е задължително достъпна като нормални файлове или логически сектори. Между физическата памет и операционната система съществуват сложни механизми за адресиране, преобразуване и управление на данните. Един от ключовите елементи при някои устройства е т.нар. вторичен транслатор (Secondary Translator).
Какво представлява транслаторът?
Най-общо казано, транслаторът е механизмът, който осигурява връзката между физическото разположение на информацията върху носителя и логическите адреси, които компютърът вижда.
Това означава, че секторът, който операционната система нарича например LBA 123456, не трябва да съответства директно на конкретно физическо място върху носителя.
При SSD ситуацията е още по-сложна. Контролерът управлява NAND паметта чрез сложен Flash Translation Layer (FTL), който извършва операции като wear leveling, garbage collection, bad block management и логическо пренасочване на блокове.
При някои HDD също се използват сложни вътрешни транслационни структури, които са критични за правилното интерпретиране на данните.
Какво се случва при повреда?
При повреда на транслаторните структури или на информацията, необходима за правилното им функциониране, устройството може да продължи да комуникира с компютъра, но това не означава, че данните са реално достъпни.
Това е един от най-опасните моменти при диагностиката.
Компютърът може да вижда устройство с определен капацитет. Софтуерът може да отчита сектори. Понякога дори могат да се появят файлови записи.
Но при опит за прочит на действителното съдържание вместо оригиналните данни може да се получат:
- нулеви блокове;
- повтарящи се данни;
- неправилно подредени блокове;
- „каша“ от несвързана информация;
- некоректни секторни данни;
- или комбинация от всичко това.
Причината е проста: софтуерът получава от устройството това, което самото устройство му връща, а не непременно физическите данни в правилния им логически ред.
Защо обикновените програми не могат да решат проблема?
Програми за възстановяване на данни като стандартните recovery приложения работят основно на логическо ниво.
Те очакват да получат сравнително коректен достъп до секторите и върху тях търсят файлови системи, MFT записи, директории, файлови сигнатури и други структури.
Но ако слоят, който преобразува логическите адреси към реалното местоположение на данните, е повреден или неправилен, програмата може да анализира грешно адресирани данни.
Тогава може да се получи подвеждащ резултат:
„Виждам файловете“ ≠ „Мога да възстановя файловете“.
Особено показателен е случаят с изтрити файлове.
Понякога след изтриване файловите записи все още не са физически премахнати или не са били обработени от механизмите за TRIM/garbage collection. Софтуерът може да открие имената на файловете, директориите, размерите и други метаданни.
Това създава впечатлението, че информацията е там и може просто да бъде възстановена. Но наличието на файлов запис не означава, че съдържанието на файла е достъпно. Ако необходимите физически блокове не могат да бъдат правилно адресирани и прочетени,
програмата може да покаже файла, но при реалното извличане да получи нули, невалидни блокове
или несвързани данни.
Особено важно при SSD – TRIM не е единственият проблем
При SSD възстановяването е още по-сложно.
Контролерът постоянно управлява физическото разположение на информацията. Логическите адреси не са директна карта към NAND паметта.
При изтриване операционната система може да изпрати TRIM команда, а впоследствие контролерът да извърши garbage collection и други вътрешни операции.
Затова дори когато някаква информация все още физически съществува в NAND паметта, тя може да бъде:
- вече логически недостъпна;
- преместена;
- маркирана за изчистване;
- разпределена между различни NAND блокове;
- или достъпът до нея да изисква правилното възстановяване на вътрешните транслационни структури.
Точно тук стандартният recovery софтуер достига своите граници.
Защо е необходима специализирана апаратура?
Професионалното възстановяване на данни не се свежда до това да включим носителя към USB/ SATA/NVMe интерфейс и да стартираме програма.
В сложните случаи е необходимо да се работи на по-ниско ниво – с контролера, firmware структурите, транслационните таблици и самите физически носители на информацията.
Специализираната апаратура и софтуер позволяват да се извършват операции, които обикновените recovery програми не могат да изпълнят – например контролирано извличане на информация, работа с проблемни области, анализ на firmware/translation структури и реконструкция на логическия адресен слой.
При SSD това може да включва и работа директно с NAND паметта, когато стандартният интерфейс вече не предоставя надежден достъп до информацията.
Най-важното е не просто да имаш апаратура, а да знаеш какво правиш
Специализираната апаратура сама по себе си не е достатъчна.
При неправилна последователност на действията може да бъде променена информация, която е необходима за възстановяването. Може да се стартират вътрешни процеси на устройството, да се промени firmware състояние или да се предизвикат допълнителни операции върху NAND паметта.
Затова възстановяването на данни е комбинация от:
знания + опит + правилна диагностика + специализирана апаратура + правилен метод на работа.
Това е и причината при сериозна повреда да не е добра идея носителят да бъде многократно включван, форматиран, инициализиран или подлаган на различни „пробни“ recovery програми.
Файловете, които виждате, не винаги са данните, които можете да получите
Това е може би най-важният принцип при съвременните носители. Възможно е софтуерът да покаже:
име на файл → размер → дата → директория
и въпреки това съдържанието на файла да не може да бъде извлечено.
Файловата система може да е частично четима, докато реалните data blocks са недостъпни или неправилно трансформирани от вътрешния translation layer.
Затова при диагностика трябва да се прави разлика между наличие на метаданни и реален достъп до съдържанието.
Когато данните са важни, не експериментирайте
При повреден SSD или HDD първата цел не трябва да бъде „да видим дали някоя програма ще го прочете“.
Първата цел трябва да бъде да не се влоши състоянието на носителя и да се запази максимално възможността за професионално възстановяване.
При съвременните устройства често няма втори шанс.
Една неправилна операция може да промени именно информацията, която е необходима за реконструкцията на данните.
Възстановяването на данни е специализирана дейност. Когато носителят е сериозно повреден, въпросът не е коя програма да използваме, а дали разполагаме с правилните знания, методика и апаратура, за да достигнем до реалните данни.





