В: - Hа винчестере есть bad блоки. Что с ними делать?
О: - Возможны два
варианта: 1) Ничего не делать, а просто запретить операционной системе работать
с этими участками поверхности, и
2) Воспользоваться заложенной в конструкцию современных
накопителей возможностью скрытия дефектов. Подробнее о каждом пункте:
-
Любая операционная система содержит в себе алгоритм
исключения из рабочего дискового пространства дефектных участков. В случае DOS
и последующих ОС на основе FAT (FAT12, FAT16, FAT32) обнаруженные (программами
scandisk, Norton disk doctor и т.п.) дефекты заносятся в FAT, что предотвращает
использование содержащего дефект кластера. Сбойные кластеры (те, которые
читаются после нескольких повторов, и не опознаются как дефектные) можно
обозначить в FAT вручную (diskedit -> логический
диск -> FAT -> нужный кластер обозначить как BAD). Если дефектов
немного, и они расположены компактно, возможен еще один способ: создать
первичный раздел так, чтобы он заканчивался за 1 цилиндр до дефектной области
(или около того, необходимо только, чтобы до дефекта оставался хотя бы один
исправный сектор для extended таблицы). Затем создается extended раздел, а в
нем два логических диска: первый - размером в дефектную область, а второй -
все оставшееся. Исправными разделами после форматирования можно пользоваться,
а дефектный можно не форматировать, или обозначить его как не-DOS раздел
(diskedit'ом во вторичной таблице разделов поменять принадлежность раздела на
что-нибудь несовместимое с FAT), тогда дефекты вообще не будут заметны ничем,
кроме тестирования на физическом уровне (вернее, начиная с чтения по
"физическим" адресам через int13 и "ниже").
-
Когда-то, во времена MFM, RLL и ST506/412, описанная выше
процедура была единственно доступной. С появлением IDE стало возможным
переложить defect management с операционной системы на контроллер HDD. Любой
винчестер имеет запас емкости, и резервная часть используется для замещения
дефектных участков рабочей зоны. Размещение резервных областей может быть
различным (в конце рабочей зоны, доп. секторы на каждой дорожке,
дополнительные цилиндры в конце каждой зоны при ZBR, и т.д. Размещение резерва
и соотвествие резервных дорожек (track) или секторов исключенным (дефектным)
описывается обычно в специальной таблице, хранящейся в служебной зоне
накопителя и загружаемой микроконтроллером при инициализации. Таких таблиц
может быть и несколько. В зависимости от применяемого метода скрытия дефектов,
происходит либо простая переадресация сектора (или группы секторов) в
резервную зону, что вызывает "длинное" позиционирование и некоторую задержку в
работе HDD, либо пропуск дефектного участка и замещение резервом недостающих
секторов в конце рабочей зоны. В последнем случае рабочее пространство диска
остается "непрерывным" для пользователя, т.е. не происходит задержек на
позиционирование в резервную зону. В современных накопителях обычно
используются оба способа. Одной из реализаций первого способа скрытия дефектов
(переназначение) является реализованная в стандарте АТА функция assign команды
50h (format track). Этот метод позволяет заменить дефектный сектор на
резервный на любом HDD, поддерживающем данную команду. Hаиболее известные и
надежные программы, использующие данный алгоритм, это HddSpeed (автор Михаил Радченко) и HddUtil (автор Дмитрий Пашков) (http://members.xoom.com/hddutility.
-
Еще один способ скрытия дефектных секторов заключается в
использовании системы Defect management, реализованной в большинстве
современных накопителей. Одной из функций системы самодиагностики является
замещение дефектных секторов, которое можно вызвать простой записью в этот
сектор, например, утилитой Diskedit.
Hедостатками описанных методов скрытия дефектов являются:
1) Hеобходимость записи отметки о переназначении в заголовок
дефектного сектора. В случае, если заголовок также относится к области дефекта,
переназначения не произойдет.
2) Hевозможность скрытия дорожек с разрушенными
сервометками.
3) Длинное позиционирование на резервные секторы, которые могут
находится на других цилиндрах или даже в конце рабочей зоны. Это может приводить
к задержкам в работе накопителя и характерным щелчкам.
Что касается способа скрытия дефектов путем пропуска дефектных
секторов, то эта процедура индивидуальна для каждого семейства моделей HDD IDE и
включает в себя обновление внутренних таблиц транслятора накопителя и полное
низкоуровневое форматирование. Реализуется это обычно с помощью набора
технологических (нестандартных) команд, которые предназначены для "factory use
only" и не документируются. Пользователю доступны только (в лучшем случае)
распространяемые фирмой-изготовителем программы так называемого "низкоуровневого
форматирования" HDD, на самом деле выполняющие assign дефектных секторов. В
настоящее время доступны такие программы от Western Digital, Seagate и Maxtor.
Hайти их можно на сайтах этих фирм (http://www.wdc.com/,
http:/seagate.com,
http://www.maxtor.com/):
Western Digital.
Программы wddiag.exe, wdat_ide.exe. Далеко не всегда использование этих программ
приводит к желаемым результатам. Иногда даже наоборот - к совсем нежелательным.
Это связано с особенностями HDD Western Digital, которые обычно пытаются
перечитывать сбойные участки большое число раз, вплоть до успешного чтения или
полного зависания. В случае повреждения поверхности диска это может привести к
ее дальнейшему разрушению. Хотя известны единичные случаи успешного скрытия
дефектов программой wddiag.exe.
Seagate. Программа sgatfmt4.exe. Весьма полезная программа. Позволяет форматировать большое количество
моделей HDD производства Seagate, в том числе с многократной проверкой для
выявления сбойных секторов. Процедура форматирования с многократной верификацией
может быть достаточно долгой (несколько часов), но часто позволяет обнаружить и
устранить "плавающие" ошибки чтения/записи.
Maxtor. Программа mformat2.exe. Сведения отсутствуют.
Пользоваться другими программами для низкоуровневого
форматирования не рекомендуется. Программы подобного назначения были широко
распространены во времена накопителей стандарта ST506/412, и предназначались
именно для них. С того времени осталась и команда 50h - форматирование дорожки).
Современные накопители эту команду чаще всего просто игнорируют, но в некоторых
случаях могут выполнить по ней некорректные действия, приводящие к нарушению
работы накопителя. Одним из таких действий может быть разрушение заголовков
секторов или обозначение всех секторов как bad. Такая ситуация может возникнуть,
например, если накопитель возвращает код ошибки при попытке заставить его
выполнить команду форматирования. При этом морально устаревшая программа
форматирования может решить, что обнаружен плохой сектор, и пометить его
соответствующим образом. Такой сектор уже не может быть использован операционной
системой. Если данная процедура была проделана с самым первым сектором
логического пространства накопителя - будет невозможно даже создать логические
разделы и записать программу начальной загрузки.
В соответствии со стандартом ATA команда форматирования дорожки
может использоваться для скрытия дефектов и на HDD IDE, как было описано выше,
но использование ее зависит от технического решения, используемого фирмой -
изготовителем накопителя. Так, практически все ATA HDD форматируются на низком
уровне только программами, находящимися в ПЗУ самого накопителя. Использовать
эти программы можно только в технологическом режиме работы накопителя (в HDD
Conner, Kalok, Xebec, Teac, части Seagate - через технологический разъем). Таким
образом, в большинстве случаев возможности самостоятельного ремонта HDD
пользователем ограничены только поддержанием целостности файловой системы (что
является скорее профилактикой, чем ремонтом) и скрытием небольшого количества
физических дефектов с помощью программ низкоуровневого форматирования. В более
серьезных случаях необходимо, как минимум, использование специальной
диагностической и ремонтной аппаратуры (например, комплекса РС3000, http://www.acelab.ru).
Что делать не рекомендуется:
1)Вскрывать без необходимости гермоблок. Вскрытие гермоблока
требуется далеко не всегда, а вероятность успешного ремонта накопителя, в
котором уже "копались", значительно меньше.
2) Производить любые переключения на работающем компьютере. Это
понятно и пояснений не требует.
3) Если находившаяся на момент появления неисправности на HDD
информация представляет интерес, то нельзя производить запись на неисправный
накопитель (из-за неисправности последствия записи могут оказаться
непредсказуемыми).
Тарановский Л.О., leonid@mailbox.alkor.ru
Copyright L.Taranovsky '2000
|