Процедура HDD Low Level Format системного BIOS |
1. Служебная инфомация 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 может быть:
В регистр счетчика секторов (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 |