Магнитные диски в контексте персональных платформ

27 мая 2018

Магнитные диски в контексте персональных платформ

Файл подкачки (своппинга) — неотъемлимая часть виртуальной ад­ре­са­ции в защищенном режиме работы x86-процессора. Его су­ще­ство­ва­ние под­ра­зу­ме­ва­ет использование в составе персональных платформ на­ко­пи­те­лей на жест­ких маг­нит­ных дис­ках. Это ог­ра­ни­чи­ва­ет рас­смот­ре­ние та­ких уст­ройств пятидюймовым форм­-фак­то­ром, хотя до се­го­ дня до­жи­ли только HDD с более компактной компоновкой. Вось­ми­дюй­мо­вые на­ко­пи­те­ли на­всег­да остались в прошлом, оставаясь кол­лек­ци­он­ным ан­ти­ква­ри­а­том. Но каким бы ни был размер устройства, прин­цип его ра­бо­ты ос­но­ван на «эф­фек­те памяти» магнитных материалов — за­по­ми­на­нии дво­ич­ных нулей и еди­ниц пу­тем индуктивного воз­дей­ст­вия на специальную по­верх­ность. Образованные на ней структуры дан­ных позволяют контрол­ле­ру жест­ко­го диска адресовать, искать, находить читать и модифицировать ин­фор­ма­цию, ор­га­ни­зо­ван­ную оп­ре­де­лен­ным образом. Как это происходит? Давайте разбираться.

Магнитные диски списывать со счетов еще рано

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

Секторы. дорожки, блоки

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

Как видим, разметка поверхности носителя CD-ROM похожа на патефонную пластинку, что продиктовано тре­бо­ва­ни­ем непрерывной записи. Поверхность магнитного носителя разделена на секторы, которые в пределах одной дорожки объединяются в блоки. До последнего времени размер сектора всегда составлял 512 байт.

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

Внедрение зонной записи повлияло на снятие с повестки дня такого понятия как interleaving. Его суть сводилась к нумерации секторов на дорожке не строго последовательно, а с заданным шагом чередования. Interleaving по­зво­лял оптимизировать доступ к хранящейся на поверхности информации, уменьшая время чтения и записи. Точ­нее, он был необходим потому, что при смежном расположении двух секторов, контроллер после считывания оче­ред­но­го сектора не успевал начать операцию чтения следующего сектора и пропускал его до повторного появления под магнитной головкой через целый оборот диска. Кроме того, при увеличении объема локальной памяти кон­т­рол­ле­ра уже не требуется заботиться об освобождении буфера после передачи каждого сектора, как это было во вре­ме­на MFM-устройств. Поэтому несмотря на увеличение скорости вращения магнитного носителя и как след­ст­вие уменьшение длительности межсекторных интервалов, стало возможным чтение дорожки за один обо­рот дис­ка. В дальнейшем эта идея была востребована в очереди команд NCQ интерфейса SATA.

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

Объем имеет значение

И все же, как оценить объем магнитного диска, указанный в техническом паспорте устройства? Для начала от­ме­тим, что рабочее пространство накопителя формируется из нескольких пластин (сленговое название — «блинов»), которые составляют дисковый пакет. Доступ к поверхности каждой из них выполняется с помощью «своей» маг­нит­ной головки. В этом случае равноудаленные дорожки на всех поверхностях магнитных дисков образуют ло­ги­че­ские ци­лин­дры.

Цилиндры и головки нумеруются, начиная с нуля; секторы в пределах одного цилиндра — с единицы. Эти три па­ра­мет­ра образуют кортеж, который определяет физическую геометрию диска — CHS (Cylinders, Heads, Sectors).

Казалось бы, зная геометрию жесткого магнитного диска несложно подсчитать его объем. Для этого нужно ум­но­жить количество головок на количество цилиндров, затем на количество секторов и на размер сектора в байтах (будем считать эту величину константой, равной 512 байт).

Для корректных вычислений нужно принять во внимание разрядность полей, отведенных для хранения па­ра­мет­ров геометрии. В силу обратной совместимости необходимо придерживаться принятых соглашений, ог­ра­ни­чи­ва­ю­щих количество цилиндров (не более 1024), секторов (не более 63) и головок — до 255. В результате умножения получаем что-то около 16,5 млн. секторов, что в пересчете составляет 8 гигабайт.

О логическом и физическом аспектах в архитектуре HDD

Вывод очевиден: в объеме современного HDD нужно применять сквозную нумерацию всех секторов (блоков), что собственно и делается с помощью LBA — Logical Block Addressing. Правда, такой алгоритм должен быть встроен в UEFI BIOS и понятен операционной системе. В свою очередь, для работы современных накопителей в рамках Legacy BIOS могут использоваться различные расширения API дисковых операций.

Механизмы, используемые для передачи информации о геометрии накопителя (паспорт диска и функция пре­ры­ва­ния INT 13h), в общем случае используют логическую геометрию, которая является виртуальной и не со­от­вет­ст­ву­ет реальным физическим параметрам устройства. Это востребовано для удобства адресации и обхода ог­ра­ни­че­ний, свой­ст­вен­ных Legacy-платформам. Кроме того, на уровне логической геометрии зонная запись не от­ра­жа­ет ре­аль­ное положение дел, так как все логические дорожки содержат одинаковое количество секторов. Очевидно, при­ме­не­ние таких трюков позволяет снять с операционной системы заботу об адресации дорожек неодинакового размера, заключив этот вопрос внутри HDD («черного ящика»), как обязанность встроенного firmware на­ко­пи­те­ля на жест­ких магнитных дисках.