Как вернуть подержанному твердотельному накопителю (SSD) пиковую производительность? Интервью с инженером DataRecovery

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.

Казалось бы, нет движущихся частей - все должно быть очень надежно. Это не совсем так…

Восстановление данных с Solid State Drive (SSD)

Восстановление данных с любых SSD накопителей! Накопители Solid State Drive (SSD) появились сравнительно недавно, но уже успели завоевать большую популярность. Преимущество SSD по сравнению с традиционными накопителями на жёстких дисках на первый взгляд очевидны, это высокая механическая надёжность, отсутствие движущихся частей, высокая скорость чтения / записи, низкий вес, меньшее энергопотребление.

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

О надёжности SSD.

Казалось бы, нет движущихся частей - все должно быть очень надежно. Это не совсем так. Любая электроника может сломаться, не исключение и SSD. С низким ресурсом MLC-чипов ещё можно как-то бороться коррекцией ошибок ECC, резервированием, контролем за износом и перемешиванием блоков данных. Но самый большой источник проблем - контроллер и его прошивка. По причине того, что контроллер физически расположен между интерфейсом и микросхемами памяти, вероятность его повреждения в результате сбоя или проблем с питанием очень велика. При этом сами данные, в большинстве случаев сохраняются. Помимо физических повреждений, при которых доступ к данным пользователя невозможен, существуют логические повреждения, при которых также нарушается доступ к содержимому микросхем памяти. Любая, даже незначительная ошибка, баги в прошивке, может привести к полной потере данных. Структуры данных очень сложные. Информация «размазывается» по нескольким чипам, плюс чередование, делают восстановление данных довольно сложной задачей.
В таких случаях восстановить накопитель помогает прошивка контроллера с низкоуровневым форматированием, когда заново создаются служебные структуры данных. Производители стараются постоянно дорабатывать микропрограмму, исправлять ошибки, оптимизировать работу контроллера. По этому, рекомендуется периодически обновлять прошивку накопителя для исключения возможных сбоев.
В SSD накопителе, как и в HDD, данные не удаляются сразу после того, как файл был стёрт из ОС. Даже если переписать файл по верху нулями - физически данные еще остаются, и если чипы флеш-памяти достать, и считать на программаторе - можно найти 4кб фрагменты файлов. Полное стирание данных стоит ждать тогда, когда на диск будет записано данных равное количеству свободного места + объем резерва (примерно 4 Гб для 60Гб SSD). Если файл попадёт на «изношенную» ячейку, контроллер ещё не скоро перезапишет её новыми данными.

Основные принципы, особенности, отличия в восстановлении данных с SSD и USB Flash накопителей.

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

Статья взята из открытых источников: http://hardxdisk.blogspot.ru/p/blog-page_5651.html

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-накопителей не застрахованы от потери данных точно так же, как и обладатели обычных HDD. Однако восстановление информации с твердотельного накопителя, будь то OCZ, Kingston или любой другой, провести существенно сложнее. Ниже рассмотрим, как все-таки можно попытаться осуществить восстановление данных с SSD на примере OCZ и Kingston, а также почему этот процесс для твердотельного диска и, например, для обычной флешки так существенно различается.

Когда можно и когда нельзя извлечь данные из твердотелого диска

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

Алгоритм работы команды TRIM

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

Эффективно извлечь данные с SSD OCZ и Kingston можно в следующих случаях:

  1. Старые версии ОС от Apple до OS X 10.10.4 не поддерживали технологию TRIM для любого стороннего SSD-диска;
  2. Не работает TRIM и в старых версиях Windows, поэтому если у вас установлена XP или Vista, то восстановление удаленных данных с OCZ не составит труда;
  3. USB и FireWire-протоколы также не работают с TRIM, вследствие чего извлечение информации с внешних SSD-накопителей не будет представлять сложности.

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

Программа Hetman Partition Recovery

Приложение работает со всеми носителями, в т. ч. это может быть и диск SSD OCZ или Kingston.

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

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

Восстановление данных на SSD при помощи DMDE

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

Порядок работы с DMDE следующий:

  1. После запуска приложения выберите язык и примите условия лицензионного соглашения;
  2. В главном окне DMDE выберите носитель, данные с которого придется восстанавливать;
  3. Нажмите Ok, программа проанализирует структуру диска OCZ и выдаст максимум информации об обнаруженных на накопителе разделах;
  4. Выберите нужный из списка и нажмите кнопку открытия тома;
  5. В левой части окна выделите пункт «Найденные + реконструкция», справа укажите параметры чтения - «чистая» реконструкция, а в выпадающем списке ниже - «включая удаленные»;
  6. Далее откроется окно со всеми найденными файлами - доступными и уже удаленными, которые помечены крестиком;
  7. Здесь можно выбрать интересующий пользователя диск, файл или группу и в контекстном меню выбранного пункта дать команду на восстановление объекта.

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