Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


Технологии скрытия дефектных секторов (ликбез).

Технологии скрытия дефектных секторов (ликбез).

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

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

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

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

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

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

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

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

Когда на треке слишком много дефектных секторов и местного резерва уже не хватает, то выполняется переназначение всего трека на резервную область. Резервная область, как правило, выделяется на внутренних цилиндрах, которые пользователю не показывают (в паспорте диска указывается объем диска без учета резервных цилиндров). Это переназначение делается на основе ведения таблиц переназначения треков, при этом уже потребуется дополнительное время на изменение позиционирования головок.

Когда все резервные блоки будут использованы, тогда и появятся видимые дефектные блоки. Это является серьезным поводом для замены накопителя или к попытке его «исправления» за счет уменьшения его емкости.

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

1. При использовании механизма переназначения (assign) накопитель прописывает в поле идентификации дефектного сектора флаг перемещенного сектора и далее в поле данных этого сектора - номер резервного сектора, к которому необходимо обратиться для записи или чтения данных. Как правило, резервным сектором является первый сектор после рабочей области данных пользователя. При обращении к сбойному сектору во время операции чтения-записи данных контроллер читает флаг и адрес переназначения и производит позиционирование в резервную зону, чтобы осуществить чтение-запись данных в хорошем секторе. Дефектные сектора в этом случае «пропадают», но накопитель каждый раз, наткнувшись на сбойный сектор, позиционирует головки в резервную область. Этот процесс сопровождается щелчками и некоторым замедлением работы. При помощи процедуры «assign» можно скрыть только дефекты, находящиеся в полях данных. Если ошибки связаны с разрушением полей идентификации или поврежденной сервометкой, то такие дефекты методом переназначения скрыть нельзя.

2. Второй механизм скрытия дефектных секторов, реализуемый на заводе-изготовителе, заключается в пропуске дефектного сектора. При использовании такого метода, дефектный сектор игнорируется, а следующему за резервным сектором присваивается номер дефектного (и так далее, по цепочке), а самый последний сектор сдвигается в резервную зону. Естественно, такой метод скрытия, нарушает целостность последовательности форматирования нижнего уровня, т. е. система трансляции логической структуры диска LBA (logical block addressing - логическая адресация блоков) в физическую структуру CHS (cylinder, head, sector - физические цилиндр, головка, сектор) должна учитывать дефектные сектора, чтобы избежать обращения к ним. Метод пропуска требует пересчета таблиц транслятора и выполнения команды низкоуровневого форматирования, что делает невозможным его использование без потери данных пользователя. Именно по этой причине данный метод скрытия дефектов выполняется только в специальном (технологическом) режиме работы накопителя, например, утилитой FUJFMT.EXE, которая предназначена для скрытия дефектов в накопителях фирмы Fujitsu.

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

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

 

 


Лицензия