Что такое цилиндр жесткого диска

Обновлено: 02.07.2024

В этом подразделе представлена ​​терминология, связанная с жесткими дисками. Если вы уже знакомы с терминами и понятиями, можете пропустить этот подраздел.

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

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

Поверхности обычно делятся на концентрические кольца, называемые дорожками , которые, в свою очередь, делятся на сектора . Это разделение используется для указания местоположений на жестком диске и для выделения дискового пространства для файлов. Чтобы найти заданное место на жестком диске, можно сказать "поверхность 3, дорожка 5, сектор 7". Обычно количество секторов одинаково для всех дорожек, но некоторые жесткие диски помещают больше секторов на внешние дорожки (все сектора имеют одинаковый физический размер, поэтому на более длинных внешних дорожках помещается больше секторов). Обычно сектор содержит 512 байт данных. Сам диск не может обрабатывать меньшее количество данных, чем один сектор.

Рисунок 5-1. Схематическое изображение жесткого диска.

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

Количество поверхностей (или головок, что одно и то же), цилиндров и секторов сильно различается; спецификация числа каждого называется геометрией жесткого диска. Геометрия обычно хранится в специальной области памяти с питанием от батареи, называемой CMOS RAM , откуда операционная система может получить ее во время загрузки или инициализации драйвера.

К сожалению, у BIOS есть конструктивное ограничение, из-за которого невозможно указать номер дорожки больше 1024 в CMOS RAM, что слишком мало для большого жесткого диска. Чтобы преодолеть это, контроллер жесткого диска лжет о геометрии и переводит адреса, данные компьютером, во что-то, что соответствует действительности. Например, жесткий диск может иметь 8 головок, 2048 дорожек и 35 секторов на дорожку. Его контроллер мог солгать компьютеру и заявить, что он имеет 16 головок, 1024 дорожки и 35 секторов на дорожку, тем самым не превысив лимит на дорожки, и транслирует адрес, который дает ему компьютер, уменьшая вдвое номер головки и удваивая число секторов. номер дорожки. В действительности математика может быть сложнее, потому что цифры не такие красивые, как здесь (но опять же, детали не важны для понимания принципа). Этот перевод искажает представление операционной системы об организации диска, что делает непрактичным использование трюка со всеми данными на одном цилиндре для повышения производительности.

Перевод представляет собой проблему только для IDE-дисков. Диски SCSI используют последовательный номер сектора (т. е. контроллер преобразует последовательный номер сектора в головку, цилиндр и тройку секторов) и совершенно другой метод взаимодействия ЦП с контроллером, поэтому они изолированы от проблемы. Обратите внимание, однако, что компьютер также может не знать реальную геометрию диска SCSI.

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

Каждый жесткий диск представлен отдельным файлом устройства. Жестких дисков IDE может (обычно) быть только два или четыре.Они известны как /dev/hda, /dev/hdb, /dev/hdc и /dev/hdd соответственно. Жесткие диски SCSI известны как /dev/sda, /dev/sdb и так далее. Аналогичные соглашения об именах существуют и для других типов жестких дисков; см. главу 4 для получения дополнительной информации. Обратите внимание, что файлы устройств для жестких дисков предоставляют доступ ко всему диску, независимо от разделов (которые будут обсуждаться ниже), и легко испортить разделы или данные в них, если вы не будете осторожны. Файлы устройств дисков обычно используются только для получения доступа к основной загрузочной записи (что также будет рассмотрено ниже).

Жесткий диск — это запечатанный блок, содержащий несколько пластин в стеке. Жесткие диски могут быть установлены в горизонтальном или вертикальном положении. В этом описании жесткий диск установлен горизонтально.

Электромагнитные головки чтения/записи расположены над и под каждой пластиной. Когда пластины вращаются, приводные головки перемещаются к центральной поверхности и выдвигаются к краю. Таким образом, головки дисков могут достигать всей поверхности каждого диска.

Создание дорожек

На жестком диске данные хранятся тонкими концентрическими полосами. Головка привода, находясь в одном положении, может читать или записывать кольцевое кольцо или полосу, называемую дорожкой. На 3,5-дюймовом жестком диске может быть более тысячи дорожек. Секции внутри каждой дорожки называются секторами. Сектор — это наименьшая физическая единица хранения на диске, и почти всегда его размер составляет 512 байт (0,5 КБ).

На рисунке ниже показан жесткий диск с двумя пластинами.

Части жесткого диска

Структура старых жестких дисков (например, до Windows 95) будет относиться к обозначению цилиндр/головка/сектор. Цилиндр формируется, когда все головки дисковода находятся в одном и том же положении на диске.

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

Для операционной системы компьютера дорожки имеют скорее логическую, чем физическую структуру, и устанавливаются при низкоуровневом форматировании диска. Дорожки нумеруются, начиная с 0 (крайний край диска) и заканчивая дорожкой с наибольшим номером, обычно 1023 (ближе к центру). Точно так же на жестком диске имеется 1024 цилиндра (пронумерованных от 0 до 1023).

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

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

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

Секторы и кластеры

Сектор, являющийся наименьшей физической единицей хранения на диске, почти всегда имеет размер 512 байт, поскольку 512 — это степень числа 2 (2 в степени 9). Число 2 используется потому, что в самых основных компьютерных языках есть два состояния — включено и выключено.

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

Оптимальный способ хранения файла на диске — непрерывная серия, т. е. все данные в потоке хранятся в одной строке от начала до конца. Поскольку размер многих файлов превышает 512 байт, файловая система сама должна выделить сектора для хранения данных файла. Например, если размер файла составляет 800 байт, для файла выделяется два сектора по 512 КБ.

Кластер может состоять из одного или нескольких последовательных секторов. Количество секторов всегда является показателем степени 2. Кластер может состоять из 1 сектора (2^0) или, что чаще, из 8 секторов (2^3). Единственное нечетное число a секторов, из которых может состоять кластер, равно 1. Это не может быть 5 секторов или четное число, которое не является показателем степени 2. Это не будет 10 секторов, но может быть 8 или 16 секторов.

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

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

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

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

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

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

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

О нас

LSoft Technologies Inc. — частная североамериканская компания-разработчик программного обеспечения. Наша цель — создавать лучшие в мире решения для восстановления данных, безопасности и резервного копирования, обеспечивая высочайшую производительность, инновации и непревзойденное обслуживание клиентов.

Жесткий диск — это запечатанный блок, содержащий несколько пластин в стеке. Жесткие диски могут быть установлены в горизонтальном или вертикальном положении. В этом описании жесткий диск установлен горизонтально. Электромагнитные головки чтения/записи расположены над и под каждой пластиной. Когда пластины вращаются, приводные головки перемещаются к центральной поверхности и выдвигаются к краю. Таким образом, головки дисков могут достигать всей поверхности каждого диска.

Каждый диск состоит из пластин, колец на каждой стороне каждой пластины, называемых дорожками, и разделов внутри каждой дорожки, называемых секторами. Сектор — это наименьшая физическая единица хранения на диске, почти всегда размером 512 байт.

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

Два жестких диска

Схема обозначений цилиндр/головка/сектор, описанная в этом разделе, постепенно устраняется. Во всех новых дисках используется какой-то коэффициент перевода, чтобы их фактическая аппаратная компоновка отображалась как нечто другое, в основном для работы с MS-DOS и Windows 95.

гусеницы и цилиндры

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

Цилиндр состоит из набора дорожек, которые находятся в одной и той же позиции на диске. На рисунке ниже цилиндр 0 — это четыре дорожки на самых внешних краях сторон пластин. Если на диске 1024 цилиндра (которые будут пронумерованы от 0 до 1023), цилиндр 1023 состоит из всех дорожек на самом внутреннем краю каждой стороны.

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

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

Секторы и кластеры

Каждая дорожка разделена на секции, называемые секторами . Сектор — это наименьшая физическая единица хранения данных на диске. Размер данных сектора всегда равен степени двойки и почти всегда равен 512 байтам.

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

Кластеры и сектора

Когда файл записывается на диск, файловая система выделяет соответствующее количество кластеров для хранения данных файла. Например, если размер каждого кластера составляет 512 байт, а размер файла — 800 байт, для файла выделяется два кластера. Позже, если вы обновите файл, например, в два раза больше (1600 байт), будут выделены еще два кластера.

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

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

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

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

Что такое сектор головки блока цилиндров? Сектор головки цилиндра, также известный как CHS, — это ранний метод присвоения адреса каждому физическому блоку данных на жестком диске.

В то время жесткий диск имел небольшую емкость и производился аналогично гибкому диску. Итак, формируется геометрия диска, а именно значение сектора ГБЦ и соответствующая адресация CHS.

 структура жесткого диска

Чтобы хорошо знать сектор головки блока цилиндров, необходимо представить базовую структуру жесткого диска. Как мы все знаем, каждый жесткий диск состоит из пластин и головок чтения-записи. Количество пластин зависит от емкости жесткого диска.

Каждая пластина разделена на дорожки, которые представляют собой концентрические круги. Головки чтения-записи читают и записывают данные по дорожкам на пластинах. И две стороны пластины могут записывать данные. Таким образом, количество головок чтения-записи в два раза больше числа пластин.

Все концентрические дорожки одинакового радиуса на всех пластинах вертикально уложены в цилиндр. Итак, значение цилиндра — это количество дорожек на одной стороне каждой пластины. Конечно, номера дорожек на каждой стороне каждой пластины одинаковы.

Дорожка разделена на множество коротких сегментов, которые называются секторами. Каждый сектор обычно имеет емкость 512 байт (в настоящее время емкость сектора может составлять 4 КБ, называемая сектором 4 КБ). Номера секторов на каждой дорожке одинаковы на ранних жестких дисках. Внутренние сектора с меньшей физической площадью могут иметь одинаковую емкость с внешними секторами за счет различной плотности размещения.

Итак, если мы знаем количество цилиндров, головок и секторов, мы можем рассчитать емкость жесткого диска.Формула расчета следующая: емкость жесткого диска = номер цилиндра × номер головки × номер сектора × 512 байт.

Адресация CHS и LBA

Цилиндры нумеруются от внешнего края "0". Сектора нумеруются с «1». И головки чтения-записи тоже имеют свой серийный номер. Итак, мы можем найти каждую зону жесткого диска со значением сектора головки блока цилиндров. Это называется адресацией CHS, которая эффективно работала на первых жестких дисках.

Однако адресация CHS поддерживает ограниченную емкость жесткого диска. На наибольшую адресную емкость жесткого диска влияют три параметра: номер головки не более 255, номер цилиндра не более 1023, номер сектора не более 63. Итак, наибольшая адресная емкость жесткого диска составляет 8,4 ГБ. (255 * 1023 * 63 * 512 / 1000 000 000).

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

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

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

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

Читайте также: