Восстановление SSD. Восстановление файлов с флэш-накопителей SSD

  • 21.09.2019

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

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

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

Да, SSD-накопители уничтожают удаленные данные

Как вы знаете, содержимое файла, удалённого с жесткого диска, USB флэш-накопителя или SD-карты не будет доступно для использования, но и окончательно затерто – тоже не будет. Операционная система просто помечает запись файла в файловой системе, чтобы объявить блоки информации доступными. С этого момента, операционная система может хранить другие данные в этих блоках данных; тем не менее, система не будет вытирать, стирать или намеренно перезаписывать их содержание до того момента, как она утвердит один или несколько блоков для хранения другого файла. Этот механизм является именно той причиной, почему мы можем использовать инструмент восстановления данных для восстановления удаленных файлов.

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

Для того, чтобы избежать замедления, производители SSD использовали сочетание таких смарт- технологий, как фоновая сборка мусора и сопоставления физических адресов. Эти технологии позволяют SSD диску использовать различные физические NAND ячейки принимать данные, присваивая той ячейке тот же логический адрес, что и изменённой ячейке. Содержимое исходной ячейки рассматривается как «мусор» и очищается (обрезается) в фоновом режиме.

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

Полезные статьи


Когда возможно восстановление SSD

Подождите, не мы ли только что сказали, что восстановление удаленных файлов с SSD-диска невозможно из-за фоновой обрезки, переназначения и сбора мусора? На самом деле требование команды TRIM («Удалить») передается на контроллер SSD и не всегда выполняется! В операционной системе Windows, команда TRIM исполняется только при выполнении следующих условий:

  • SSD диск подключен через канал SATA (или М.2 или аналогичный интерфейс).
    USB, FireWire и Ethernet SSD диски никогда не удаляются.
  • SSD диск отформатирован под файловую систему NTFS.
    FAT32, exFAT и другие файловые системы не поддерживаются механизмом TRIM для Windows.
  • Вы работаете с Windows 7, 8 или 10. Более ранние версии Windows, не поддерживают TRIM.
  • Файловая система исправна. Если вы столкнулись с испорченной файловой системой
    или неисправностью таблицы разделов, вы потеряете доступ к файлам и папкам,
    но команда TRIM запущена не будет.

Если любое из условий не соблюдается, операция TRIM не начнётся, и вы все еще можете восстановить данные с диска SSD. Для того, чтобы восстановить данные, загрузите и запустите программу Starus Partition Recovery . Выберите ваш SSD диск и запустите процесс сканирования для поиска доступных файлов и папок. После завершения сканирования, выберите файлы, которые вы хотите восстановить, укажите целевое устройство для сохранения восстановленных данных и нажмите кнопку «Сохранить». Ваши данные будут извлечены из 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!

3 декабря 2011 в 12:32

Восстанавливаем запоротый SSD

  • Компьютерное железо

Мне подумалось, что вдруг кого-то из владельцев 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-дисков. Целью этой статьи является попытка разъяснить, что, когда и как может быть восстановлено при работе конкретно с носителями SSD.

В чем особенности SSD-накопителей

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

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

Почему же SSD диски делаются столь непредсказуемыми, когда дело доходит до восстановления данных? Причина – в использовании технологии фоновой очистки мусора и оптимизации производительности операций записи в сочетании с существованием (и работой) команды TRIM. Если глубоко не вдаваться в технические подробности (сотни публикаций о работе этих механизмов доступны каждому), на носителе SSD производится непрерывная очистка блоков данных, помеченных как «доступные» (не используемые) с помощью команды TRIM. Механизм команды приводится в действие операционной системой каждый раз, когда вы, сама ОС или приложение удаляете файл или форматируете диск. Пространство диска, помеченное как доступное, будет рано или поздно физически очищено сборщиком мусора, работающим в фоновом режиме. При этом вы никогда не сможете предугадать, когда именно пространство, занимаемое, в частности, удаленными файлами, будет очищено. И хуже всего то, вы абсолютно не в силах этого предотвратить. Даже если вы извлечете диск и поместите его в другой компьютер, даже если вы используете сложные устройства «блокировки записи», сборка мусора неминуемо произойдет при возобновлении питания привода.

Надежды

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

1. Операционная система не поддерживает TRIM. Windows Vista, XP и ранние верссии – не поддерживают! Windows 7 и последующие – уже поддерживают. Итак, если на вашем диске была использована Windows XP, Vista и старшие версии ОС, вы можете забыть о TRIM и просто восстановить файлы, как если бы ваш SSD был жестким диском.

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

3. Диск не был подключен напрямую через SATA. TRIM является командой интерфейса ATA, а это означает, что если ваш диск был подключен к компьютеру через кабель USB, или если он был использован в Network Attached Storage (NAS) устройстве, или если он была частью RAID-массива, команда TRIM не могла быть реализована.

4. TRIM была отключена в настройках Windows. Да, вы можете отключить TRIM. Правда это неминуемо сократит срок службы SSD-носителя и очень скоро приведет к значительному падению скорости записи на диск. Но если у вас есть веские причины для отключения TRIM, не стоит исключать такой вариант.

Инструменты для восстановления файлов с дисков SSD

Для того, чтобы восстановить файлы с флэш-накопителей SSD, вы можете использовать те же инструменты для восстановления файлов (RS File Recovery) или восстановления разделов (RS Partition Recovery , RS NTFS Recovery или RS FAT Recovery), которые используются при работе с жесткими дисками. Единственное отличие в работе с ними – там гораздо меньшая гарантия успеха…