Жёсткий диск изнутри: дорожки, головки, CMR, SMR и механика задержек

Доступ к данным требует согласования радиального положения головки и углового положения сектора. Геометрия рисунка условна. Открыть иллюстрацию в полном размере.
Жёсткий диск может уверенно читать большой файл и резко замедляться на каталоге с тысячами мелких объектов. Другой накопитель быстро принимает несколько записей, а позднее надолго занимается внутренней работой. Эти наблюдения объясняются не одним параметром «скорость диска». В HDD совмещены магнитный носитель, механика позиционирования, считывающий канал, буферы и программное управление размещением. Крупный последовательный поток использует эту систему иначе, чем цепочка случайных обращений. Разберём устройство накопителя от поверхности пластин до времени завершения команды и отдельно выясним, почему CMR и SMR нельзя сравнивать без характера нагрузки.
Содержание статьи
- Что скрывается за логическим адресом сектора
- Дорожки, зоны и линейная скорость
- Позиционирование: добраться до нужной дорожки недостаточно
- Вращательная задержка: сектор ещё должен прийти к головке
- Передача данных: интерфейс и поверхность имеют разные пределы
- Складываем время одной операции
- Очередь даёт выбор, но добавляет ожидание
- CMR: отдельная дорожка остаётся доступной для обновления
- SMR: повышение плотности меняет правила обновления
- Кто управляет SMR: три разных модели
- Почему первые гигабайты могут вводить в заблуждение
- Секторы, выравнивание и физическая работа
- Что действительно измеряет повседневная операция
- Первичные источники
- Читайте также
Что скрывается за логическим адресом сектора
Операционная система обычно обращается к HDD по логическим адресам блоков, LBA. Она не выбирает напрямую головку, радиус дорожки и угловое положение. Контроллер преобразует адрес в доступ к физическому носителю, учитывает служебные области, дефекты и собственную политику. Поэтому изображение цилиндров, головок и секторов в старой программе не обязательно является картой реальной геометрии современного накопителя. Интерфейс предоставляет удобную адресуемую последовательность блоков, скрывая значительную часть физического устройства.
Магнитные пластины вращаются на общем шпинделе. Головки установлены на системе рычагов, которую перемещает исполнительный механизм. В распространённой конструкции один актуатор согласованно перемещает несколько головок над разными поверхностями; существуют и другие архитектуры. Переключение выбранной поверхности не означает, что обычный HDD превращается в несколько полностью независимых дисков. Общая механика и канал работы ограничивают доступный параллелизм. Число пластин не следует умножать на паспортную скорость как число автономных устройств.
Рабочий зазор между головкой и поверхностью поддерживается устройством накопителя и условиями вращения. Считывание и запись выполняют разные элементы головки, а полезный сигнал проходит сложную обработку. Это точная электромеханическая система, рассчитанная на закрытый корпус и предусмотренные условия. Вскрытие не является способом изучения собственного рабочего HDD: загрязнение, изменение среды и повреждение поверхности способны лишить данных. Для понимания конструкции достаточно схем, документации и наблюдений снаружи.
Дорожки, зоны и линейная скорость
Дорожка располагается вокруг оси вращения. При одной угловой скорости наружная дорожка проходит под головкой больший линейный путь за оборот, чем внутренняя. В зонной организации записи разные радиальные области могут содержать разное число секторов на дорожке. Это позволяет эффективнее использовать площадь. В результате устойчивая последовательная скорость способна зависеть от физической области, хотя частота вращения остаётся неизменной. Падение скорости по ходу длинного чтения не обязано означать перегрев или деградацию интерфейса.
Не следует представлять диск как идеальную грампластинку с одной непрерывной спиралью пользовательского файла. Дорожки, служебные метки и организация адресации сложнее. Последовательные LBA обычно позволяют организовать эффективный поток, но накопитель может перескакивать между поверхностями и областями, а переназначения и внутренняя трансляция добавляют исключения. По одному графику чтения нельзя достоверно восстановить все физические детали и точные границы зон.
Важно различать магнитные зоны и зоны интерфейса SMR. Первые могут относиться к геометрии и разной плотности данных вдоль дорожки. Вторые задают правила записи диапазонов логических адресов и состояние управления. Одинаковое слово не делает их одним объектом. В спецификации нужно выяснить, говорится ли о радиальной организации поверхности, группе перекрывающихся дорожек или видимой хосту области с указателем записи.
Служебная информация также занимает поверхность
Не вся записанная на пластинах информация является содержимым пользовательских файлов. Нужны средства синхронизации, адресации, исправления ошибок и слежения за дорожкой. Считывающий канал восстанавливает данные из физического сигнала и проверяет результат, а контроллер решает, достаточно ли качества или требуется повтор. Поэтому внутреннюю скорость обработки магнитного сигнала нельзя напрямую объявлять пользовательской скоростью. Часть потока обслуживает само хранение. По той же причине ёмкость физического носителя, адресуемая ёмкость и доступное место файловой системы относятся к разным уровням представления.
Повторное чтение и коррекция способны завершить команду правильными данными, но увеличить задержку. Один медленный запрос не позволяет определить, был ли причиной повтор канала, очередь, дополнительное перемещение или работа прошивки. Полезно смотреть распределение и связь с другими событиями. Среднее время, составленное из нескольких разных режимов, иногда скрывает редкие длительные операции. При этом отсутствие видимых ошибок не означает, что аппаратная коррекция никогда не выполнялась: успешное восстановление является нормальной частью работы магнитного хранения.
Позиционирование: добраться до нужной дорожки недостаточно
Seek — перемещение головки к нужному радиусу с последующим установлением в положении, пригодном для операции. Система использует сервометки и обратную связь, а не просто выдаёт двигателю команду «сдвинуться на столько-то миллиметров». Нужно разогнать и затормозить механику, затем попасть в допустимое окно. Короткое перемещение и переход через большой диапазон радиусов имеют разную динамику; среднее время поиска характеризует выбранное распределение запросов, а не каждое обращение.
Указанное в паспорте время может включать установление, но не включать вращательное ожидание или накладные расходы команды. Например, архивная спецификация Hitachi Travelstar 7K500 отдельно описывает среднее позиционирование с установлением, полный ход и среднюю вращательную задержку. Этот документ полезен как пример определения величин, а не как характеристика нынешних HDD. При сравнении разных источников одинаковое слово «доступ» требует проверки состава измерения.
Запись может предъявлять более строгие требования к положению, поскольку ошибка способна повредить соседний записанный участок. Считывающий канал и коррекция данных имеют собственные возможности, но не отменяют необходимость точного слежения. Вибрация, механические взаимодействия и условия монтажа способны влиять на завершение операций. При этом слышимое движение головок само по себе не измеряет время поиска и не устанавливает неисправность: важны режим, журнал событий и фактические задержки.

Вращательная задержка: сектор ещё должен прийти к головке
После выхода на дорожку нужный сектор может находиться в другом угловом положении. Для условных 7200 об/мин один оборот занимает 60 / 7200 секунды, то есть 8,33 мс. Если угловое положение запроса равномерно случайно, среднее ожидание составляет половину оборота — 4,17 мс. Для 5400 об/мин получаются 11,11 и 5,56 мс. Эти числа следуют из геометрии вращения, а не являются полным временем доступа.
Допущение о равномерном случайном положении существенно. При последовательном потоке сектор может подходить почти сразу, при неблагоприятном моменте потребуется почти полный оборот. Планирование очереди тоже меняет распределение ожиданий. Средняя величина не является минимальным или гарантированным максимальным временем. В документации Seagate Exos X18, например, приведены 7200 об/мин и средняя задержка 4,16 мс; здесь это проверенный пример соответствия определения формуле, без переноса прочих характеристик модели на все накопители.
Увеличение частоты вращения сокращает этот конкретный участок. Если значительную часть операции занимают позиционирование, ожидание в очереди и передача, итоговое улучшение будет меньше отношения оборотов. Поэтому 7200 против 5400 об/мин не означает ускорения любой программы на треть. Нужно сначала понять, какую долю времени нужная нагрузка действительно тратит на вращательное ожидание.

Передача данных: интерфейс и поверхность имеют разные пределы
После позиционирования и подхода сектора начинается передача содержимого. Её длительность связана с объёмом и достигнутой скоростью чтения или записи поверхности. Интерфейс SATA или SAS обслуживает обмен с контроллером, но не заставляет магнитный носитель выдавать данные с той же скоростью. В паспорте могут отдельно присутствовать скорость интерфейса, внутренний поток считывания и устойчивый пользовательский поток. Они относятся к разным границам и не подменяют друг друга.
Буфер способен передать уже считанные данные в компьютер быстрее, чем поверхность поддерживает непрерывный поток. Поэтому краткий всплеск близко к пределу интерфейса ещё не является скоростью механического чтения. Read-ahead помогает, если контроллер правильно предсказал последующие обращения. При случайном доступе по большой области полезность предвыборки может быть гораздо ниже. Размер буфера без сведений об алгоритме и нагрузке мало говорит о времени готовности нужного файла.
В учебном расчёте поток с поверхности равен 200 МБ/с, где мегабайт содержит миллион байт. Передача 4 КиБ занимает 4096 / 200 000 000 секунды, примерно 0,0205 мс. Это намного меньше миллисекунд механики. Для 1 МиБ передача уже требует примерно 5,24 мс. Увеличение блока помогает амортизировать механические расходы, но не устраняет их и не означает одинаковых задержек маленьких и больших команд.
Складываем время одной операции
Возьмём условное случайное чтение при глубине очереди один: поиск с установлением 8 мс, среднее вращение 4,17 мс и передача 4 КиБ за 0,0205 мс. Упрощённая сумма составляет около 12,19 мс. Обратная величина даёт примерно 82 операции/с, а полезный поток — около 0,34 МБ/с. Это не измерение модели HDD, а последовательная модель без дополнительных накладных расходов, повторов чтения и кэш-попаданий.
В тех же условиях команда на 1 МиБ потребует приблизительно 17,41 мс, из которых 5,24 мс приходится на передачу. Получается около 60 МБ/с полезного потока, хотя собственно последовательная скорость поверхности осталась 200 МБ/с. Разницу создала гранулярность случайных обращений. Поэтому сравнивать строку «4K random» со строкой последовательного чтения как два измерения одной и той же скорости некорректно.

Если же 256 МиБ передаются непрерывно после одного условного позиционирования, расчёт выглядит иначе: 268 435 456 / 200 000 000 + 0,01217 ≈ 1,354 с. Средний темп близок к 198 МБ/с. Это идеализированное чтение без пауз между командами и других потребителей. На практике файловая система разбивает работу, а адреса файла могут не образовывать один физически удобный поток. Но модель наглядно показывает причину огромной разницы между мелкими случайными и крупными последовательными операциями.
Очередь даёт выбор, но добавляет ожидание
Несколько независимых команд позволяют накопителю выбирать порядок обслуживания с учётом положения головок и вращения. Такое переупорядочивание способно уменьшить бесполезные перемещения и повысить общий темп. Протокольная поддержка очереди не означает, что у обычного диска появляются десятки одновременно читающих независимых головок. Большая часть выигрыша связана с лучшим расписанием общей механики и обслуживанием других внутренних операций.
Цена расписания — ожидание конкретной команды. Программа, которая должна получить один небольшой блок перед следующим действием, не создаёт такого же запаса независимой работы, как сервер с множеством запросов. Высокие IOPS при глубокой очереди не гарантируют малой задержки одиночного интерактивного обращения. В отчёте нужны размер блока, характер адресов, глубина и распределение задержек, а не только число завершений за секунду.
Условный результат 150 операций/с при среднем числе 15 незавершённых операций соответствует среднему времени 0,1 с по соотношению L = λW. Здесь L — среднее число операций в выбранной системе, λ — завершения в секунду, W — секунды. Это установившийся пример с согласованными границами, а не обязательное поведение HDD. Он объясняет, как больший поток может сосуществовать с более долгим ожиданием отдельного запроса.
Почему одинаковая очередь не даёт одинаковых задержек
Два набора из шестнадцати команд могут по-разному распределяться по радиусам и угловым положениям. Если все запросы сосредоточены в небольшой области, механике проще сократить путь, чем при обращениях по всей адресуемой ёмкости. Но выигрыш зависит и от того, какая часть содержимого уже находится в буфере. Поэтому условный тест на небольшом рабочем наборе нельзя переносить на весь диск. Публикуя результат, полезно указывать область адресов и состояние кэша, а не только глубину очереди и размер блока.
Планирование также должно учитывать ожидание отдельных команд. Бесконечно выбирать только самые близкие запросы было бы выгодно для перемещений, но непригодно для своевременного обслуживания остальных. Реальная политика балансирует несколько целей и ограничений. Из одного удачного показателя общего потока нельзя вывести гарантированное время ответа каждой операции. Для прикладной задачи стоит рассматривать длинный хвост задержек и влияние конкурирующего потока, особенно если программа должна периодически получать маленький блок, пока другая задача последовательно читает большой архив.
CMR: отдельная дорожка остаётся доступной для обновления
Conventional Magnetic Recording организует дорожки так, чтобы предусмотренная запись не требовала последовательно восстанавливать цепочку соседних перекрывающихся дорожек. Это не означает нулевого влияния соседства, отсутствия сервоконтроля или мгновенной записи. Механика, кодирование, кэширование и фиксация данных продолжают действовать. CMR описывает важное свойство организации записи, а не полный набор характеристик устройства.
Perpendicular Magnetic Recording описывает ориентацию магнитной записи; HAMR и другие способы помощи записи относятся к физике формирования устойчивого магнитного состояния. CMR и SMR отвечают на вопрос взаимного расположения записываемых дорожек. Эти классификации не следует сводить в один список взаимоисключающих поколений. Нельзя утверждать, что любое применение более новой физики записи автоматически означает перекрывающиеся дорожки или определённый способ управления со стороны хоста.
SMR: повышение плотности меняет правила обновления
В Shingled Magnetic Recording соседние дорожки частично перекрываются. Запись новой дорожки оставляет пригодную для чтения часть предыдущей, поэтому последовательное формирование группы позволяет уменьшить расстояние между дорожками. Но произвольная перезапись внутри такой группы способна затронуть уже размещённые данные. Для сохранения содержимого приходится организовывать новые записи и переносы в допустимом порядке. Механика вращения остаётся, к ней добавляется задача управления перекрытием.

Группы изолируют предусмотренными границами, чтобы изменение не распространялось без конца по поверхности. Конкретная гранулярность и организация зависят от накопителя. Неверно утверждать, что любое изменение одного сектора всегда немедленно переписывает весь диск. Также нельзя обещать фиксированный коэффициент замедления: объём дополнительной работы определяется размещением, состоянием свободных областей, политикой буферизации и последовательностью обращений.
Случайное чтение уже записанных данных принципиально возможно без того же ограничения последовательной записи. Тем не менее точные время установления и поведение чтения относятся к реализации, а конкурирующие переносы могут занимать накопитель. Поэтому фраза «SMR касается только записи» требует уточнения: физическое ограничение связано с записью, но фоновые действия и общие ресурсы способны косвенно менять время чтения во время смешанной нагрузки.
Кто управляет SMR: три разных модели
В drive-managed варианте накопитель скрывает ограничения поверхности и предоставляет привычный блочный интерфейс. Его прошивка сама принимает логические обновления, размещает их и выполняет необходимую внутреннюю работу. Пользовательская система может не видеть зонную модель вообще. Нормальное чтение и запись небольшого объёма не доказывают, что длительная смешанная нагрузка сохранит тот же темп. Это вопрос устойчивого состояния и внутренних запасов, а не только совместимости команд.
В host-managed модели хост получает зонный интерфейс и обязан соблюдать ограничения последовательной записи в соответствующих зонах. Указатель записи задаёт допустимое продолжение. Программный стек должен понимать эти правила; обычное ожидание произвольной перезаписи любой области не подходит. При этом некоторые накопители могут предоставлять и обычные зоны, если это предусмотрено реализацией. Возможности нужно получать из описания конкретного устройства, а не из одного слова SMR.
Host-aware модель предоставляет сведения и команды зон, сохраняя больше совместимости с обычной блочной работой. Документация Zoned Storage и материалы SNIA разделяют эти модели, а Western Digital отдельно описывает требования host-managed записи. Сходное физическое перекрытие не создаёт одинаковый интерфейс и одинаковую обязанность приложения. Поэтому важно спрашивать не только «SMR или CMR», но и «кто организует допустимую запись и какие гарантии доступны программе».

Почему первые гигабайты могут вводить в заблуждение
Внутренний запас удобных для записи областей и буферизация способны временно принимать поток быстрее, чем идёт окончательная организация поверхности. Когда запас расходуется, больше времени занимают переносы и подготовка места. После паузы часть возможностей может восстановиться. Это не позволяет по форме одного графика точно определить конкретный алгоритм: похожие ступени вызывают кэши ОС, другой участник копирования, тепловые условия и конкурирующая работа.
Учебная модель: 5 ГБ принимаются при 150 МБ/с, следующие 15 ГБ — при 30 МБ/с. Без перекрытия фаз время равно 5000 / 150 + 15000 / 30 ≈ 533 с, а средний поток — около 37,5 МБ/с. Все величины здесь десятичные и условные. Усреднение скоростей 150 и 30 как 90 МБ/с дало бы неправильный результат, поскольку фазы передают разные объёмы и занимают разное время.
Эта модель не является графиком какого-либо HDD и не задаёт размер его кэша. Для длительной операции важнее время завершения и поведение в устойчивой нагрузке, чем лучший короткий участок. Испытания разных состояний должны фиксировать заполненность и предысторию. Подготовка такой нагрузки на носителе с единственным экземпляром нужных данных неоправданна: для учебного понимания не требуется специально стирать или переписывать рабочий диск.
Подтверждение приёма и сохранённая запись
При активном энергозависимом кэшировании накопитель может сообщить о завершении приёма раньше окончательного размещения соответствующих данных на магнитном носителе. Приложение и файловая система используют предусмотренные механизмы фиксации и порядка, чтобы получить нужные гарантии. Конкретная граница зависит от протокола, настроек и возможностей устройства. Поэтому быстрые короткие записи не следует трактовать как отсутствие механической задержки: иногда измеряется приём в промежуточную память. Отключать механизмы фиксации ради красивой скорости нельзя считать нейтральным сравнением.
Энергозависимый буфер и уже записанная промежуточная область на пластине — разные состояния. Даже если данные находятся на магнитном носителе, контроллеру необходимо сохранить согласованную информацию об их размещении. Ни большой объём кэша, ни слово SMR само по себе не описывают поведение при внезапном отключении. Для важных данных нужны известные гарантии всей цепочки и отдельная пригодная копия. Резервное питание и резервная копия решают разные задачи: первое уменьшает часть событий, второе позволяет восстановить нужную версию после состоявшейся потери.
Секторы, выравнивание и физическая работа
Логический размер блока и физический размер сектора могут различаться. Обозначение 512e обычно относится к предоставлению 512-байтных логических секторов при более крупном физическом секторе; 4Kn — к нативной адресации блоками 4096 байт. Детали форматов и возможных преобразований нужно проверять в паспорте. Это ещё одна причина не считать каждую маленькую логическую запись одной независимой физической операцией.
Если условная запись 4 КиБ пересекает границу двух физических секторов по 4 КиБ, она затрагивает два сектора вместо одного. Маленькое частичное обновление может требовать сохранить остальные байты физического сектора, если соответствующего содержимого нет в буфере. Это отдельная гранулярность, которую не следует путать с группой SMR-дорожек. На пути от файла до поверхности одновременно действуют несколько масштабов организации.
Состояние энергосбережения добавляет ещё одну шкалу времени. Вращающийся и готовый к работе диск, диск с припаркованными головками и остановленный шпиндель могут требовать разных действий до первой команды. Время выхода в готовность не равно среднему seek и не обязано укладываться в миллисекунды случайного доступа. Поэтому первый запрос после длительного простоя полезно отделять от установившейся работы. Автоматическое обслуживание, сон системы и другие причины паузы нужно учитывать до вывода о необычно большом времени отдельного чтения.
Что действительно измеряет повседневная операция
Копирование каталога включает чтение данных и метаданных, создание записей файловой системы, проверки доступа и возможную фоновую обработку. Копирование внутри одного HDD заставляет источник и назначение делить механику. Два потока, каждый из которых выглядит последовательным в своей области, вместе могут вызывать постоянные перемещения. Поэтому результат файлового менеджера характеризует всю операцию, а не чистую полосу поверхности.
Фрагментация имеет значение через расположение реально читаемых диапазонов и планирование, а не через магический процент. Кэш может скрывать повторное чтение, а дополнительные участники системы — ограничивать передачу раньше HDD. Для объяснения полезно сопоставлять один и тот же объём, структуру файлов, источник и назначение. Если меняется размер файла, очередь и направление обмена одновременно, вывод о причине становится слабее.
Практическая оценка начинается с задачи: потоковое чтение архива, множество мелких обращений, длительное обновление набора данных или смешанная работа. Затем фиксируют условия и смотрят время завершения, задержки и повторяемость, сохраняя независимую копию важных файлов. RPM, интерфейс, буфер и способ записи помогают объяснить результат, но не заменяют его. Устройство HDD становится понятнее, когда каждый показатель возвращён к своему физическому участку: перемещению, вращению, передаче или управлению размещением.
Для чтения готового отчёта полезен короткий порядок: сначала установить единицы и размер блока, затем характер адресов и очередь, после этого проверить длительность и предысторию. Следом уточняют, относится ли значение к отдельной команде или законченной файловой операции. Такой порядок позволяет сопоставлять опубликованные результаты без опасных экспериментов с собственным носителем и быстрее замечать случаи, когда красивый максимум отвечает совсем на другой вопрос.
Первичные источники
Численные сценарии и схемы статьи учебные. Паспортные сведения используются только с указанием конкретного документа и не являются результатами собственных испытаний.
- Seagate — Exos X18 Data Sheet: пример разделения интерфейса, устойчивого потока и вращательной задержки.
- Hitachi — Travelstar 7K500 OEM Specification, архивная редакция 2011 года: определения позиционирования.
- Western Digital — Shingled Magnetic Recording HDD Technology.
- Zoned Storage — Shingled Magnetic Recording Hard Disks: физика и модели интерфейса.
- Zoned Storage — Getting Started with SMR Hard Disks: различия drive-managed, host-aware и host-managed.
- SNIA — Shingled Magnetic Recording: Models, Standardization, and Applications.
Комментарии