Восстановление данных и ремонт жесткого диска – в чем разница?

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

Итак, в чем же принципиальное различие?

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

Ремонт.

Это набор процедур, направленных на устранение неисправностей жесткого диска и последующее его тестирование на предмет выявления потенциальных рисков появления этих или других неисправностей в будущем. Это именно набор процедур, а не одно или два действия, после которых НЖМД выдается клиенту со словами «все, починил». Прежде всего, производится комплексная диагностика, посредством которой выясняется, какие узлы накопителя нуждаются в нашем вмешательстве. Неисправности бывают разными: деградация поверхности (наиболее часто встречающийся тип отказов), выход из строя платы электроники, ошибки в микропрограмме и отказы БМГ. Надо понимать, что обычно любая неисправность имеет свою причину (а то и несколько причин), выявление которой (или которых) для успешного ремонта не менее важно, чем определение собственно неисправности. Приведу пример. У накопителя произошла ошибка в служебной области. Если мы просто исправим ошибку и отдадим накопитель заказчику, эта неисправность обязательно проявится вновь, и достаточно быстро. Поэтому после исправления ошибки мы начинаем тестировать другие узлы НЖМД и находим, что поверхность накопителя в конкретной области начала деградировать (появились множественные дефектные сектора). В этом случае нам становится ясно, что неисправность служебной области образовалась по простому сценарию: накопитель «нашел» дефектные сектора и начал их обработку по своим внутренним алгоритмам (обычно это занесение секторов в растущий лист дефектов – G-List – с переназначением их из резервной зоны). Однако поскольку поверхность деградирует, количество дефектных секторов будет расти, и G-List накопителя в итоге переполнится, что приведет к невозможности занесения в него нового (следующего) дефекта. Поскольку микропрограмма будет пытаться «утрамбовать» G-List, но места в нем уже нет (G-List – это модуль служебной зоны, имеющий свой размер; в него нельзя поместить дефектов больше, чем этот самый размер), выполнение микропрограммы будет остановлено – накопитель «зависнет». После перезапуска окажется, что он уже не определяется в системе, так как микропрограмме, во избежание возникновения дальнейших ошибок, заблокирована на стадии загрузки модулей трансляции накопителя. Приплыли.

В этом случае нам необходимо не только починить служебную зону, но и исключить дальнейшее разрастание G-Lista. Это можно сделать двумя способами, которые одинаково губительны для данных: исключением из трансляции той зоны секторов, в которой замечено большое количество дефектов, или преобразование секторных дефектов в трековые и также исключение их из трансляции. Делается и то, и другое средствами комплекса РС-3000 и подразумевает обязательный пересчет транслятора накопителя; после этой процедуры данные на жестком диске будут перемешаны, так как новый транслятор даст новые смещения и изменит адресацию дискового пространства (уберется часть треков или секторов, на их место будут назначены новые, и т.п.).

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

При восстановлении данных все совсем иначе.

Единственное общее действие у ремонта и восстановления данных – это диагностика, но даже она производится в случае восстановления данных по другому. Прежде всего, полностью исключаются любые потенциально деструктивные для данных процедуры: тесты записью, SMART-тесты, тестирование системы позиционирования и т.п. Затем, во многих случаях накопитель может быть вскрыт (чего мы практически не делаем для ремонта). При ремонте платы электроники соблюдается ряд условий, оберегающих нас от потери данных (перенос адаптивных параметров, использование технологического режима и технологических разъемов, и т.п.).

Восстановление данных – это комплекс процедур, направленных на извлечение данных с неисправного накопителя. Довольно часто он так и остается неисправным в процессе работ, так как его ремонт и сохранение данных оказываются несовместимыми. Приведу простой пример. Твердотельный накопитель Samsung, который внезапно начал определяться объемом в 1 Мбайт. Ремонт такого накопителя довольно прост: загрузить в него лоадер, инициализировать таблицы трансляции и произвести очистку поверхности командой «формат трека». После этих нехитрых процедур мы получим полностью рабочий, но пустой SSD. Но если нам нужно восстановить с него данные, то механика процесса уже другая. Накопитель помещается в safe mode, в него подгружается микрокод, производится извлечение из памяти таблиц трансляции (их обычно несколько, поэтому накопитель и перестает определяться нормальным объемом – микропрограмма «зависает» на этапе выбора транслятора, который должен быть использован), выбирается наиболее релевантная таблица (естественно, вручную), которая подгружается накопителю в буферную память, после чего производится вычитывание каждой микросхемы SSD в отельный дамп по примененному транслятору. Когда все чипы вычитаны, дальнейшие работы производятся уже с полученными дампами; если накопителю переключить питание, он снова превратится в черный кирпич емкостью 1 Мбайт.

Точно также и жесткие диски. Однако есть целый ряд процедур, которые с накопителем можно производить только единожды или весьма ограниченное количество раз: замена БМГ. Накопитель после этого обычно работает довольно нестабильно и не слишком продолжительное время, которого хватает только на вычитывание данных. Может оказаться и так, что для восстановления всех файлов, которые нужны заказчику, потребуется не один, а несколько комплектов головок. Естественно, ни о каком ремонте тут речи идти даже не может, и причина довольно проста. На заводе каждый накопитель калибруется под свой набор узлов. Все мы понимаем, что даже при абсолютной стандартизации производства нельзя произвести два абсолютно одинаковых устройства. Именно поэтому в производственном процессе разработана система допусков: любая деталь, любой узел имеют параметры с небольшим разбросом. Например, при производстве ботинок 43 размера допускается различие в размере подошвы 2 мм в любую сторону. Так же обстоит дело и с запчастями для НЖМД, с той лишь разницей, что эти допуски намного меньше. Но при микроскопических размерах треков различия даже в сотую долю микрона накладывают негативный отпечаток на производительность всего устройства, поэтому донорские головки никогда не читают поверхности пациента так же быстро и стабильно, как родные.
Надеюсь, мы смогли ответить на вопрос, в чем разница между восстановлением данных и ремонтом.

-5%