Rambler's Top100

Реклама на сайте | Реклама в Интернет | "Все Кулички"


Главная страница
Все о компьютерном "железе"
Вся полезная информация
Эрудиту
Гарантированная продажа рекламных мест
Цены магазинов Москвы на ноутбуки и мобильные компьютеры
Мои разработки и переводы
Микроконтроллеры >>
Мои разработки
Полезные конструкции
Программаторы
FAQ по ПИКам
"Глюки" ПИКов
Ссылки
Железо и драйвера >>
Статьи и FAQ
Ссылки на статьи
Определение конфигурации
Настройка компонентов ПК
Утилиты для накопителей информации
Ремонт "железа"
Восстановление информации
Полезный софт
Операционные системы
Безопасность и защита информации
Радиоэлектроника
Программирование >>
Техдокументация
Разработчику программ
Мобильники
Вебмастеру
Поиск информации
On-Line перевод
Обмен ссылками, сотрудничество
Немного о себе
Контакты
Гостевая книга
Форум

Поиск на сайте
Поиск на Куличках:

Сделать стартовой страницей

Реклама:

(!) MP3 плееры всех видов. Возьми с собой 6 обычных Audio-CD на одном(!!!) MP3-CD
Телевизоры, DVD-плееры, видеомагнитофоны, видео-плееры. Аппаратура Hi-End класса


rax.ru: показано число посетителей за сегодня

Рейтинг@Mail.ru

RadioTOP-рейтинг радиотехнических сайтов
PROext: Top 1000
ENGLISH version
Доброе утро! Четверг, 25 апреля 2024
Процедура HDD Low Level Format системного BIOS
Автор: Леонид Тарановский

1. Служебная инфомация HDD.

Размещаемая на дисках накопителя инфомация делится на собственно информацию пользователя (ради которой накопитель и существует) и служебную, предназначенную для обеспечения возможности хранить информацию пользователя. Служебная информация делится на:

  • служебную информацию самого накопителя, необходимую для его работы на аппаратном уровне (чтения-записи секторов), называемую в дальнейшем служебной информацией HDD;

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

Служебная информация HDD в свою очередь делится на три уровня:

  • а) Информация, предназначенная для организации обратной связи сервосистемы привода блока головок, т.е. для позиционирования головок на треки и удержания их необходимого положения. В современных HDD это делается путем записи на все рабочие поверхности специальных сервометок - полей, позволяющих сервоприводу по прочитанному с них сигналу получать информацию о текущем положении головки. По ним же (путем контроля периода следования сигнала) стабилизируется скорость вращения диска. Сервометки наносятся не только на места самих треков, но и в промежутках между ними. Запись сервометок производится при изготовлении HDD на специальном устройстве, обеспечивающем внешнее позиционирование блока головок - серворайтере (Serwowriter). Запись или восстановление сервометок средствами самого HDD (без внешнего позиционирования) невозможны.

  • б) Информация, служащая для адресации секторов с данными пользователя и контроля целостности этих данных. Включает в себя поля идентификатора сектора (дескриптора), служашего для идентификации сектора, и поля контрольной суммы (ECC check bytes), предназначенных для контроля целостности информации, записанной в поле данных сектора. Это и есть то, что обычно понимают под низкоуровневым форматом. В ранних моделях HDD (с интерфейсом ST506/412), как и в FDD, запись низкоуровневого формата была стандартной операцией. С появлением же IDE накопителей и переносом основных функций работы с "железом" в контроллер самого HDD унификация внутреннего формата потеряла смысл. Распределение секторов в современных HDD индивидуально для каждой модели, используется ZBR (Zone Bit Recording, разное число секторов на трек в зависимости от физической длины трека), и реальное расположение сектора известно только внутренней программе управления. Поэтому низкоуровневое форматирование может быть выполнено только самим контроллером накопителя, и реализовано в большинстве HDD в виде автоформата - процедуры, вызываемой технологической командой (vendor specific, недокументированная служебная команда).

  • в) Информация, необходимая для работы управляющего процессора HDD и специализированных микросхем контроллера - Firmware, или служебное ПО накопителя. Представляет собой набор программ, обеспечивающих выполнение функций HDD и таблиц, содержащих все необходимые для работы данные (параметры накопителя, название модели, серийный номер и т.п., адреса замещенных дефектных секторов, атрибуты SMART и так далее). Расположена эта информация на специально предназначенных для этого служебных цилиндрах, недоступных в пользовательском режиме работы HDD. Запись ее производится также с помощью технологических команд.

2. Служебная информация ОС (DOS,Windows)

Операционная система создает на HDD свою структуру служебных данных для обеспечения возможности манипуляций с хранящийся информацией по правилам, принятым в данной ОС. С точки зрения ОС накопитель представляет собой просто совокупность произвольно адресуемых блоков (секторов), вне зависимости от внутренней конструкции устройства. Средствами ОС создаются таблицы логических разделов (программой fdisk), таблицы параметров раздела и расположения файлов (программой format), записываются программы загрузки ОС. Логическоге форматирование заключается именно в записи этих таблиц и программ, а также проверке доступности секторов данных, входящих в логический раздел. Если при проверке обнаруживаются недоступные сектора (сектора, при выполнении для которых команды верификации возвращается код ошибки), они помечаются в FAT как плохие. К идентификаторам секторов и вообще низкоуровневому формату эта процедура никакого отношения не имеет. Запись производится только в сектора, отведенные под загрузчик ОС, FAT и корневой каталог.

3. Что есть Low Level Format из BIOS

В стандарте ATA (AT attachment) имеется команда 50h (Format Track), оставшаяся "по наследству" от ST506/412. В настоящее время данная команда поддерживается всеми изготовителями HDD "для совместимости", реальное же действие накопителя при получении ее варьируется от простого игнорирования до записи нулей в указанные сектора. Реальное н.у. форматирование пользовательском режиме работы HDD невозможно хотя бы из-за того, что внутренняя программа транслятора контроллера HDD скрывает истинную адресацию секторов. Результатом выполнения "низкоуровневого форматирования" из BIOS может быть:

  • а) Отсутствие результата ;-), то есть полное игнорирование винчестером этой процедуры. Позиционирование будет честно отработано, но никаких действий на дисках произведено не будет.

  • б) Запись нулей во все сектора, то есть простое стирание информации пользователя.

  • в) Возникновение проблем с HDD старых серий, не обеспечивающих надежную защиту от пользователя ;-). Hекоторые старые HDD (емкостью 40-80 мб) могут на 50h отвечать ошибкой, что может привести к маркировке всех секторов как "bad", или наоборот, записать нулями часть служебных треков, что приведет к неработоспособности накопителя.

В то же время команда форматирования трека предоставляет и весьма полезные возможности. Сама команда выглядит следующим образом (AT Attachment Interface for Disk Drives, Revision 4c, 1994):

В регистр счетчика секторов (sector count) заносится число секторов на трек (логическое, обычно 63);

В регистр накопителя/головки - номер накопителя и головки.

В регистры номера цилиндра - номер цилиндра.

В регистр команд - 50h

Затем заполняется буфер сектора (100h слов) блоком данных, в котором каждое 16-битное слово является дескриптором сектора и содержит в старшем байте - номер сектора, а в младшем - дескриптор, который может принимать значения:

00h - Format sector as good;

20h - Unassign the alternate location for this sector;

40h - Assign this sector to alternate location;

80h - Format sector as bad

"Хвост" буфера заполняется нулями. По заполнении буфера команда выполняется.

Таким образом, с помощью команды Format Track можно производить замену (assign) дефектных секторов на резервные. Такая возможность поддерживается большинством современных IDE HDD. К сожалению, процедуры LLF BIOS (по крайней мере большинства из них) эту процедуру не реализуют. Поэтому для скрытия дефектов лучше использовать программы Hddspeed и Hddutil.

И последнее замечание: LLF из BIOS может привести и к положительному результату, как, например, в случае с ошибочной контрольной суммой поля данных сектора. При чтении такого сектора будет возникать ошибка "Uncorrectable by ECC" до тех пор, пока новая запись в него не скорректирует байты ECC. Это может сделать и BIOS LLF (если только винчестер его не проигнорирует).

Таким образом, процедуру HDD Low Level Format, реализованную в BIOS многих системных плат, можно признать в большинстве случаев безвредной (для самого винчестера, но не для информации на нем), но и практически бесполезной. То есть ее использование может принести только ту пользу, которую способна принести простая запись нулей во все сектора логического дискового пространства. А это проще и быстрее делать с помощью Norton Diskedit или, например, утилиты Zdisk www.quantum.com

 

Тарановский Л.О., leonid@mailbox.alkor.ru

Copyright L.Taranovsky '2000


Наверх | К списку статей | На главную страницу


Полное или частичное воспроизведение любых материалов, содержащихся на этом сайте, допускается только с письменного разрешения администрации. Авторские права на опубликованные на сайте материалы принадлежат их владельцам.
Замечания? Предложения? "Мертвые" ссылки? Проблемы с загрузкой страниц? Пишите вебмастеру или в гостевую книгу
Designed by Эfir studio | © 2002-03 Yuri Lysenkov