Методика восстановления информации посредством «горячей замены» (Hot-Swap).

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

При выборе накопителя для Hot-Swap необходимо убедиться, что этот накопитель одного и того же производителя, того же семейства, с аналогичной картой головок (в некоторых случаях можно использовать накопители с большим количеством головок), с одинаковой позицией и плотностью служебной зоны, а также учесть некоторые особенности, характерные для того или иного семейства. Эти данные мы можем получить при анализе содержимого ПЗУ накопителя-пациента и накопителя-донора.

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

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

 

 

Павел Янчарский

 

Перепечатка материалов разрешена только с указанием активной ссылки на оригинал статьи

Поделиться
|