Восстановление файловой системы ssd диска. Удаление и восстановление удалённых файлов с USB-накопителя или внешнего SSD-диска. TRIM работает только со встроенными дисками

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

Предлагаю сегодня немного поговорить о восстановлении информации с неисправных 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 устройства этот топик наведёт на мысль о backup"е, кого-то о в целом более осторожном отношении, а кого-то избавит от общения с не слишком торопливой службой поддержки. Всё написанное относится не тдоолько к устройствам той серии и производителя, что у меня.

Дней 10 назад мне случилось оставить на ночь ноут с батареей в критическом состоянии без зарядки. Я не слишком беспокоюсь о жизни батареи, но удар последовал с другой стороны. Утром, включив ноутбук в зарядку и включив его я с удивлением обнаружил, что:


В ВIOS"е винчестер определялся. Схватив имевшийся под рукой Ubuntu Live CD на flash"ке и вооружившись командной строкой, я приготовился к дебагу.
Стоит сразу сказать, что в случаях таких сбоев удобнее было бы использоваться какой-нибудь Data Rescue Live CD, с уже установленными утилитами диагностики вместо совершенно не нужного офисного пакета, но тем не менее.

Наберём арсенал, который нам пргодится:

$ sudo apt-get install hdpam partx smartmontools

Смотрим, что у нас случилось:
$ sudo partx -s /dev/sda
partx: /dev/sda: failed to read partition table

Итак, с таблицей разделов вроде бы можно попрощаться.
$ sudo smartctl -s on -d ata -A /dev/sda -T verypermissive
smartctl 5.41 2011-06-09 r3365 (local build)
Copyright 2002-11 by Bruce Allen,

SMART support is: Unavailable - device lacks SMART capability .
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Error SMART Enable failed: Input/output error

Ошибка ввода-вывода? Диск не поддерживает SMART? Уже бред какой-то.

$ sudo hdparm -I /dev/sda

ATA device, with non-removable media
Model Number: INTEL SSDSA2CW080G3
Serial Number: BAD_CTX 00000150
Firmware Revision: 4PC10302

Configuration:
Logical max current
cylinders 16383 16
heads 16 16
sectors/track 63 63
-
CHS current addressable sectors: 16128
LBA user addressable sectors: 156301488
LBA48 user addressable sectors: 156301488
Logical Sector size: 512 bytes
Physical Sector size: 512 bytes
device size with M = 1024*1024: 76319 MBytes
device size with M = 1000*1000: 80026 MBytes (80 GB)


Ага. Можно заметить, что число условных SSD цилиндров упало в 10000 раз и согласно десктопному Gparted"у размер винчестера составляет 8MB (каюсь, в логах не сохранилась консольная команда и её вывод для просмотра этого безобразия, прошу верить мне на слово). Серийный номер отсутствует и вместо него BAD_CTX что-то там. Хорошо, симптомы поняли, можно обращаться к поиску и в поддержку. Действительно, оказывается, проблема далеко не единична , но, увы, такой идиот с Linux"ом я один.

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

К сожалению, поддержка Intel не отличается расторопностью, и отвечает примерно раз в сутки, затупливая по техническим вопросам, и очень рекомендуя установить их SSD Toolbox для определения проблемы. Хочется отдельно заметить, что основной срез пользователей SSD - это владельцы MacBook"ов, у которых аналогично со мной есть трудности с установкой софта под Windows. Отдельного упоминания достойно то, что эта тулза, предназначенная для определения неисправностей, требует:
- Java
- .NET 3.5
- Windows Media Player Redistributable 11
что делает её установку на компьютере, загруженном с Live CD практически невозможной задачей (во-первых из за ограничений объёма на виртуальном винчестере, а во-вторых в связи с тем, что WMP 11 требует проверки аутентичности Windows, которая со скрипом и стонами лишь у некоторых особо выдающихся личностей получается в Wine.
Пламенный привет разработчикам этого ПО.
Мне чудом удалось объснить ситуацию поддержке, и они согласились на замену, но для замены нужно заполнить неимоверное количество форм, к которым нужно ещё приложить подтверждение поупки мной устройства. Волею судеб, я сейчас в десяти тысячах километров от дома, и не ждал такого подвоха.

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

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

Выставляем пользователя, и пароль для мастер-операций над диском.

$ sudo hdparm –user-master user –security-set-pass abc /dev/sda

Далее нам нужно разблокировать расширенный набор ATA-команд, в частности secure-erase, которые блокируются при загрузке системы. Этому есть несколько способов, один из которых - внешний бокс, отключить и включить его питание. Внешнего бокса у меня не было, но чудесным образом срабатывает отправка ноута в sleep и пробуждение.

Следующие команды выполняют некую безопасную очистку, я запускал обе, так как уверенности какая из них понадобится, не было. Перед каждой запускал установку мастер-пароля и закрытие крышки ноутбука.

$ sudo hdparm –user-master user –security-erase abc /dev/sda
$ sudo hdparm –user-master u –security-erase-enhanced abc /dev/sda

Теперь совсем для не слабонервных. Сброс установок диска к заводским. Для запуска команды нужен ещё один ключ, который вам подскажет командная строка, и для очищения совести я его здесь приводить не стану, равно как и упомяну, что в документации эта команда помечена как ОСОБО ОПАСНАЯ и НЕ ЗАПУСКАТЬ.
$ sudo hdparm --dco-restore /dev/sda

Итого выводы, которые я сделал для себя:
- держите Live CD под рукой
- не оставляйте ноут совсем без питания на критическом заряде
- делайте бэкапы, в том числе keyring"ов, списков установленных пакетов, конфигов и rsa ключей
- обновляйте прошивки (после того, как вы узнали, что она точно неплохо работает)
- беречь нервы

Хочу дополнительно отметить, что не всегда такой метод полностью восстанавливает функционал, и что иногда диск остаётся глючным, тормозным.

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

В следующем топике расскажу об интересной статистике смертей SSD, возвратов, починок и ошибок в работе по производителям и моделям.

PS Любимый Хабр, поправь, пожалуйста, отображение тэга "code".
PPS Случайно нашёлся

Жесткий диск SSD (Solid State Disk) (с англ.) – твердотельный накопитель. Основное отличие от обычных жестких дисков – отсутствие механических элементов. В производстве можно встретить два вида твердотельных накопителей: с энергозависимой Flash SSD или NAND памятью, или энергозависимой RAM SSD.

Первым, кто показал данное запоминающее устройство, была компания M-System. После по ее примеру последовали Super Talent Technology и OCZ. История этих дисков начинается с 2009 года, когда были выпущены диски объемом 512 Гб, а немного позже и 1Тб. На сегодняшний день почти не осталось производителя, который бы не производил или разрабатывал SSD накопители. Основной рынок данного продукта находится у Samsung, OCZ, SanDisk.

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

Основными преимуществами SSD накопителей перед жесткими дисками являются:

Достаточно высокая скорость доступа к памяти накопителя

Отсутствие подвижных элементов, что исключает шум от винчестера

Высока скорость чтения и записи (до 270 Мб/сек)

Высокая эргономичность

Достаточно маленький вес и габариты

Долголетие, что выражается в высокой сопротивляемости механических повреждениям и широкий диапазон рабочих температур

Но есть и недостатки:

Приличная цена за 1Гб данных

Сильная восприимчивость к потере питания в сети

Подвержены воздействию магнитных и электрических полей

Ограничение в количестве перезаписи данных (до 100 тысяч раз)

Твердотельные накопители SSD тоже подвержены поломкам и потере данных. Наиболее часто-встречаемые:

Логические ошибки (отформатировали, стерли нужную информацию, ошибки в загрузочных секторах)

Электрические неполадки и повреждения (скачок в электросети, неправильное подключение к питанию)

Механические повреждения частей и элементов (разломана плата, поврежден разъем)

Поломка контроллера (сгорел или поврежден иным способом)

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

Основной проблемой является контроллер на SSD накопителе и его прошивка. Очень велика вероятность его повреждения, так как он расположен между интерфейсом и микросхемами.

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

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

Всю эту работу сделают за кратчайшие сроки опытные специалисты сервисных центров или инженеры компании.



Роман является автором статей в журнале «Железо», периодически публикуется на Overclockers.ru, а также работает инженером по системам восстановления информации в отечественной компании, чью продукцию использует, в том числе крупнейшие западные фирмы. Давайте узнаем, как обстоит дело с восстановлением данных с SSD.

Роман, как я понял, ваша компания занимается непосредственным выпуском программно-аппаратных комплексов, помогающих диагностировать и восстанавливать информацию с жестких дисков или Flash систем хранения, таких как карты памяти, «флешки» и SSD?

Да, Антон, все верно. Компания называется ACE Laboratory и в этом году она отметила 20- летний юбилей, что для российской компании является очень солидным сроком. Много-ли IT компаний начала 90-х, продолжают активно развиваться спустя 20 лет с момента своего открытия? Я о таких, слышу не очень часто:)

Изначально, ACE Lab была основана выходцами Таганрогского Радио Технического Института и выходцами из Ростовского НИИ ТОП. В конце 80-х, в этом научно-исследовательском институте, велась разработка советских жестких дисков. По большей части, это были клоны Seagate’ов объемом 5-20 Мбайт (самые вместительные зарубежные модели того времени, едва переваливали за 60 Мбайт), но тем не менее, все собиралось из отечественной элементной базы, использовались советская электроника и работали советские инженеры. Сейчас сложно представить, что когда-то, в нашей стране, выпускались полностью отечественные компоненты не только для военных нужд, но и для домашнего использования, в частности, для персональных компьютеров. С началом 90-х, когда вместе с развалом СССР начался развал государственных предприятий, НИИ ТОП не долго смог продержаться и вскоре был закрыт. Талантливые инженеры, знающие о принципах работы HDD, нашли свое место в новых условиях рынка – если производить что-то уже не было никакого смысла, то восстановление данных – оказалось весьма перспективным направлением деятельности. Ведь в начале 90-х, жесткие диски только-только набирали обороты, и были примерно такой же, редкостью, как сегодня SSD. По этому, ведя разработки своего оборудования, параллельно развитию HDD, компания накопила огромный опыт за это время, и сегодня, без преувеличения, является лидером по производству оборудования для восстановления информации во всем мире. Просто говорят о нас не очень часто – слишком уж узкоспециализированное это дело, “Data Recovery” :)

Озабочена ли ваша компания развитием данного перспективного направления (твердотельная память), или сосредотачивает свои силы больше на традиционных жестких дисках?

В процентном соотношении, HDD и SSD идут примерно 90% к 10%, так что упор на жесткие диски ставится сейчас, конечно же, больше чем на твердотельные накопители. С другой стороны, постепенная каннибализация предприятий, выпускающих HDD идет на пользу и SSD – появляется возможность лучше сконцентрировать ресурсы для разработок. К примеру, еще лет 10 назад, жесткие диски выпускались целой когортой компаний. Это были Fujitsu, IBM, Hitachi (а в последствии, Hitachi-IBM), Samsung, Toshiba, Seagate, Western Digital, Quantum, Maxtor и т.д. Приходилось уделять всем накопителям времени в равной степени, и поскольку каждый из производителей имел уникальную архитектуру дисков (а как следствие, и принципы восстановления данных с них), то заниматься равномерным развитием сразу всех направлений было непросто. Со временем, на рынке осталось лишь два основных конкурента, которые поглотили всех остальных – Seagate и Western Digital ну, и пожалуй, Hitachi который хотя и был куплен Seagate’ом, сейчас все еще штампует очень малым тиражом дешевые 2.5” диски для ноутбуокв. Так что сосредоточившись на двух-трех производителях, появляется возможность больше времени уделять и SSD – впрочем, все случившееся сложилось крайне своевременно.

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

Дело в том, что восстановление информации – дело дорогое. Это весьма кропотливый процесс, который по определению не может оплачиваться дешево. И если с жесткими дисками, дела идут неплохо (люди часто обращаются за восстановлением своей инфы), то с Flash накопителями все гораздо сложнее. К примеру, SD карта фотографа который вел свадьбу, внезапно его подвела, и все праздничные фото пропали вместе с работоспособностью карты. В этом случае, конечно же, и фотограф, и жених с невестой, заинтересованы в восстановлении утерянных данных и готовы заплатить немалые деньги. Но если у студента навернулась флешка с рефератом, вряд-ли он будет платить две-три тысячи рублей за восстановление своей информации. За рубежом, даже 100-200$ не являются большими деньгами если на кону стоят фотографий с путешествий, или более-менее значимые документы. А вот у нас, народ менее богатый, по этому и восстанавливать данные не спешит. Часто бывают случаи, когда люди не хотят жертвовать 8-гиговой флешкой стоимостью в 500 рублей (которую нужно вскрыть и отпаять чип памяти для дальнейшего восстановления), боясь лишиться гарантии и в дальнейшем, потерять возможность обменять в магазине на новую, бесплатно. Это не говорит о жадности, это говорит о совершенно другом уровне доходов по сравнению с богатым Западом. Тоже самое и с SSD – восстановление данных с них стоит еще дороже, и пока, на Российском рынке никто тратить большие деньги за восстановление твердотельного диска не хочет. К тому же, те кто покупает SSD осведомлены о их недолговечности, по этому и важные данные на них не хранят, используя исключительно для программ и операционной системы. На Западе, люди менее технически подкованы, по этому купив ноутбук с SSD, они тут же скидывают на него важные документации, фотографии, видео, да и вообще все что только можно, и сильно удивляются когда SSD внезапно умирает. Так что на Западе, клиентов обращающихся за восстановлением данных с SSD уже достаточно много – в разы больше чем в России.

Среди пользователей всегда ходило поверье, что если сломался жестких диск, то с него без проблем можно «слить информацию», а вот из-за особенностей твердотельных накопителей этого сделать вообще невозможно, так ли это?

Твердотельные накопители, относительно новы – им всего-лишь несколько лет (именно столько времени они активно развиваются, до 2008 года о них вообще почти никто не знал), по этому и времени на их “раскопку” было затрачено гораздо меньше. С HDD есть огромный опыт, восстанавливать данные с них легче ввиду совершенства и технологии, и программного обеспечения. С флешками и SSD все по-другому, принцип работы, размещения и хранения данных сильно отличается от HDD, по этому «переключить мозги» с жестких дисков на флешки было довольно непросто.

Поначалу, SSD первых поколений не отличались от обычных флешек по принципу записи и чтения информации, просто действий было немного больше, и общее восстановление проходило медленнее, требуя куда больше времени. К примеру, в SSD, все данные разбиваются на куски размером 4 Кбайт, и записываются в разные микросхемы на плате SSD. По этому и доступ к этим данным очень высок. Т.е. контроллер, один и тот же файл начинает считывать сразу по 4-м каналам, с 4-х микросхем, считывая 1-ю часть с 1-й микросхемы, 2-ю со второй и т.д., делая это одновременно (что-то типа RAID0 у HDD). Благодаря такому распараллеливанию, и достигается высокая скорость наряду с более «плавным» износом NAND FlASH, поскольку запись и считывание велось постоянно в разные участки чипов памяти.. Но считав данные с микросхем, инженер получал мусор из кусков файлов – необходимо было восстановить преобразования контроллера, повторив их в обратном порядке. Представь себе лоскутное одеяло, разрезанное на полоски шириной 5-см, которые потом перемешали в общей коробке. Задача – все куски выстроить в правильном порядке, и заново сшить одеяло – примерно с такой же задачей сталкивался специалист. Необходимо было отпаять все микросхемы, считать их, проанализировать

каждую из них, и начать связывать их между собой по кускам, что бы получить данные пользователя. Это требовало огромного количества времени и естественно, назад свой дорогой SSD пользователь уже не получал и вернуть в магазин по гарантии не мог – либо данные, либо гарантия, т.к. все микросхемы предварительно выпаивались и считывались. Тем не менее, вернуть данные было можно, хотя и очень-очень непросто. Однако, уже во втором поколении SSD, разработчики твердотельных накопителей довели свои алгоритмы записи информации не просто до разрезания и перемешивания (для более равномерного использования ячеек микросхем), они решили включить шифрование. Т.е. контроллер, перед записью данных предварительно их шифровал, получался так называемый “равномерный белый шум”, который заполнял пространство микросхем. Тут то и возникла проблема – вычитать данные было возможно, а вот «склеить» их без расшифровки оказалось просто нереально. Но, как оказалось, SSD 2-го и 3-го поколения уже умели работать в технологическом режиме, который можно было активировать если слетала прошивка или происходил сбой микропрограммы контроллера SSD. Активировав этот режим, стало возможным добиться доступа к данным без предварительной отпайки чипов, сделав процесс восстановления более быстрым и менее сложным.

Если технологический режим реализован на SSD, то почему о нем мало кто говорит из производителей, когда он может помочь восстановить испорченный накопитель?

Все просто – никто из производителей не хочет что бы SSD диски ремонтировались сторонними компаниями, а данные восстанавливались. Они хотят одного – больших продаж. Ломается диск – ты покупаешь новый, а не идешь его ремонтировать, как к примеру, HDD. Однако поскольку производители расширяют гарантию на свою продукцию твердотельных накопителей, и хотят что бы пользователи больше им доверяли, приходится идти на хитрости, так что добавили они техно режим не для того что бы помочь восстановить данные, а для того, что бы самим их починить. Допустим – поломался у тебя SSD через два года после покупки, а гарантия на SSD – пять лет. Ты несешь его в сервисный центр где у тебя его забирают, а в замен дают точно такой же. При этом, твой старый SSD отправляется на завод, где его вводят в техно режим, делают перепрошивку микропрограммы, тестируют, меняют корпус и отправляют в СЦ обратно, что бы кто-то другой забрал его, вместо точно такого же, сломавшегося. Ведь как показывает практика, в современных SSD, изнашиваются не чипы памяти – все проблемы связанны в 95% с контроллером и прошивкой\микропрограммой, которая попросту может слететь, или повредиться во время использования. Но, хочу заметить, что это – исключительно догадка, хотя надо сказать, выглядит она очень правдоподобно:)

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

99% всех производителей контроллеров, включая известные Marwell, Indilinx, SiliconMotion, Alcor Micro, Phison, Sandforce, находятся в Китае. Именно там они разрабатываются, выпускаются и т.д. Наладить контакт очень непросто, да и это не совсем уж выгодно самим производителям контроллеров которые, как я уже говорил, хотят как можно больше продать. По этому, разработчикам, методом проб и ошибок приходится самим до всего додумываться. :)

Сейчас многие негативно относятся к переходу NAND памяти на новые техпроцессы производства, в связи с сокращением числа циклов перезаписи ячеек. Как ты считаешь, есть ли реальная опасность в том, что память просто перестанет работать со временем в персональных компьютерах, ноутбуках и так далее в какие-то разумные сроки?

Вероятность того, что SSD выйдет из строя – 100% :) Другой вопрос в том, сколько времени на это потребуется? Если к примеру, гарантия производителя 5 лет, могу с очень высокой вероятностью сказать что сам SSD морально устареет куда быстрее, чем успеет закончится гарантия на него, или он поломается. За 5 лет любое компьютерное железо серьезно устаревает, так что самые «ходовые» 2-3 года, любой SSD вполне сможет проработать. Что касается техпроцессов и уменьшения размером ячеек памяти, то здесь вступают в работу программисты, которые доводят алгоритмы записи и «выравнивания» до совершенства (как я уже и говорил выше). Кроме того, добавляется солидный кусок пространства для «переназначенных секторов», так что битые ячейки будут моментально переписываться в резервную область, обеспечив тот самый запас по прочности.

Допустим, первые поколения SSD 2007-2008 года, имели 30000-50000 цикл перезаписи каждой ячейки памяти, после чего она становилась непригодной для записи. При этом, из-за «линейной» записи, когда пользователь постоянно переписывал первые 1-5 Гбайт (кэширование браузера и ОС могут делать тысячи записей ежедневно в одно и то же место), изнашивались только они, а остальные 50 Гбайт, оставались невостребованными, и диск мог очень быстро «умереть». В современных SSD жизненный запас одной ячейки куда меньше – примерно 3000-5000 циклов, однако из-за используемых алгоритмов «выравнивания» записи, шифрования, накладывания XOR паттернов, перезапись каждой ячейки максимально эффективна. Разработчики любят хвастаться тем, что на коробках с SSD указывают, мол, «наш накопитель проживет 10 лет, даже если каждый день вы будите записывать на него 20 Гбайт данных!». Вот именно это они и имеют ввиду – одни и те же ячейки, благодаря оптимизированным алгоритмам записи не будут использоваться постоянно, так что для «убийства» современной микросхемы объемом 16 Гбайт, нужно записать на нее в 3000 раз больше ее реального объема, т.е. примерно 48 Тбайт… Не думаю, что в повседневной жизни, даже за пару лет получится записать хотя бы 100-200Гбайт, не говоря уже о терабайтах. Т.е. даже если с освоением 14нм техпроцесса, запас прочности одной ячейки упадет до 300-500 циклов перезаписи, на 512 Гбайтный SSD придется записать минимум две сотни Тбайт для заметных повреждений NAND чипа.

Слабое место SSD - не память, а именно контроллер и прошивка, которая очень уж любит слетать, блокируя всякий доступ к данным.

Аналитики SSD светлое будущее, все больше компаний начинают выпускать твердотельные накопители (например, недавно о таком желании «изъявили» Seagate и MSI). Раньше тоже были предположения, что со временем NAND Flash память или ее аналоги смогут заменить собой жесткие диски, это было еще до официального выхода массовых линеек SSD, в качестве сроков тогда назывались десятки лет. Сейчас уже говорят о перевесе в сторону SSD за какие-то ближайшие 3-5 лет, как ты считаешь, будет ли он и что надо накопителям для того чтобы обогнать в производстве жесткие диски?

Отрицать то, что будущее за SSD – глупо. Но и делать какие-то предсказания о «существенном перевесе в ближайшие два-три года” тоже ошибочно То, что все большее число производителей, будет выпускать SSD накопители – это вполне очевидно, ведь запустить в производство твердотельный накопитель в сотни раз проще, чем выпустить работающий HDD. Что нужно для того что бы SSD работал? Закупить пригоршню микросхем и к ним контроллер, с официальной заводской прошивкой, которую по желанию можно дописать или дополнить. Т.е. любая более-менее весомая конторка, которая занимается выпуском компьютерного железа (клепает видеокарты и материнки), вполне может выпускать и SSD без особых головных болей – ничего нового для них не будет. Совсем другое – выпустить конкурентоспособный контроллер, так что тут, скорее,

вопрос в том, сколько компаний будут продолжать или начнут выпуск SSD контроллеров, а не самих SSD дисков. Пока, из весомых, их всего пять – Sandisk, Sandforce, Samsung, Indilinx, Marwell, но вполне возможно, что будут появляться и новые игроки, которые представят свое видение «идеального контроллера для SSD». Начать разработку контроллера для твердотельного накопителя, гораздо проще чем начать выпуск собственных HDD, так что перевес рано или поздно все равно будет в сторону твердотельных накопителей. Игроков на рынке NAND FLASH будет становиться все больше, а вот количество производителей HDD с вероятностью в 99.9% останется тем же – Seagate и WD, третьего уже не будет.

Но пока, коренных изменений на рынке ПК я не вижу, за HDD все еще главные плюсы – большая надежность (вероятность внезапной смерти меньше чем у SSD), невысокая цена, огромные объемы. Да, в мобильном секторе, FLASH давно вытеснил HDD форм-фактора 1.8”, полностью заняв весь рынок, но вот что касается ПК, то глобальных улучшений по сравнению с 2008 годом, я пока не вижу. Твердотельные накопители все еще дороги, а максимальный объем ограничен 256-512 Гбайтами (это уже последняя грань с вменяемой стоимостью, далее идут просто ошеломительные цены), так что даже удешевление памяти не дает существенной доступности. Казалось бы, победитель очевиден – HDD продолжают доминирование в секторе ПК (мы о нем и говорим, он для нас главный, мобильный в расчет не берем), но на деле конкуренции как таковой нет. Между SSD и HDD, буквально сейчас завязывается дружба, поскольку вместе, друг от друга, они будут брать гораздо больше плюсов, чем по одиночке. В ближайшем будущем нас, скорее всего, ждет следующее развитие ситуации: у среднестатистического пользователя в ПК будет установлено два накопителя – один SSD, небольшого объема и по доступной цене (128-160 Гбайт за ~80-100$) для программ, игр и операционной системы, и вместительный HDD объемом в 2-4 Тбайт, для хранения FullHD фильмов, музыки, документов, образов игр и т.д.

Но, опять же – это все только в том случае, если цены на доступ в интернет не полетят вниз, и люди не станут массово пользоваться сервисами для онлайн просмотра HD Video, музыки и т.д. В этом случае, смысла в HDD не будет никакого – для игр и установленных программ, хватит и 256 Гбайтного SSD, а все остальное можно будет хранить на “облачных серверах”, которые набирают популярность. Вот только дело это не ближайшего будущего, скорее всего такая картина будет к 2018-2020 году, а пока – SSD и HDD будут жить в тесном сотрудничестве друг с другом.

Но, это лишь мое видение ситуации, слишком уж много условий для какого-то однозначного вывода:)

Благодарю за ответы на вопросы и желаю дальнейших успехов в вашем нелегком деле:)


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

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

Удастся ли восстановить данные с твердотельного диска?

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

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

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

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

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

Удастся ли вернуть данные после форматирования SSD?

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

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

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

Можно ли реанимировать поврежденные SSD-накопители?

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

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




Top