Что такое дорожка в информатике
Архитектура ЭВМ
Компоненты ПК
Интерфейсы
Мини блог
Самое читаемое
Sms рассылка бесплатная смс отправка через интернет world sms.
Накопители на жёстких дисках
Дорожки и секторы
Дорожка — это одно “кольцо” данных на одной стороне диска. Дорожка записи на диске слишком велика, чтобы использовать ее в качестве единицы хранения информации. Во многих накопителях ее емкость превышает 100 тыс. байтов, и отводить такой блок для хранения небольшого файла крайне расточительно. Поэтому дорожки на диске разбивают на нумерованные отрезки, называемые секторами .
Количество секторов может быть разным в зависимости от плотности дорожек и типа накопителя. Например, дорожка гибких дисков может содержать от 8 до 36 секторов, а дорожка жесткого диска — от 380 до 700. Секторы, создаваемые с помощью стандартных программ форматирования, имеют емкость 512 байт, но не исключено, что в будущем эта величина изменится. Следует отметить один важный факт: для совместимости со старыми BIOS, независимо от реального количества секторов на дорожке, устройство должно выполнять трансляцию в режим 63 секторов на дорожке, принятый в адресации CHS.
Нумерация секторов на дорожке начинается с единицы, в отличие от головок и цилиндров, отсчет которых ведется с нуля. Например, дискета емкостью 1,44 Мбайт содержит 80 цилиндров, пронумерованных от 0 до 79, в дисководе установлены две головки (с номерами 0 и 1) и каждая дорожка цилиндра разбита на 18 секторов (1–18).
При форматировании диска в начале и конце каждого сектора создаются дополнительные области для записи их номеров, а также прочая служебная информация, благодаря которой контроллер идентифицирует начало и конец сектора. Это позволяет отличать неформатированную и форматированную емкости диска. После форматирования емкость диска уменьшается, и с этим приходится мириться, поскольку для обеспечения нормальной работы накопителя некоторое пространство на диске должно быть зарезервировано для служебной информации. Стоит, однако, отметить, что в новых дисках используется форматирование без идентификатора, т.е. не проставляются отметки начала и конца каждого из секторов. Это позволяет использовать немного больше пространства для хранения реальных данных.
В начале каждого сектора записывается его заголовок (или префикс), по которому определяется начало и номер сектора, а в конце — заключение (или суффикс), в котором находится контрольная сумма, необходимая для проверки целостности данных. В вышеупомянутой системе адресации без идентификаторов начало и конец каждого из секторов определяется на основании импульсов генератора тактовой частоты.
Помимо указанных областей служебной информации, каждый сектор содержит область данных емкостью 512 байт. При низкоуровневом (физическом) форматировании всем байтам данных присваивается некоторое значение, например F6h. Электронные схемы накопителей с большим трудом справляются с кодированием и декодированием некоторых шаблонов, поскольку эти шаблоны используются только при тестировании дисководов, выполняемом производителем в процессе первоначального форматирования. Используя специальные тестовые шаблоны, можно выявить ошибки, которые не обнаруживаются с помощью обычных шаблонов данных.
Примечание!
Заголовки и суффиксы секторов не зависят от операционной и файловой систем, а также от файлов, хранящихся на жестком диске. Помимо этих элементов, существует множество промежутков в секторах, между секторами на каждой дорожке и между дорожками, но ни один из этих промежутков не может быть использован для записи данных. Промежутки создаются во время форматирования на низком (физическом) уровне, при котором удаляются все записанные данные. На жестком диске промежутки выполняют точно такие же функции, как и на магнитофонной кассете, где они используются для разделения музыкальных записей. Начальные, завершающие и промежуточные пробелы представляют собой именно то пространство, которое определяет разницу между форматной и неформатной емкостью диска. Например, емкость 4-мегабайтовой дискеты (3,5-дюйма) после форматирования “уменьшается” до 2,88 Мбайт (форматная емкость). Дискета емкостью 2 Мбайт (до форматирования) имеет форматную емкость 1,44 Мбайт. Жесткий диск Seagate ST-4038, имеющий неформатную емкость 38 Мбайт, после форматирования “уменьшается” до 32 Мбайт (форматная емкость).
Форматирование низкого уровня современных жестких дисков ATA/IDE и SCSI выполняется еще на заводе, поэтому изготовитель указывает только форматную емкость диска. Тем не менее практически на всех дисках имеется некоторое зарезервированное пространство для управления данными, которые будут записаны на диске. Как видите, утверждать, что размер любого сектора равен 512 байт, — не вполне корректно. На самом деле в каждом секторе можно записать 512 байт данных, но область данных — это только часть сектора. Каждый сектор на диске обычно занимает 571 байт, из которых под данные отводится только 512 байт. В различных накопителях пространство, отводимое под заголовки и суффиксы, может быть разным, но, как правило, сектор имеет размер 571 байт. Как уже говорилось, многие современные диски используют схему разметки без идентификаторов заголовков секторов, что высвобождает дополнительное пространство для данных.
Для наглядности представьте, что секторы — это страницы в книге. На каждой странице содержится текст, но им заполняется не все пространство страницы, так как у нее есть поля (верхнее, нижнее, правое и левое). На полях помещается служебная информация, например названия глав (на диске это соответствует номерам дорожек и цилиндров) и номера страниц (что соответствует номерам секторов). Области на диске, аналогичные полям на странице, создаются во время форматирования диска; тогда же в них записывается и служебная информация. Кроме того, во время форматирования диска области данных каждого сектора заполняются фиктивными значениями. Отформатировав диск, можно записывать информацию в области данных обычным образом. Информация, которая содержится в заголовках и заключениях сектора, не меняется во время обычных операций записи данных. Изменить ее можно, только переформатировав диск.
В таблице в качестве примера приведен формат дорожки и сектора стандартного жесткого диска, имеющего 17 секторов на дорожке. Из таблицы видно, что “полезный” объем дорожки примерно на 15% меньше возможного.
Эти потери характерны для большинства накопителей, но для разных моделей они могут быть различными. Ниже подробно анализируются данные, представленные в табл. 9.2. Послеиндексный интервал нужен для того, чтобы при перемещении головки на новую дорожку переходные процессы (установка) закончились прежде, чем она окажется перед первым сектором. В этом случае его можно начать считывать сразу, не дожидаясь, пока диск совершит дополнительный оборот.
Послеиндексный интервал далеко не всегда обеспечивает время, достаточное для перемещения головки. В этом случае накопитель получает дополнительное время за счет смещения секторов на различных дорожках, которое приводит к задержке появления первого сектора. Другими словами, процесс форматирования низкого уровня приводит к смещению нумерации секторов, в результате чего секторы на соседних дорожках, имеющие одинаковые номера, смещаются друг относительно друга. Например, сектор 9 одной дорожки находится рядом с сектором 8 следующей дорожки, который, в свою очередь, располагается бок о бок с сектором 7 следующей дорожки, и т.д. Оптимальная величина смещения определяется соотношением частоты вращения диска и радиальной скорости головки.
Примечание!
Идентификатор сектора (ID) состоит из полей записи номеров цилиндра, головки и сектора, а также контрольного поля CRC для проверки точности считывания информации ID.
В большинстве контроллеров седьмой бит поля номера головки используется для маркировки дефектных секторов в процессе форматирования низкого уровня или анализа поверхности. Однако такой метод не является стандартным, и в некоторых устройствах дефектные секторы помечаются иначе. Но, как правило, отметка делается в одном из полей идентификатора сектора. Интервал включения записи следует сразу за байтами CRC; он гарантирует, что информация в следующей области данных будет записана правильно. Кроме того, он служит для завершения анализа контрольной суммы (CRC) идентификатора сектора.
В поле данных можно записать 512 байт информации. За ним располагается еще одно поле CRC для проверки правильности записи данных. В большинстве накопителей размер этого поля составляет 2 байт, но некоторые контроллеры могут работать и с более длинными полями кодов коррекции ошибок (Error Correction Code — ECC). Записанные в этом поле байты кодов коррекции ошибок позволяют при считывании обнаруживать и исправлять некоторые ошибки. Эффективность этой операции зависит от выбранного метода коррекции и особенностей контроллера. Интервал отключения записи позволяет полностью завершить анализ байтов ECC (CRC).
Интервал между записями необходим для того, чтобы застраховать данные следующего сектора от случайного стирания при записи в предыдущий сектор. Это может произойти, если при форматировании диск вращался с частотой, несколько меньшей, чем при последующих операциях записи. При этом сектор, естественно, всякий раз будет немного длиннее. Поэтому, чтобы он не выходил за установленные при форматировании границы, их слегка “растягивают”, вводя упомянутый интервал. Его реальный размер зависит от разности частот вращения диска при форматировании дорожки и при каждом обновлении данных.
Предындексный интервал необходим для компенсации неравномерности вращения диска вдоль всей дорожки. Размер этого интервала зависит от возможных значений частоты вращения диска и сигнала синхронизации при форматировании и записи.
Информация, записываемая в заголовке сектора, имеет огромное значение, поскольку содержит данные о номере цилиндра, головки и сектора. Все эти сведения (за исключением поля данных, байтов CRC и интервала отключения записи) записываются на диск только при форматировании низкого уровня.
Физическая структура диска: дорожки, секторы, блоки
Емкость диска зависит от характеристики дисковода и особенностей операционной системы; однако, структура диска, в сущности, всегда одна и та же. Данные всегда записываются на магнитной поверхности в виде концентрических окружностей, называемых дорожками. Каждая дорожка, в свою очередь, состоит из нескольких секторов, количество которых определяется при операции форматирования.
Для стандартных дискет IBM расположение каждой дорожки не может быть изменен, потому что это, прежде всего, зависит не от ОС и не от дискеты, а от конструктивных особенностей дисковода. Однако, число, размер и расположение секторов задаются программно при первоначальной разметке ( форматировании ) дискеты. Разметка осуществляется либо ОС, либо используются функции BIOS. Хотя MS-DOS поддерживает размеры сектора дискет 128, 256, 512 и 1024 байта, однако используется сектор размером 512 байт и, по-видимому, это в ближайшее время не изменится ( если и измениться, то только в сторону увеличения ).
Структура формата дорожки зависит от типа контроллера, но, как правило, включает в себя байты синхронизации, указывающие на начало каждого сектора, идентификационные заголовки, состоящие из номера цилиндра, головки, сектора и размера сектора, и поля, хранящего байты циклического контроля, предназначенные для обнаружения ошибок при считывании данных и служебной информации.
│ gap4a │ index │ gap1 │ sector 1 │ │ sector n │ gap4b
9.2 Дорожки, секторы и цилиндры
Информация на каждом магнитном диске должна быть разбита на порции и “разложена” по заранее определенным ячейкам, расположенным стандартным образом. Каждая сторона магнитного диска может рассматриваться как двумерное пространство, на котором определены две координаты — например, длина и ширина или радиус и позиционный угол. Данные на носителе записываются вдоль концентрических окружностей, поэтому более удобными являются полярные координаты, одной из которых является положение участка на окружности (угол, отсчитанный от точки, принятой за нуль отсчета), а второй — радиус этой окружности. Головки записи/воспроизведения накопителя могут перемещаться вдоль радиусов вращающихся носителей при записи или считывании необходимых данных за время порядка миллисекунд. Каждое из концентрических колец с записанными данными на рабочих поверхностях дисков называется дорожкой. У современных дисков количество дорожек лежит, как правило, в пределах от 2048 до 16000 и более. На рис. показан принцип организации данных на простейшей “стопке” из трех магнитных дисков. Заметим, что каждый из носителей является двусторонним, т.е. помимо показанных на рисунке верхних поверхностей, у них есть еще и нижние, на которых тоже записываются данные.
Хотя каждая поверхность магнитного диска представляет собой двухмерное пространство, наличие в накопителе нескольких поверхностей-носителей (4, 6, 8 и более) позволяет ввести третью размерность размещения данных — “высоту” n ак как одноименные дорожки на всех носителях расположены на одинаковом расстоянии от оси вращения “стопки”, то их совокупность можно представить в виде цилиндра, проходящего через все магнитные диски. Количество цилиндров равно количеству дорожек на одной стороне магнитного диска.
После завершения считывания или записи данных на одной дорожке головка записи/воспроизведения должна переместиться на следующую, чаще всего смежную с ней. Эти пошаговые переходы, будучи достаточно быстрыми, тем не менее, занимают определенное время. Его называют временем поиска, и при переходе между соседними дорожками, цилиндрами задержка обычно не превышает 1мс.
В приводах с подвижной катушкой, которые используются в современных накопителях, головки перемещаются по дуге, — они могут быть установлены на любом расстоянии от оси вращения дисков (естественно, в пределах рабочих участков поверхностей носителей). Если начала и концы дорожек на всех цилиндрах расположить вдоль одного радиуса, то вполне может случиться так, что к моменту окончания перехода головок начало дорожки нового цилиндра уже “проскочит” вперед. В итоге накопитель вынужден будет ждать почти полный оборот, прежде чем под головкой пройдет метка начала новой дорожки. Сместив начала и концы дорожек на разных цилиндрах на некоторый угол друг относительно друга, можно создать запас времени, необходимый для перемещения головок с одного цилиндра на другой, и избавиться от необходимости выжидать, пока диски совершат холостой оборот (рис.). Этот метод смещения цилиндров (или концентрического смещения) позволяет существенно увеличить быстродействие накопителей на жестких дисках.
Служебные поля сектора используются для синхронизации систем накопителя и компенсации различных задержек. Как уже говорилось выше, в поле данных может быть записано до 512байт полезной информации. В процессе считывания эти данные обрабатываются по методу Рида-Соломона для получения 11байтов кода ЕСС. Вычисленный результат сравнивается с кодом ЕСС, записанным надиске. Если эти коды совпадают, то данные считаются достоверными, и работа накопителя продолжается. В противном случае данные рассматриваются как ошибочные. В процессе записи старый код ЕСС заменяется новым значением, которое вычисляется на основе записываемых данных. Еще раз отметим, что после форматирования диска перезаписи подлежат только поля данных и ЕСС. Все остальные поля остаются неизменными до тех пор, пока диск не будет переформатирован заново. Эта процедура производится только в тех случаях, когда по мере старения диска и потери остаточной намагниченности перестают читаться данные в области адресов у значительного количества секторов.
Рекомендуемые файлы
9.2.2. Резервирование секторов ( компенсация дефектов )
Головки записи/воспроизведения “парят” над поверхностями носителей на микроскопических расстояниях от них. Поддерживающая их воздушная подушка формируется воздушными потоками, возникающими при вращении магнитных дисков. Когда накопитель выключается, магнитные диски постепенно останавливаются. Интенсивность воздушных потоков быстро снижается, и головки “падают” на поверхности носителей. При таких “падениях” поверхности магнитных дисков изнашиваются, что, может привести к появлению поверхностных дефектов и безвозвратной потере данных. К тем же последствиям могут привести сотрясения работающих накопителей, при которых одна или несколько головок могут задеть рабочую поверхность. Хотя после таких аварий диск обычно удается переформатировать, поврежденные участки будут помечены как непригодные для использования, что может привести к снижению емкости накопителя (если исчерпан резерв запасных цилиндров). Кроме того, переформатирование жесткого диска чаще всего означает полную переустановку операционной системы и всех программ.
Чтобы избежать ударов головок о поверхности носителей при выключении накопителя и остановке дисков, выделяется специальный цилиндр (либо внутренний, ближайший к оси вращения, либо внешний), который играет роль посадочной полосы ( LZ — landing , zone ) для головок. Этот цилиндр не предназначен для хранения данных, поэтому соприкосновения головок с поверхностями дисков на этом участке вполне безопасны. Все современные накопители на жестких дисках имеют систему автоматической парковки — перевода головок на посадочную полосу по мере уменьшения частоты вращения магнитных дисков, а также их надежной фиксации до момента следующего включения накопителя. Фиксация головок необходима для того, чтобы они не смещались на рабочие дорожки при сотрясениях неработающего накопителя. Для старых накопителей в программах настройки BIOS предусматривалась специальная строка — “ LZ ” или ‘ Landingzone ”. Для современных дисков можно либо просто ввести “О” в строке “ LZ ”, либо позволить системе автоматически определить значение этого параметра.
9.2.4. Предварительная компенсация при записи
Чтобы избежать этого неприятного явления, между импульсами тока записи, подаваемыми на головки записи/воспроизведения при работе на внутренних цилиндрах, вводятся небольшие паузы.
(Вводить задержки между токовыми импульсами записи на всей поверхности диска нельзя, поскольку во время паузы не происходит перемагничивания рабочего слоя носителя (ток через обмотку головки не протекает). В результате на внешних цилиндрах, где за время паузы головка успевает “пробежать” достаточно большое расстояние, будут оставаться участки с прежним уровнем остаточной намагниченности, не имеющим отношения к записываемым данным.)
9.2.5. Параметры дисководов и их преобразование
9.2.6. Двоичные и десятичные мегабайты
Емкость = цилиндры х секторы х головки х 512
Например, емкость накопителя АС2850 с 1654 цилиндрами, 16 головками и 63 секторами окажется равной:
1654 х 16 х 63 x 512 = 853 622 784байт
Для сравнения, емкость накопителя АС34000 (7752. цилиндра, 16 головок 63сектора) будет равна:
7752 x 16 x 63 x 512 = 4 000 776 192байт
Все дальнейшие расхождения объясняются лишь трюками с кратными единицами. Производители аппаратных средств выражают емкости своих жестких дисков в десятичных мегабайтах (или гигабайтах). Чтобы перейти к мегабайтам, надо полученные выше значения разделить на 1 000 000, а для перехода к гигабайтам — на 1 000 000 000. Для накопителя АС2850 получим:
853 622 784 / 1 000 000 = 853,6Мб
а для накопителя АС34000:
4 000 776 192 / 1 000 000 000 = 4,0Гб
Разработчики же программного обеспечения при подсчете емкостей накопителей используют двоичные мегабайты и гигабайты. Двоичный мегабайт равен 1 048 576байт, а двоичный гигабайт — 1 073741 824байт. Именно поэтому большинство программ сообщит, что емкость накопителя АС2850 равна: 853 622 784 / 1 048 576 = 814Мбайт, а накопителя АС34000: 4 000 776 192 / 1 073 741 824 = 3,73Гбайт
Таким образом, мы имеем дело с представлением одной и той же величины, емкости накопителя, в разных единицах измерения — и оба эти способа правильные. К сожалению, изменить что-либо в сложившейся ситуации не представляется возможным. Просто надо помнить о существовании разных мегабайтов и не впадать в панику по поводу несуществующх неисправностей жесткого диска.
9.2.8. Представление о кэшировании диска
Затем выполняется считывание инфоpмации из служебной зоны в частности, таблицы пеpеназначения дефектных участков. Пpи низко уpовневом фоpматиpовании винчестеpа на заводе почти всегда обнаpуживаются дефектные сектоpа, котоpые заносятся в эту таблицу, и вместо них выделяются новые из заpезеpвиpованных на каждой доpожке или в областях pезеpвиpования. Благодаpя этому новый совpеменный винчестеp создает видимость полного отсутствия дефектов повеpхности, хотя на самом деле они есть почти всегда.
В завершение инициализации выполняется тестиpование позиционеpа путем перебора заданной последовательности дорожек если оно проходит успешно, пpоцессоp выставляет на интеpфейс признак готовности и пеpеходит в pежим работы по интерфейсу.
Во вpемя работы постоянно работает система слежения за положением головки на диске: из непpеpывно считываемого сигнала выделяется сигнал рассогласования, котоpый подается в схему обpатной связи, упpавляющую током обмотки позиционеpа. В pезультате отклонения головки от центра доpожки в обмотке возникает сигнал, стремящийся вернуть ее на место.
Пpи отключении питания пpоцессоp, используя энергию, оставшуюся в конденсаторах платы, выдает команду на установку позиционеpа в парковочное положение, которая успевает выполниться до снижения скорости вpащения ниже критической. В некоторых винчестерах для автоматического возврата служит помещенное между дисками коpомысло, постоянно испытывающее давление воздуха. Пpи отключении системы слежения противодействие исчезает и коpомысло толкает позиционеp в парковочное положение, где тот фиксируется защелкой. Движению головок в стоpону шпинделя способствует также центростремительная сила, возникающая из за вpащения дисков.
9.2.9. Ограничение емкости накопителей на уровне 504 Мбайт в классическом IDE -интерфейсе.
Люди также интересуются этой лекцией: 11 Диаграммы деятельности.
В теории все выглядит прекрасно, но на практике возникает проблема. Дело в том, что предельные значения количества цилиндров, головок и секторов в BIOS и в контроллере WD1003 разные. В BIOS определены следующие максимальные значения: 1024 цилиндров, 256 головок и 63 сектора на дорожку. Если перемножить все эти числа, а результат затем умножить на 512 (количество байт в секторе), то получается, что теоретический предел ограничения емкости накопителя на уровне BIOS составит 8 455 716 864байт (примерно 7,88 Гбайт или 8,4 Гб в десятичных единицах). Контроллер WD1003 может работать с 65536 цилиндрами, 16 головками и 256 секторами на дорожке, т.е. теоретическая емкость накопителя составляет 128Гбайт (137 Гб).
Проблема заключается в том, что каждый из параметров накопителя ограничивается на минимальном уровне. Так, максимально доступное количество цилиндров оказывается равным 1024, максимальное количество головок — 16, а максимальное количество секторов — 63. Если перемножить эти три числа, а результат умножить на 512, то получим величину 504Мбайт (528Мб). Если бы разработчики BIOS и контроллера WD1003 заранее договорились о единых предельных значениях параметров накопителей, то проблема была бы устранена, даже не возникнув, и предел емкости IDE-накопителей изначально оказался бы равным 128Гбайт. Но реальность, увы, такова, что доступное дисковое пространство стандартных IDE-накопителей в сочетании со старыми версиями BIOS составляет всего лишь 504Мбайт.
Для интерфейсов EIDE и UDMA допускается работа с оверлейными (обеспечивающими адресацию дискового пространства свыше 504 Мбайт) драйверами, причем драйвер Disk Manager (или подобные ему) часто входят в комплект поставки современных жестких дисков большой емкости. Однако есть несколько причин, по которым нежелательно использовать такие оверлейные драйверы. Во первых, они обычно занимают часть очень ценной области оперативной памяти в пределах первых 640Кбайт, поскольку далеко не во всех системах для них находится свободное место в верхней памяти (UMA — Upper Memory Area). Во вторых, старые оверлейные драйверы не всегда хорошо работают с операционными системами Windows, что приводит к традиционным проблемам совместимости жестких дисков большой емкости с Windows. В третьих, оверлейные драйверы могут конфликтовать с загруженными в память драйверами других устройств и резидентными программами.
В конечном счете, наиболее предпочтительным способом введения поддержки накопителей большой емкости в интерфейсах EIDE и U DMA является модернизация BIOS до версии с усовершенствованными процедурами, вызываемыми через прерывание INT13. Фирмы AMI и Micro Firmware первыми начали выпускать системные BIOS, совместимые с EIDE, однако впоследствии поддержка стандарта EIDE стала неотъемлемым свойством всех BIOS и контроллеров накопителей. В настоящее время общепринятой нормой стала поддержка режима UDMA/66/100/133 при соблюдении обратной совместимости с EIDE и IDE. Хотя замена BIOS — операция более сложная, чем установка драйвера, в большинстве случаев она себя полностью оправдывает (экономится память и обеспечивается лучшая совместимость с операционными системами). Разумной альтернативой модернизации системной BIOS может стать замена контроллера накопителей, т.е. установка нового адаптера с собственной встроенной BIOS и модернизированными процедурами, вызываемыми через прерывание INT13.