Чтобы очистить секторы, в них зачастую записываются специальные последовательности байтов. Заметим, что, кроме промежутков внутри секторов, существуют промежутки между секторами на каждой дорожке и между самими дорожками. При этом ни в один из указанных промежутков нельзя записать "полезные" данные. Префиксы, суффиксы и промежутки — это как раз то пространство, которое представляет собой разницу между неформатированной и форматированной емкостями диска и "теряется" после его форматирования.
Для наглядности представьте, что секторы — это страницы в книге. На каждой странице содержится текст, но им заполняется не все пространство страницы, так как у нее есть поля (верхнее, нижнее, правое и левое). На полях помещается служебная информация, например названия глав (в нашей аналогии это будет соответствовать номерам дорожек и цилиндров) и номера страниц (что соответствует номерам секторов). Области на диске, аналогичные полям на странице, создаются во время форматирования диска; тогда же в них записывается и служебная информация. Кроме того, во время форматирования диска области данных каждого сектора заполняются фиктивными значениями. Отформатировав диск, можно записывать информацию в области данных обычным образом. Информация, которая содержится в заголовках и заключениях сектора, не меняется во время обычных операций записи данных. Изменить ее можно, только переформатировав диск.
В табл. 10.1 в качестве примера приведен формат дорожки и сектора стандартного жесткого диска, имеющего 17 секторов на дорожке. (Общее количество байтов в секторе — 571; количество байтов данных в секторе — 512; всего байтов на дорожке — 10 416; количество байтов данных на дорожке — 8 704.)
Из таблицы видно, что "полезный" объем дорожки примерно на 15% меньше возможного. Эти потери характерны для большинства накопителей, но для разных моделей они могут быть различными.
Таблица 10.1. Стандартный формат дорожки, содержащей 17 секторов
Количество |
Наименование |
Описание |
байтов |
||
POST INDEX GAP (послеиндексный интервал) |
Все байты равны 4ЕИ; записываются в начале дорожки, |
|
сразу после индексной метки (маркера) |
||
Следующие данные (приведенные между двумя линиями таблицы) повторяются 17 раз — в каждом секторе |
||
дорожки, записанной по методу MFM |
||
1B |
ID VFO LOCK (захват генератора для |
Все байты равны 00h; происходит синхронизация |
считывания идентификатора сектора) |
генератора перед считыванием идентификатора |
|
(ID) сектора |
||
SYNC BYTE (байт синхронизации) |
A1h; сообщает контроллеру о начале участка ID |
|
сектора (о том, что далее следуют данные) |
||
ADDRESS MARK (метка адреса) |
FEh; отмечает начало поля ID сектора |
|
CYLINDER NUMBER (номер цилиндра) |
Значение байтов определяет положение привода |
|
головок |
||
HEAD NUMBER (номер головки) |
Значение байта соответствует номеру головки |
|
SECTOR NUMBER (номер сектора) |
Значение байта соответствует номеру сектора |
|
CRC |
Контрольные байты CRC для проверки данных ID |
|
сектора |
||
B |
WRITE TURN-ON GAP (интервал включения |
Все байты равны 00h; отделяет ID от сектора данных |
записи) |
||
1B |
DATA SYNC VFO LOCK (захват генератора |
Все байты равны 00h; происходит синхронизация |
для считывания данных) |
генератора перед считыванием данных |
|
SYNC BYTE (байт синхронизации) |
A1h; сообщает контроллеру о начале области данных |
|
ADDRESS MARK (метка адреса) |
F8h; отмечает начало области данных |
|
DATA (данные) |
Область данных |
|
CRC |
Байты контрольной суммы CRC для проверки |
|
достоверности данных |
||
B |
WRITE TURN-OFF GAP (интервал отключе- |
Все байты равны 00h; записывается при обновле- |
ния записи) |
нии данных для их отделения от прочих участков |
|
INTER-RECORD GAP (интервал между |
Все байты равны 00h; страховочная зона для |
|
записями) |
защиты данных от стирания при отклонениях |
|
частоты вращения диска от номинальной |
||
69B |
PRE-INDEX GAP (предындексный интервал) |
Все байты равны 4Eh; конец дорожки перед |
индексной меткой (маркером) |
А теперь перейдем к описанию некоторых областей сектора и дорожки записи.