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

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

Файл подкачки (своппинга) — неотъемлимая часть виртуальной ад­ре­са­ции в за­щи­щен­ном ре­жи­ме работы 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 на­ко­пи­те­ля на жест­ких маг­нит­ных дис­ках.