Восстановление данных с SSD дисков. Инструкция по восстановлению данных с SSD диска

Две любопытные исследовательские статьи из разных концов планеты, опубликованные в Сети практически сразу друг за другом, дают существенно новый взгляд на криминалистические аспекты в работе SSD, или твёрдотельных устройств хранения данных, часто именуемых флэш-драйвами.
Внутренние механизмы работы SSD настолько существенно отличаются от традиционных накопителей на жёстких магнитных дисках, что криминалисты уже не могут опираться на нынешние технологии хранения данных в тех ситуациях, когда улики с носителей типа SSD фигурируют в судебных разбирательствах.
С другой стороны, фрагменты данных, хранимых в памяти флэш-драйвов, могут оказываться практически неуничтожаемыми.

Восстановить нельзя

Примерно к этому сводится суть предупреждения в итогах исследовательской статьи учёных из австралийского Университета Мердока («Solid State Drives: The Beginning of the End for Current Practice in Digital Forensic Discovery» by Graeme B. Bell and Richard Boddington, PDF).

В основу исследования была положена большая серия экспериментов по сравнению нюансов хранения данных у изучаемых образцов: флэш-драйва Corsair 64GB SSD и традиционного магнитного диска Hitachi 80GB. При сравнительном анализе исследователи выявили в SSD целый букет проблем с восстановлением данных. Проблем, совершенно не свойственных магнитным дискам и вызванных алгоритмами очистки или «сбора мусора», применяемыми для поддержания флэш-драйвов на уровне максимальной производительности.

Под действием этих алгоритмов важные для следствия данные, хранимые на современных SSD, зачастую становятся объектом процесса, получившего среди криминалистов название «самокоррозия». Результатом этого процесса становится то, что улики на SSD непрерывно стираются или загрязняются посторонними данными - таким способом, который совершенно не свойственен носителям на базе жёстких магнитных дисков. И, что принципиально важно, все эти перемены с информацией происходят при отсутствии каких-либо команд от пользователя или от компьютера.

Результаты австралийских исследователей неизбежно порождают сомнения в целостности и достоверности тех файлов, которые изолируют криминалистическими методами и извлекают из устройств хранения. Можно даже сказать, что обозначилась отчётливая угроза окончания того «золотого века» в сборе цифровых улик, что был обеспечен особенностями хранения данных на магнитных носителях.

На протяжении нескольких последних десятилетий следователи работали с магнитными лентами, флоппи- и жёсткими дисками, которые стабильно продолжали хранить гигантские объёмы информации после того, как файлы, которые всё это содержали, были помечены системой как уничтоженные. Даже процедура безопасной зачистки (wiping), как известно специалистам, далеко не всегда бывает достаточной для полного уничтожения информации на магнитном носителе. Однако в твёрдотельных дисках SSD данные хранятся существенно иначе - в виде блоков или страниц транзисторных чипов логики NAND, которые необходимо электронным образом стирать, прежде чем их можно использовать повторно.

Результатом работы индустрии над повышением эффективности памяти SSD стало то, что большинство современных флэш-драйвов имеют встроенные в прошивку программы, которые регулярно и автоматически выполняют процедуры «самоочищения» или «сбора мусора». В результате этих санитарных процедур происходят постоянное затирание, изменение и перенос тех файлов, которые помечены системой как уничтоженные. Причем процесс этот начинается без всякого уведомления и очень быстро, почти сразу после подачи на чип питания. От пользователя не требуется никаких команд, а флэш-драйв при этом не издает никаких звуковых или световых сигналов, чтобы проинформировать пользователя о начале процедуры очистки.

При тестировании конкретного образца, после того как он был подвергнут быстрому форматированию, исследователи ожидали, что утилита очистки начнёт работать примерно минут через 30-60, полагая, что этот процесс должен происходить с SSD перед тем, как новые данные начнут записываться в блоки, прежде занятые файлами. К их удивлению, зачистка произошла всего три минуты спустя, после чего всего лишь 1064 файла улик от общего числа 316 666 остались доступными для восстановления с диска.

Решив проследить этот процесс дальше, ученые вынули флэш-диск из компьютера и подключили его к блокиратору записи - аппаратному устройству, специально предназначенному для изоляции от всех процедур, способных изменить содержимое носителя. Но и здесь всего через 20 минут после подключения почти 19 процентов всех файлов было затёрто из-за внутренних процессов, которые инициирует прошивка самого SSD без каких-либо внешних команд. Для сравнения можно отметить, что на эквивалентном магнитном жёстком диске все данные после аналогичного форматирования оставались восстановимыми вне зависимости от прошедшего времени - как и ожидалось исследователями.

Понятно, что для криминалистов, озабоченных сохранностью всех данных на носителе, эта особенность SSD представляет большую проблему. Как пишет в комментарии к их статье один из соавторов, Грэм Белл, «несколько человек в сообществе компьютерных криминалистов имели представление о том, что с данными в SSD происходят какие-то забавные вещи, однако почти все, кому мы показывали наши результаты, были шокированы масштабами того, что обнаружилось».

Если «сбор мусора» в SSD происходит перед или во время криминалистической процедуры снятия образа, то это приводит к необратимому уничтожению потенциально крупных массивов ценных данных. Тех данных, которые в обычном случае были бы получены как улики в ходе следственного процесса, откуда родился новый термин - «коррозия улик».

Нет сомнений, что открытия австралийских специалистов неизбежно будут иметь серьёзные последствия для тех уголовных и гражданских судебных дел, которые опираются на цифровые свидетельства. Если диск, с которого были получены улики, имеет признаки того, что с данными происходили изменения после изъятия устройства у владельца, то оппонирующая сторона получает основания потребовать исключения этих свидетельств из судебного рассмотрения.

Авторы статьи также предупреждают, что по мере роста ёмкости USB-флэшек изготовители могут начать встраивать аналогичные технологии очистки и в них, порождая ту же самую проблему и для массива вторичных (внешних) носителей информации. Кроме того, Белл и Боддингтон предполагают, что утилиты «сбора мусора» со временем будут становиться всё более агрессивными - по мере того, как изготовители внедряют всё более и более мощные в своей функциональности прошивки, чипсеты и большего объёма диски.

В итоговом заключении статьи, содержащем 18 пунктов проблемы, исследователи не предлагают никаких методов лечения, полагая, что простого и эффективного решения для этой проблемы не существует.

Стереть нельзя

Если говорить о другой американской исследовательской статье, также посвящённой специфическим особенностям хранения данных в SSD, то на первый взгляд её результаты кажутся явно конфликтующими с теми, что получены австралийцами. Здесь команда исследователей пришла к совершенно иному открытию: фрагменты данных, хранимых в памяти флэш-драйвов, могут оказываться практически неуничтожаемыми.

Как демонстрируют авторы этой статьи, флэш-драйвы очень трудно очистить от чувствительных к компрометации данных, используя традиционные методы безопасного затирания файлов и дисков. Даже в тех случаях, когда устройства SSD показывают, что файлы уничтожены, до 75 процентов данных, в них содержавшихся, могут всё ещё находиться в памяти флэш-драйвов. В частности, в некоторых случаях, когда твёрдотельные диски свидетельствуют, будто файлы «безопасно стёрты», на самом деле их дубликаты остаются в значительной степени нетронутыми во вторичных местоположениях.

Таковы, вкратце, выводы исследования, проведённого в Калифорнийском университете Сан-Диего и представленного в последних числах февраля на конференции Usenix FAST 11 («Reliably Erasing Data From Flash-Based Solid State Drives» by Michael Wei, Laura Grupp, Frederick Spada, Steven Swanson. PDF).

Проблемы с надёжным затиранием данных на SSD, как пишут авторы работы, происходят из-за радикально иной внутренней конструкции носителя. Традиционные приводы типа ATA и SCSI используют намагничиваемые материалы для записи информации в конкретное физическое место, известное как LBA или адрес логического блока. В дисках SSD, с другой стороны, для цифрового хранения используются чипы, для управления контентом применяющие FTL или «слой флэш-трансляции». Когда данные в таком носителе модифицируются, то FTL часто записывает новые файлы в разные места, попутно обновляя карту распределения памяти для отражения сделанных перемен. Результатом таких манипуляций становится то, что остатки от прежних файлов, которые авторы именуют «цифровыми останками», в виде неконтролируемых дубликатов продолжают сохраняться на диске.

Как пишут авторы, «эти различия в обработке между магнитными дисками и SSD потенциально ведут к опасным расхождениям между ожиданиями пользователя и реальным поведением флэш-драйва… Владелец такого устройства может применять к SSD стандартные средства очистки жёстких дисков, ошибочно полагая, будто в результате данные на диске будут необратимо уничтожены. На самом деле эти данные могут оставаться на диске и требуют лишь несколько более сложных операций по их восстановлению».

Если говорить о конкретных цифрах, то исследователи установили, что порядка 67 процентов данных, хранившихся в файле, остались на диске даже после того, как он был уничтожен в SSD с использованием функции «безопасного стирания», имеющейся в системе Apple Mac OS X. Другие утилиты безопасного (с перезаписью) стирания в условиях других операционных систем показали примерно похожие результаты. Например, после уничтожения отдельных файлов программой Pseudorandom Data на SSD могло оставаться до 75 процентов данных, а при использовании британской правительственной технологии зачистки British HMG IS5 оставалось до 58процентов.

Как предупреждает статья, эти результаты свидетельствуют: в ситуации с SSD перезаписывание данных оказывается неэффективным, а стандартные процедуры стирания, предоставляемые изготовителями, могут не срабатывать надлежащим образом.

По мнению исследователей, наиболее эффективным способом для безопасного удаления данных в условиях SSD оказывается использование устройств, шифрующих своё содержимое. Здесь процедура Wiping сводится к уничтожению ключей шифрования в специальном разделе, именуемом «хранилищем ключей», - по сути гарантируя, что данные останутся на диске навсегда зашифрованными.

Но тут, конечно же, подстерегает другая проблема. Как пишут авторы статьи, «опасность заключается в том, что защита опирается на правильную работу контроллера, очищающего внутренний отсек хранения, содержащий криптоключ и любые другие производные от него величины, которые могут быть полезны при криптоанализе. Принимая во внимание те ошибки реализации, которые мы обнаружили в некоторых вариантах утилит безопасного стирания, было бы неоправданно оптимистичным подразумевать, что поставщики SSD правильно зачистят хранилище ключей. Хуже того, здесь нет никакого способа (например, разобрав устройство) удостовериться, что стирание действительно произошло».

Свои результаты исследователи получали путём записи на диски SSD разных файлов с хорошо идентифицируемыми структурами данных. После чего использовалось специальное устройство на основе FPGA (чипов с перепрограммируемой логикой) для быстрого поиска и выявления оставшихся «отпечатков» этих файлов после применения процедур безопасного стирания. Спецустройство исследователей стоит около тысячи долларов, однако «более простая версия аппарата на основе микроконтроллера стоила бы порядка 200 долларов и потребовала бы лишь наличия скромного технического опыта для его конструирования».
Противоречия нет

Как сформулировали совокупные итоги двух этих статей на дискуссионном форуме Slashdot, «или диски SSD действительно трудно зачистить, или же с них действительно очень трудно восстановить удалённые файлы. Получается какая-то запутанная история»…

Один из непосредственных участников первого (австралийского) исследования, Грэм Белл, объясняет этот кажущийся парадокс следующим образом.

Прежде данные на дисках традиционно зачищали вручную, то есть в явном виде отдавая компьютеру команду, чтобы он велел приводу записать что-то другое поверх прежних данных. Если такой команды на перезапись не поступало, то в магнитных носителях данные продолжали сохраняться. Однако если тот же самый трюк пытаться применять к SSD, то он может не срабатывать. Тот логический адрес памяти, что вы пытаетесь перезаписать, мог быть уже перераспределён на лету, так что ваша команда «перезаписать» идет к какой-нибудь другой физической ячейке памяти, а не к той, которая хранила данные раньше. С логической точки зрения всё это выглядит так, будто перезапись сработала: вы уже не сможете больше получить доступа к этим данным через ОС вашего компьютера. Однако с точки зрения самого флэш-драйва эти данные всё ещё там, спрятанные в какой-нибудь физической ячейке, которая в данное время не используется, если подразумевать соответствующий логический сектор. Однако какая-нибудь хитроумная прошивка или ушлый хакер с паяльником в принципе может до этих данных добраться.

В то же время отдельно от этих особенностей современные носители SSD используют разные специфические трюки для того, чтобы автоматически повышать свою производительность. Один из этих трюков заключается в заблаговременном затирании ячеек памяти, в которых содержатся данные, более уже не учитываемые файловой системой. В этом случае привод сам активно пытается непрерывно очищать с диска всё, что только может. Причём делает это всё исключительно по собственной инициативе - просто ради ускорения будущих операций записи, предоставляя заранее заготовленный пул доступных и ни подо что не задействованных ячеек.

Подводя итог этим особенностям SSD, можно констатировать следующее. Если ваш компьютер говорит флэш-драйву обнулить некие данные, то привод может вам соврать и в действительности обнуление, может, и будет, а может, и нет. Если же сам привод хочет что-нибудь затереть (причём он реально это делает и без всякого предупреждения), то эти данные будут уничтожены…

Ещё один из комментаторов, явно не лишённый чувства юмора, охарактеризовал столь замысловатую ситуацию такими словами:

«Почему вы называете это путаницей? Здесь всё прозрачно и понятно. Если вы хотите восстановить удалённые данные, то сделать этого вы не можете. Если вы хотите их уничтожить, то и этого сделать вы не можете. Это такой Закон Мёрфи для хранения данных на SSD».

Существует общепринятая точка зрения, что невозможно восстановить данные на твердотельном накопителе, что сделать это можно только на обычном жёстком диске. Но это касается только встроенных носителей. Файлы на USB-флеш-накопителях и внешних твердотельных накопителях (SSD) подлежат восстановлению, что зачастую воспринимается в качестве уязвимости в защите личной информации.

Но, с другой стороны, это хорошо. На таких устройствах можно восстановить случайно удалённые файлы, что, само собой, является полезным свойством. С другой стороны, этим могут воспользоваться посторонние люди для получения доступа к конфиденциальным сведениям.

Почему нельзя восстановить удалённые файлы со встроенного SSD

Причина, по которой файлы можно восстановить на обычном встроенном в компьютер жёстком диске, очень проста. Когда вы удаляете с такого диска файл, то он по большому счёту не удаляется. Эти данные остаются на жёстком диске, просто отмечаются системой как удалённые. Операционная система сохраняет информацию до того момента, пока ей не понадобится больше пространства на диске для сохранения других данных.

Для операционной системы нет смысла мгновенно очищать сектора, так как это сделает процесс удаления файлов более длительным. А запись информации в ранее использованный сектор занимает столько же времени, как и запись информации в пустой сектор. Из-за большого количества таких удалённых данных, программы для восстановления данных могут просканировать жёсткий диск на наличие незадействованного пространства и восстановить информацию, которая ещё не перезаписана.

SSD-диски работают по-другому. Прежде чем любые данные запишутся в ячейку флеш-памяти, такая ячейка предварительно очищается. Новые приводы изначально пусты, и запись на них происходит максимально быстро. На заполненном диске со множеством удалённых файлов процесс записи происходит медленнее, так как каждая ячейка должна быть очищена, прежде чем на неё будет производиться запись. Это значит, что со временем SSD-диск будет становиться медленнее. Для того, чтобы избежать этого, была введена TRIM .

TRIM (англ. to trim - подрезать) - команда интерфейса ATA , позволяющая операционной системе уведомить твердотельный накопитель о том, какие блоки данных уже не содержатся в файловой системе и могут быть использованы накопителем для физического удаления.

Когда операционная система удаляет файлы со встроенного SSD, она обращается к команде TRIM, и та мгновенно удаляет данные сектора. Это ускоряет процесс записи в будущем и делает восстановление данных на таком диске практически невозможным.

TRIM работает только со встроенными дисками

Итак, считается, что невозможно восстановить файлы на SSD-диске. Но это не так, потому что есть один очень важный нюанс: TRIM поддерживается только встроенными (внутренними) дисками. Она не поддерживается интерфейсами USB или FireWire. Другими словами, когда вы удаляете файл с флешки, внешнего SSD, SD-карты памяти или твердотельного накопителя другого типа, система просто отмечает его как удалённый и он может быть восстановлен.

Это значит, что на любых внешних дисках можно восстановить данные таким же образом, как и на обычном HDD-диске. Фактически такие носители ещё более уязвимы, чем обычный встроенный HDD, - их легче украсть. Их можно где-то оставить, одолжить или потерять.

Попробуйте сами

Можете попробовать сами. Возьмите флешку, подсоедините её к компьютеру и скопируйте на неё файлы. Удалите эти файлы и запустите программу для восстановления удалённых данных. Просканируйте с её помощью вашу флешку, и программа увидит все удалённые файлы и предложит их восстановить.


Программа нашла удалённые файлы с помощью быстрого сканирования

Быстрое форматирование не поможет

А как же форматирование? Отформатируем флешку, и ничего не восстановится! Ведь форматирование удаляет все файлы на носителе и создаёт новую файловую систему.

Чтобы проверить это, отформатируем нашу флешку с помощью установленного по умолчанию быстрого форматирования. Да, действительно, с помощью быстрого сканирования Hetman Partition Recovery не смогла обнаружить удалённые файлы. Но более глубокий полный анализ смог обнаружить большое количество удалённых файлов, которые были на флешке до её форматирования.


Быстрое форматирование не затирает диск

Убираем галочку с быстрого форматирования и форматируем заново. После этого программа затрудняется найти удалённые файлы.


Когда форматируете флешку, не забудьте убрать галочку с быстрого форматирования

Как убедиться в том, что удалённые файлы уже не могут быть восстановлены

Можно использовать такие решения для шифрования, как TrueCrypt , Microsoft BitLocker , встроенный инструмент Mac OS или Linux. Тогда никто не сможет восстановить удалённые файлы без ключа, и это защитит все файлы на носителе, в том числе и удалённые.

Но это важно только в том случае, если носитель используется для хранения важных данных. Если это флешка для прослушивания музыки в авто, то, понятное дело, шифровать её не обязательно.

TRIM - это функция, которая помогает получать максимальную производительность от встроенного SSD. Однако она не является средством безопасности. Многие думают, что она гарантирует безвозвратное удаление данных с любого твердотельного носителя. Это не так - можно восстановить данные на любом внешнем диске. Обязательно примите это во внимание, когда удаляете конфиденциальные или просто важные данные.

Приветствую всех Хабровчан!

Предлагаю сегодня немного поговорить о восстановлении информации с неисправных SSD накопителей. Но для начала, прежде, чем мы познакомимся с технологией спасения драгоценных кило- мега- и гигабайт, прошу обратить внимание на приведенную диаграмму. На ней мы попытались расположить наиболее популярные модели SSD согласно вероятности успешного восстановления данных с них.

Как нетрудно догадаться, с накопителями, расположенными в зеленой зоне, обычно возникает меньше всего проблем (при условии, что инженер обладает необходимым инструментарием, разумеется). А накопители из красной зоны способны доставить немало страданий как их владельцам, так и инженерам-восстановителям. В случае выхода из строя подобных SSD шансы вернуть назад потерянные данные на сегодняшний день слишком малы. Если ваш SSD расположен в красной зоне или рядом с ней, то я бы советовал делать backup перед каждой чисткой зубов.

Те, кто уже сегодня сделал backup, добро пожаловать под кат.

Тут следует сделать небольшую оговорку. Некоторые компании умеют чуть больше, некоторые чуть меньше. Результаты, проиллюстрированные на диаграмме, представляют из себя нечто среднее по индустрии по состоянию на 2015 год.

На сегодняшний день распространены два подхода к восстановлению данных с неисправных SSD.

Подход №1. Вычитывание дампов NAND flash микросхем

Решение задачи что называется в лоб. Логика проста. Пользовательские данные хранятся на микросхемах NAND flash памяти. Накопитель неисправен, но что, если сами микросхемы в порядке? В абсолютном большинстве случаев так и есть, микросхемы работоспособны. Часть данных, хранящихся на них, может быть повреждена, но сами микросхемы функционируют нормально. Тогда можно отпаять каждую микросхему от печатной платы накопителя и считать ее содержимое с помощью программатора. А после попробовать собрать логический образ накопителя из полученных файлов. Этот подход в настоящее время используется при восстановлении данных с usb flash накопителей и различных карт памяти. Сразу скажу, что работа эта не из благодарных.

Трудности могут возникнуть еще на этапе считывания. Микросхемы NAND flash памяти выпускаются в разных корпусах, и для конкретной микросхемы в комплекте с программатором может не оказаться нужного адаптера. Для таких случаев в комплекте обычно есть некоторый универсальный адаптер под распайку. Инженер вынужден, используя тонкие проводки и паяльник, соединить нужные ножки микросхемы с соответствующими контактами адаптера. Задача вполне решаемая, но требует прямых рук, определенных навыков и времени. Сам то я с паяльником знаком не близко, поэтому такая работа вызывает уважение.

Не будем также забывать, что в SSD таких микросхем будет скорее всего 8 или 16, и каждую придется распаять и считать. Да и сам процесс вычитывания микросхемы тоже быстрым не назовешь.
Ну а дальше остается только из полученных дампов собрать образ и дело в шляпе! Но тут то и начинается самое интересное. Не буду углубляться в подробности, опишу только основные задачи, которые предстоит решить инженеру и используемым им ПО.

Битовые ошибки

Природа микросхем NAND flash памяти такова, что в сохраненных данных непременно появляются ошибки. Отдельные ячейки памяти начинают читаться неверно, причем стабильно неверно. И это считается нормой ровно до тех пор пока количество ошибок внутри определенного диапазона не превысит некоторый порог. Для борьбы с битовыми ошибками используются коды коррекции (ECC). При сохранении пользовательских данных, накопитель предварительно делит блок данных на несколько диапазонов и каждому диапазону добавляет некоторые избыточные данные, которые позволяют обнаружить и исправить возможные ошибки. Количество ошибок, которые могут быть исправлены определяется мощностью кода.

Чем выше мощность кода, тем длиннее последовательность приписываемых байт. Процесс вычисления и добавления упомянутой последовательности называется кодированием, а исправления битовых ошибок - декодированием. Схемы кодирования и декодирования обычно аппаратно реализованы внутри контроллера накопителя. При выполнении команды чтения накопитель наряду с прочими операциями выполняет также исправление битовых ошибок. С полученными файлами дампов необходимо провести ту же процедуру декодирования. Для этого нужно определить параметры используемого кода.

Формат страниц микросхем памяти

Единицей чтения и записи у микросхем памяти выступает единица, именуемая страницей. Для современных микросхем размер страницы равен приблизительно 8 КБ или 4 КБ. Причем это значение не является степенью двойки, а немного больше. Т. е. внутри страницы можно разместить 4 или 8 КБ пользовательских данных и еще что-нибудь. Эту избыточную часть накопители используют для хранения кодов коррекции и некоторых служебных данных. Обычно страница поделена на несколько диапазонов. Каждый диапазон состоит из области пользовательских данных (UA) и области служебных данных (SA). Последняя как раз и хранит внутри себя коды коррекции, которые защищают данный диапазон.

Все страницы имеют один и тот же формат, и для успешного восстановления необходимо определить каким диапазонам байт соответствуют пользовательские данные, а каким служебные.

Скремблирование VS Шифрование

Большинство современных SSD не хранят пользовательские данные в открытом виде, вместо этого они предварительно скремблируются или зашифровываются. Разница между этими двумя понятиями достаточно условна. Скремблирование - это некоторое обратимое преобразование. Основная задача этого преобразования получить из исходных данных нечто похожее на случайную последовательность бит. Данное преобразование не является криптостойким. Знание алгоритма преобразования позволяет без особого труда получить исходные данные. В случае с шифрованием знание одного лишь алгоритма ничего не дает. Необходимо также знать и ключ для расшифровки. Поэтому, если в накопителе используется аппаратное шифрование данных, и вам неизвестны параметры шифрования, то из считанных дампов данные восстановить не получится. Лучше даже не приступать к этой задаче. Благо большинство производителей честно признаются в том, что используют шифрование.

Более того, маркетологи сумели сделать из этой преступной (с точки зрения восстановления данных) функциональности опцию, которая якобы дает конкурентное преимущество над другими накопителями. И ладно если бы были отдельные модели для параноиков, в которых была бы качественно сделана защита от несанкционированного доступа. Но сейчас, видимо, настало время, когда отсутствие шифрования считается плохим тоном.
В случае со скремблированием дела обстоят не так печально. В накопителях оно реализовано как побитовая операция XOR (сложение по модулю 2, исключающее «ИЛИ») , выполненная над исходными данными и некоторой сгенерированной последовательностью бит (XOR паттерном).

Часто эту операцию обозначают символом ⊕.

Поскольку
То для получения исходных данных необходимо произвести побитовое сложение прочитанного буфера и XOR паттерна:

(X ⊕ Key) ⊕ Key = X ⊕ (Key ⊕ Key) = X ⊕ 0 = X

Остается определить XOR паттерн. В самом простом случае для всех страниц применяется один и тот же XOR паттерн. Иногда накопитель генерирует длинный паттерн, скажем длиной в 256 страниц, тогда каждая из первых 256 страниц микросхемы складывается со своим куском паттерна, и так повторяется для следующих групп из 256 страниц. Но бывают случаи и посложнее. Когда для каждой страницы индивидуально генерируется свой паттерн на основании какого-то закона. В таких случаях помимо прочего нужно еще попытаться разгадать этот закон, что уже, мягко скажем, непросто.

Сборка образа

После выполнения всех предварительных преобразований (исправление битовых ошибок, устранение скремблирования, определение формата страницы и, возможно, некоторых других) заключительным этапом идет сборка образа. В силу того, что количество циклов перезаписи для ячеек микросхемы ограничено, накопители вынуждены использовать механизмы выравнивания износа, чтобы продлить время жизни микросхем. Следствием этого является то, что пользовательские данные сохранены не последовательно, а хаотично разбросаны внутри микросхем. Очевидно, что накопителю необходимо как-то запоминать куда он сохранил текущий блок данных. Для этого он использует специальные таблицы и списки, которые так же хранит на микросхемах памяти. Множество этих структур принято называть транслятором. Вернее будет сказать, что транслятор это некая абстракция, которая отвечает за преобразования логических адресов (номера секторов) в физические (микросхема и страница).

Соответственно, чтобы собрать логический образ накопителя, необходимо разобраться с форматом и назначением всех структур транслятора, а также знать как их найти. Некоторые из структур являются достаточно объемными, поэтому накопитель не хранит ее целиком в одном месте, а она также оказывается кусками разбросана по разным страницам. В таких случаях должна быть структура, описывающая это распределение. Получается некий транслятор для транслятора. На этом обычно останавливаются, но можно пойти еще дальше.

Данный подход к восстановлению данных заставляет полностью эмулировать работу накопителя на низком уровне. Отсюда вытекают плюсы и минусы этого подхода.

Минусы:

  • Трудоемкость . Поскольку мы полностью эмулируем работу накопителя, нам придется выполнить всю грязную работу за него.
  • Риск потерпеть фиаско . Если не удастся решить хотя бы одну из поставленных задач, то о восстановлении не может быть и речи. А вариантов много: невозможность прочитать микросхемы, потому что программатор их не поддерживает; неизвестные коды коррекции; неизвестный XOR паттерн; шифрование; неизвестный транслятор
  • Риск еще больше угробить накопитель . Помимо трясущихся рук риском является сам нагрев микросхем памяти. Для изношенных микросхем это может привести к появлению дополнительного числа битовых ошибок.
  • Время и стоимость работ
Плюсы:
  • Широкий круг задач . Все, что нужно от накопителя, это работающие микросхемы памяти. Неважно в каком состоянии остальные элементы.

Подход №2. Технологический режим

Очень часто разработчики SSD помимо реализации работы накопителя согласно спецификации наделяют его также дополнительной функциональностью, которая позволяет протестировать работу отдельных подсистем накопителя и изменить ряд конфигурационных параметров. Команды накопителю, позволяющие это сделать, принято называть технологическими. Они также оказываются весьма полезными при работе с неисправными накопителями, повреждения которых носят программный характер.

Как уже было сказано выше, со временем в микросхемах памяти неизбежно появляются битовые ошибки. Так вот, согласно статистике, причиной выхода из строя SSD в большинстве случаев является появление некорректируемых битовых ошибок в служебных структурах. То есть на физическом уровне все элементы работают нормально. Но SSD не может корректно инициализироваться из-за того, что одна из служебных структур повреждена. Такая ситуация разными моделями SSD обрабатывается по-разному. Некоторые SSD переходят в аварийный режим работы, в котором функциональность накопителя значительно урезана, в частности, на любые команды чтения или записи накопитель возвращает ошибку. Часто при этом, чтобы как-то просигнализировать о поломке, накопитель меняет некоторые свои паспортные данные. Например, Intel 320 series вместо своего серийного номера возвращает строку с кодом ошибки. Наиболее часто встречаются неисправности из серии «BAD_CTX %код ошибки%”.

В таких ситуациях очень кстати оказывается знание технологических команд. С помощью них можно проанализировать все служебные структуры, также почитать внутренние логи накопителя и попытаться выяснить, что же все таки пошло не так в процессе инициализации. Собственно скорее всего для этого и были добавлены техно-команды, чтобы производитель имел возможность выяснить причину выхода из строя своих накопителей и попытаться что-то улучшить в их работе. Определив причину неисправности, можно попытаться ее устранить и вновь вернуть накопитель к жизни. Но все это требует по-настоящему глубинных знаний об архитектуре устройства. Под архитектурой здесь я в большей степени понимаю микропрограмму накопителя и служебные данные, которыми она оперирует. Подобным уровнем знаний обладают разве что сами разработчики. Поэтому, если Вы к ним не относитесь, то Вы либо должны обладать исчерпывающей документацией на накопитель, либо Вам придется потратить изрядное количество часов на изучение данной модели. Понятное дело разработчики не спешат делиться своими наработками и в свободном доступе таких документаций нет. Говоря откровенно, я вообще сомневаюсь, что такие документации существуют.

В настоящее время производителей SSD слишком много, а новые модели появляются слишком часто, и на детальное изучение не остается времени. Поэтому практикуется немного другой подход.

Среди технологических команд очень полезными оказываются команды, позволяющие читать страницы микросхем памяти. Таким образом можно считать целиком дампы через SATA интерфейс накопителя, не вскрывая корпус SSD. Сам накопитель в таком случае выступает в роли программатора микросхем NAND flash памяти. В принципе, подобные действия даже не должны нарушать условий гарантии на накопитель.

Часто обработчики техно-команд чтения микросхем памяти реализованы так, что есть возможность оставить исправление битовых ошибок, а иногда и расшифровку данных , на стороне накопителя. Что, в свою очередь, значительно облегчает процесс восстановления данных. По сути остается только разобраться с механизмами трансляции и, можно сказать, решение готово.

На словах то оно, кончено, все просто звучит. Но на разработку подобных решений уходит немало человеко-часов. И в результате мы добавляем в поддержку всего одну модель SSD.

Но зато сам процесс восстановления данных упрощается колоссально! Имея подобную утилиту, остается только подключить накопитель к компьютеру и запустить эту утилиту, которая с помощью техно-команд и анализа служебных структур построит логический образ. Дальше остается только анализ разделов и файловых систем. Что тоже может быть непростой задачей. Но в большинстве случаев построенный образ без особого труда позволяет восстановить большую часть пользовательских данных.

Минусы:

  • Сложность и стоимость разработки . Достаточно немногие компании могут себе позволить содержать свой отдел разработок и проводить подобного рода исследования.
  • Решения индивидуальны .
  • Ограниченный круг задач . Не ко всем накопителям применим данный подход. SSD должен быть физически исправен. Также, редко, но все же бывает, что повреждения некоторых служебных структур, исключает возможность восстановления пользовательских данных.
Плюсы:
  • Простота .
  • В некоторых случаях позволяет обойти шифрование . По сути подход к восстановлению данных с помощью технологических команд на сегодняшний день является единственным известным способом восстановить данные с некоторых накопителей, использующих аппаратное шифрование данных.

Заключение

На войне все средства хороши. Но лично я отдаю предпочтение второму подходу как более тонкому инструменту. И наиболее перспективному, поскольку все более широкое распространение аппаратного шифрования исключает возможность восстановления информации с „сырых“ дампов микросхем. Однако и у первого подхода есть своя ниша задач. По большому счету это те задачи, которые нельзя решить с использованием технологических функций накопителя. В первую очередь это накопители с аппаратной неисправностью, и при этом нет возможности определить поврежденный элемент, или характер повреждений исключает ремонт. И браться за дело рекомендуется только в том случае, если уже есть успешный опыт восстановления информации с подобной модели SSD, или есть информация о решении. Необходимо знать, с чем придется столкнуться: используется ли шифрование или скремблирование, какой XOR паттерн вероятнее всего используется, известен ли формат транслятора (есть ли сборщик образа). В противном случае шансы на успех невелики, по крайней мере оперативно решить задачу не получится. К тому же нагрев негативно влияет на изношенные микросхемы памяти, в результате чего могут появиться дополнительные битовые ошибки, которые, в свою очередь, могут привнести свою ложку дегтя в последующем.

На этом пока все. Берегите себя! И да хранит ваши данные backup!

Приветствую всех Хабровчан!

Предлагаю сегодня немного поговорить о восстановлении информации с неисправных SSD накопителей. Но для начала, прежде, чем мы познакомимся с технологией спасения драгоценных кило- мега- и гигабайт, прошу обратить внимание на приведенную диаграмму. На ней мы попытались расположить наиболее популярные модели SSD согласно вероятности успешного восстановления данных с них.

Как нетрудно догадаться, с накопителями, расположенными в зеленой зоне, обычно возникает меньше всего проблем (при условии, что инженер обладает необходимым инструментарием, разумеется). А накопители из красной зоны способны доставить немало страданий как их владельцам, так и инженерам-восстановителям. В случае выхода из строя подобных SSD шансы вернуть назад потерянные данные на сегодняшний день слишком малы. Если ваш SSD расположен в красной зоне или рядом с ней, то я бы советовал делать backup перед каждой чисткой зубов.

Те, кто уже сегодня сделал backup, добро пожаловать под кат.

Тут следует сделать небольшую оговорку. Некоторые компании умеют чуть больше, некоторые чуть меньше. Результаты, проиллюстрированные на диаграмме, представляют из себя нечто среднее по индустрии по состоянию на 2015 год.

На сегодняшний день распространены два подхода к восстановлению данных с неисправных SSD.

Подход №1. Вычитывание дампов NAND flash микросхем

Решение задачи что называется в лоб. Логика проста. Пользовательские данные хранятся на микросхемах NAND flash памяти. Накопитель неисправен, но что, если сами микросхемы в порядке? В абсолютном большинстве случаев так и есть, микросхемы работоспособны. Часть данных, хранящихся на них, может быть повреждена, но сами микросхемы функционируют нормально. Тогда можно отпаять каждую микросхему от печатной платы накопителя и считать ее содержимое с помощью программатора. А после попробовать собрать логический образ накопителя из полученных файлов. Этот подход в настоящее время используется при восстановлении данных с usb flash накопителей и различных карт памяти. Сразу скажу, что работа эта не из благодарных.

Трудности могут возникнуть еще на этапе считывания. Микросхемы NAND flash памяти выпускаются в разных корпусах, и для конкретной микросхемы в комплекте с программатором может не оказаться нужного адаптера. Для таких случаев в комплекте обычно есть некоторый универсальный адаптер под распайку. Инженер вынужден, используя тонкие проводки и паяльник, соединить нужные ножки микросхемы с соответствующими контактами адаптера. Задача вполне решаемая, но требует прямых рук, определенных навыков и времени. Сам то я с паяльником знаком не близко, поэтому такая работа вызывает уважение.

Не будем также забывать, что в SSD таких микросхем будет скорее всего 8 или 16, и каждую придется распаять и считать. Да и сам процесс вычитывания микросхемы тоже быстрым не назовешь.
Ну а дальше остается только из полученных дампов собрать образ и дело в шляпе! Но тут то и начинается самое интересное. Не буду углубляться в подробности, опишу только основные задачи, которые предстоит решить инженеру и используемым им ПО.

Битовые ошибки

Природа микросхем NAND flash памяти такова, что в сохраненных данных непременно появляются ошибки. Отдельные ячейки памяти начинают читаться неверно, причем стабильно неверно. И это считается нормой ровно до тех пор пока количество ошибок внутри определенного диапазона не превысит некоторый порог. Для борьбы с битовыми ошибками используются коды коррекции (ECC). При сохранении пользовательских данных, накопитель предварительно делит блок данных на несколько диапазонов и каждому диапазону добавляет некоторые избыточные данные, которые позволяют обнаружить и исправить возможные ошибки. Количество ошибок, которые могут быть исправлены определяется мощностью кода.

Чем выше мощность кода, тем длиннее последовательность приписываемых байт. Процесс вычисления и добавления упомянутой последовательности называется кодированием, а исправления битовых ошибок - декодированием. Схемы кодирования и декодирования обычно аппаратно реализованы внутри контроллера накопителя. При выполнении команды чтения накопитель наряду с прочими операциями выполняет также исправление битовых ошибок. С полученными файлами дампов необходимо провести ту же процедуру декодирования. Для этого нужно определить параметры используемого кода.

Формат страниц микросхем памяти

Единицей чтения и записи у микросхем памяти выступает единица, именуемая страницей. Для современных микросхем размер страницы равен приблизительно 8 КБ или 4 КБ. Причем это значение не является степенью двойки, а немного больше. Т. е. внутри страницы можно разместить 4 или 8 КБ пользовательских данных и еще что-нибудь. Эту избыточную часть накопители используют для хранения кодов коррекции и некоторых служебных данных. Обычно страница поделена на несколько диапазонов. Каждый диапазон состоит из области пользовательских данных (UA) и области служебных данных (SA). Последняя как раз и хранит внутри себя коды коррекции, которые защищают данный диапазон.

Все страницы имеют один и тот же формат, и для успешного восстановления необходимо определить каким диапазонам байт соответствуют пользовательские данные, а каким служебные.

Скремблирование VS Шифрование

Большинство современных SSD не хранят пользовательские данные в открытом виде, вместо этого они предварительно скремблируются или зашифровываются. Разница между этими двумя понятиями достаточно условна. Скремблирование - это некоторое обратимое преобразование. Основная задача этого преобразования получить из исходных данных нечто похожее на случайную последовательность бит. Данное преобразование не является криптостойким. Знание алгоритма преобразования позволяет без особого труда получить исходные данные. В случае с шифрованием знание одного лишь алгоритма ничего не дает. Необходимо также знать и ключ для расшифровки. Поэтому, если в накопителе используется аппаратное шифрование данных, и вам неизвестны параметры шифрования, то из считанных дампов данные восстановить не получится. Лучше даже не приступать к этой задаче. Благо большинство производителей честно признаются в том, что используют шифрование.

Более того, маркетологи сумели сделать из этой преступной (с точки зрения восстановления данных) функциональности опцию, которая якобы дает конкурентное преимущество над другими накопителями. И ладно если бы были отдельные модели для параноиков, в которых была бы качественно сделана защита от несанкционированного доступа. Но сейчас, видимо, настало время, когда отсутствие шифрования считается плохим тоном.
В случае со скремблированием дела обстоят не так печально. В накопителях оно реализовано как побитовая операция XOR (сложение по модулю 2, исключающее «ИЛИ») , выполненная над исходными данными и некоторой сгенерированной последовательностью бит (XOR паттерном).

Часто эту операцию обозначают символом ⊕.

Поскольку
То для получения исходных данных необходимо произвести побитовое сложение прочитанного буфера и XOR паттерна:

(X ⊕ Key) ⊕ Key = X ⊕ (Key ⊕ Key) = X ⊕ 0 = X

Остается определить XOR паттерн. В самом простом случае для всех страниц применяется один и тот же XOR паттерн. Иногда накопитель генерирует длинный паттерн, скажем длиной в 256 страниц, тогда каждая из первых 256 страниц микросхемы складывается со своим куском паттерна, и так повторяется для следующих групп из 256 страниц. Но бывают случаи и посложнее. Когда для каждой страницы индивидуально генерируется свой паттерн на основании какого-то закона. В таких случаях помимо прочего нужно еще попытаться разгадать этот закон, что уже, мягко скажем, непросто.

Сборка образа

После выполнения всех предварительных преобразований (исправление битовых ошибок, устранение скремблирования, определение формата страницы и, возможно, некоторых других) заключительным этапом идет сборка образа. В силу того, что количество циклов перезаписи для ячеек микросхемы ограничено, накопители вынуждены использовать механизмы выравнивания износа, чтобы продлить время жизни микросхем. Следствием этого является то, что пользовательские данные сохранены не последовательно, а хаотично разбросаны внутри микросхем. Очевидно, что накопителю необходимо как-то запоминать куда он сохранил текущий блок данных. Для этого он использует специальные таблицы и списки, которые так же хранит на микросхемах памяти. Множество этих структур принято называть транслятором. Вернее будет сказать, что транслятор это некая абстракция, которая отвечает за преобразования логических адресов (номера секторов) в физические (микросхема и страница).

Соответственно, чтобы собрать логический образ накопителя, необходимо разобраться с форматом и назначением всех структур транслятора, а также знать как их найти. Некоторые из структур являются достаточно объемными, поэтому накопитель не хранит ее целиком в одном месте, а она также оказывается кусками разбросана по разным страницам. В таких случаях должна быть структура, описывающая это распределение. Получается некий транслятор для транслятора. На этом обычно останавливаются, но можно пойти еще дальше.

Данный подход к восстановлению данных заставляет полностью эмулировать работу накопителя на низком уровне. Отсюда вытекают плюсы и минусы этого подхода.

Минусы:

  • Трудоемкость . Поскольку мы полностью эмулируем работу накопителя, нам придется выполнить всю грязную работу за него.
  • Риск потерпеть фиаско . Если не удастся решить хотя бы одну из поставленных задач, то о восстановлении не может быть и речи. А вариантов много: невозможность прочитать микросхемы, потому что программатор их не поддерживает; неизвестные коды коррекции; неизвестный XOR паттерн; шифрование; неизвестный транслятор
  • Риск еще больше угробить накопитель . Помимо трясущихся рук риском является сам нагрев микросхем памяти. Для изношенных микросхем это может привести к появлению дополнительного числа битовых ошибок.
  • Время и стоимость работ
Плюсы:
  • Широкий круг задач . Все, что нужно от накопителя, это работающие микросхемы памяти. Неважно в каком состоянии остальные элементы.

Подход №2. Технологический режим

Очень часто разработчики SSD помимо реализации работы накопителя согласно спецификации наделяют его также дополнительной функциональностью, которая позволяет протестировать работу отдельных подсистем накопителя и изменить ряд конфигурационных параметров. Команды накопителю, позволяющие это сделать, принято называть технологическими. Они также оказываются весьма полезными при работе с неисправными накопителями, повреждения которых носят программный характер.

Как уже было сказано выше, со временем в микросхемах памяти неизбежно появляются битовые ошибки. Так вот, согласно статистике, причиной выхода из строя SSD в большинстве случаев является появление некорректируемых битовых ошибок в служебных структурах. То есть на физическом уровне все элементы работают нормально. Но SSD не может корректно инициализироваться из-за того, что одна из служебных структур повреждена. Такая ситуация разными моделями SSD обрабатывается по-разному. Некоторые SSD переходят в аварийный режим работы, в котором функциональность накопителя значительно урезана, в частности, на любые команды чтения или записи накопитель возвращает ошибку. Часто при этом, чтобы как-то просигнализировать о поломке, накопитель меняет некоторые свои паспортные данные. Например, Intel 320 series вместо своего серийного номера возвращает строку с кодом ошибки. Наиболее часто встречаются неисправности из серии «BAD_CTX %код ошибки%”.

В таких ситуациях очень кстати оказывается знание технологических команд. С помощью них можно проанализировать все служебные структуры, также почитать внутренние логи накопителя и попытаться выяснить, что же все таки пошло не так в процессе инициализации. Собственно скорее всего для этого и были добавлены техно-команды, чтобы производитель имел возможность выяснить причину выхода из строя своих накопителей и попытаться что-то улучшить в их работе. Определив причину неисправности, можно попытаться ее устранить и вновь вернуть накопитель к жизни. Но все это требует по-настоящему глубинных знаний об архитектуре устройства. Под архитектурой здесь я в большей степени понимаю микропрограмму накопителя и служебные данные, которыми она оперирует. Подобным уровнем знаний обладают разве что сами разработчики. Поэтому, если Вы к ним не относитесь, то Вы либо должны обладать исчерпывающей документацией на накопитель, либо Вам придется потратить изрядное количество часов на изучение данной модели. Понятное дело разработчики не спешат делиться своими наработками и в свободном доступе таких документаций нет. Говоря откровенно, я вообще сомневаюсь, что такие документации существуют.

В настоящее время производителей SSD слишком много, а новые модели появляются слишком часто, и на детальное изучение не остается времени. Поэтому практикуется немного другой подход.

Среди технологических команд очень полезными оказываются команды, позволяющие читать страницы микросхем памяти. Таким образом можно считать целиком дампы через SATA интерфейс накопителя, не вскрывая корпус SSD. Сам накопитель в таком случае выступает в роли программатора микросхем NAND flash памяти. В принципе, подобные действия даже не должны нарушать условий гарантии на накопитель.

Часто обработчики техно-команд чтения микросхем памяти реализованы так, что есть возможность оставить исправление битовых ошибок, а иногда и расшифровку данных , на стороне накопителя. Что, в свою очередь, значительно облегчает процесс восстановления данных. По сути остается только разобраться с механизмами трансляции и, можно сказать, решение готово.

На словах то оно, кончено, все просто звучит. Но на разработку подобных решений уходит немало человеко-часов. И в результате мы добавляем в поддержку всего одну модель SSD.

Но зато сам процесс восстановления данных упрощается колоссально! Имея подобную утилиту, остается только подключить накопитель к компьютеру и запустить эту утилиту, которая с помощью техно-команд и анализа служебных структур построит логический образ. Дальше остается только анализ разделов и файловых систем. Что тоже может быть непростой задачей. Но в большинстве случаев построенный образ без особого труда позволяет восстановить большую часть пользовательских данных.

Минусы:

  • Сложность и стоимость разработки . Достаточно немногие компании могут себе позволить содержать свой отдел разработок и проводить подобного рода исследования.
  • Решения индивидуальны .
  • Ограниченный круг задач . Не ко всем накопителям применим данный подход. SSD должен быть физически исправен. Также, редко, но все же бывает, что повреждения некоторых служебных структур, исключает возможность восстановления пользовательских данных.
Плюсы:
  • Простота .
  • В некоторых случаях позволяет обойти шифрование . По сути подход к восстановлению данных с помощью технологических команд на сегодняшний день является единственным известным способом восстановить данные с некоторых накопителей, использующих аппаратное шифрование данных.

Заключение

На войне все средства хороши. Но лично я отдаю предпочтение второму подходу как более тонкому инструменту. И наиболее перспективному, поскольку все более широкое распространение аппаратного шифрования исключает возможность восстановления информации с „сырых“ дампов микросхем. Однако и у первого подхода есть своя ниша задач. По большому счету это те задачи, которые нельзя решить с использованием технологических функций накопителя. В первую очередь это накопители с аппаратной неисправностью, и при этом нет возможности определить поврежденный элемент, или характер повреждений исключает ремонт. И браться за дело рекомендуется только в том случае, если уже есть успешный опыт восстановления информации с подобной модели SSD, или есть информация о решении. Необходимо знать, с чем придется столкнуться: используется ли шифрование или скремблирование, какой XOR паттерн вероятнее всего используется, известен ли формат транслятора (есть ли сборщик образа). В противном случае шансы на успех невелики, по крайней мере оперативно решить задачу не получится. К тому же нагрев негативно влияет на изношенные микросхемы памяти, в результате чего могут появиться дополнительные битовые ошибки, которые, в свою очередь, могут привнести свою ложку дегтя в последующем.

На этом пока все. Берегите себя! И да хранит ваши данные backup!

Читайте о проблемах восстановление SSD дисков . Физическое затирание удаленных файлов командой TRIM и случаи когда она не сработает. Сегодня твердотельные накопители (англ. SSD ), становятся все популярнее и уже часто приходят на смену традиционным жестким дискам . Часто используемые в роли системных дисков, SSD-накопители хранят операционную систему, приложения, а также все или большую часть файлов пользователя, среди которых документы, настройки, веб-браузеры, электронная почта и многое другое.

Содержание:

Благодаря тому, что в конструкции SSD-накопителей нет подвижных деталей, они считаются более надежными, нежели их механические аналоги. Однако, ошибки пользователя, вирусные атаки и выход из строя операционной системы также представляют определенную угрозу целостности данных на этих накопителях. С удаленными файлами, случайно отформатированными дисками, поврежденными разделами таблиц данных и поврежденными системными файлами обладатели SSD-накопителей сталкиваются также часто, как и те, у кого установлен обычный жесткий диск.

Возможно ли восстановить SSD?

Ситуация с восстановлением данных с SSD-диска существенно отличается от того, к чему мы привыкли пользуясь обычными жесткими дисками . Не всегда можно восстановить удаленную информацию с SSD-накопителя, но вместе с тем, и не всегда это невозможно.

Давайте рассмотрим различные ситуации и выясним, что, все-таки, можно сделать, если воспользоваться для восстановления специальной программой Hetman Partition Recovery .

Восстановление файлов с SSD

В абсолютном большинстве случаев файлы, которые были удалены с SSD-накопителя, восстановить не удастся. Возможно, это утверждение отличается от того, что вы хотели бы услышать, но отличительной чертой твердотельного накопителя, не присущей другим традиционным устройствам, является TRIM – специальная команда интерфейса АТА, которая заставляет твердотельный контроллер в буквальном смысле физически очищать блоки данных, которые ранее использовались для того, чтобы сохранять удаленные файлы.

Другими словами, контроллер получит команду в тот самый момент, как только вы удалите файл. Конечно, непосредственное удаление информации не происходит мгновенно, но современные SSD-контроллеры разработаны таким образом, чтобы сообщать о том, что блок данных пуст, сразу, как только поступила команда об удалении, даже, если непосредственная очистка блока данных будет произведена немного позже.

Скорость работы SSD-накопителей Corsair, Kingmax, Kingston, PQI и т.д. практически одинакова. В независимости от производителя можно утверждать, что факт выполнения команды TRIM практически 100% гарантирует удаление файлов.

Можно ли что-то с этим сделать? На самом деле сделать можно не много. Впрочем, и из этого правила есть исключения. Если команда TRIM не была выполнена, если данная опция не поддерживается диском, операционной системой или же интерфейсом между компьютером и SSD-накопителем, вы сможете восстановить файлы, как если бы они были сохранены на обычном диске.

На сегодняшний день большинство SSD-накопителей поддерживают функцию TRIM. Однако текущая версия операционной системы MacOS, не работает с этой командой, соответственно, вы можете восстановить файлы, удаленные с Mac PC. А также возможно восстановить файлы с более старых версий Windows (те, что были до Windows Vista), которые тоже не поддерживают TRIM. Ну и, наконец, функция TRIM не поддерживается при работе с USB и FireWire протоколами, поэтому, ваши данные с внешних носителей могут быть восстановлены.

Восстановление отформатированных SSD

Обычно были доступны два вида форматирования дисков: полное и быстрое. При полном форматировании затиралась информация, содержащаяся на жестком диске, в то время как при быстром форматировании просто очищалась таблица раздела с информацией о файлах, давая возможность такой программе как Hetman Partition Recovery быстро и качественно восстанавливать необходимые данные. Теперь же для SSD-накопителей такие правила не действуют.

В тот самый момент, когда пользователь форматирует диск, независимо от того, пользуется он полным или быстрым форматированием, операционная система запускает команду TRIM, и SSD-контроллер начинает физически стирать информацию, содержащуюся в блоках данных. Опять же, данная процедура не происходит мгновенно, но большинство контролеров разработаны так, чтобы производить обнуление данных сразу же после того, как команда TRIM была выполнена. За исключением некоторых случаев (упомянутых выше) данные с отформатированных SSD-накопителей не подлежат восстановлению – даже, если был выбран быстрый формат форматирования.

Восстановление сбойных SSD

А что делать, если ваш SSD-накопитель был испорчен, серьезно поврежден (в пределах разумного, конечно) перестал читаться или определяться системой. По иронии судьбы, в этом случае все файлы надежно сохранены на диске, потому что команда TRIM не запускалась операционной системой. Другими словами, вы можете воспользоваться программой для восстановления данных, такой как Hetman Partition Recovery , чтобы восстановить информацию с испорченных, поврежденных, нечитаемых или недоступных SSD-накопителей и в кратчайшее сроки получить назад все, ну или практически все данные. Для предупреждения ситуации с неожиданным выходом накопителя из строя следите за S.M.A.R.T. параметрами SSD и своевременно меняйте устройство на новое.

Проблемы