В последние недели копался в деталях о внутренней работе механики и логики HDD и показалось полезным поделиться суммой нагугленных удивительных фактов. Факты не тайна, но обсуждаются мало. Статьёй хочется пробудить интерес к бесконечно глубокой теме этих замечательных точных механических устройств и свежих трендов в их внутреннем устройстве, которые заставляют нервно курить в углу любой швейцарский часовой завод. Статья поверхностная, вглубь по каждому аспекту можно гуглить неделями.
База
Но все знают, что магнитные головки HDD, прицепленные с одного конца "коромысла", приводятся в движение магнитной катушкой "Voice Coil" зажатой между двух неодимомых магнитов с другой стороны. Это не вся правда: в современных HDD по ходу длины "рычага" есть пара мест, где стоят пьезо-актуаторы для наклона металла рычага в разные стороны с целью доворота голов на микрометры и нанометры из стороны в сторону. Когда HDD надо переместить БМГ (Блок Магнитных Головок) на другую далёкую дорожку, он подаёт на Voice Coil резкий импульс тока, чтобы сорвать массивную металлическую конструкцию рычага (массивную в сравнении с головками, например) с места в нужном направлении, а потом ещё один обратный импульс тока для резкого торможения. Если посмотрите на фото БМГ, то увидите какую долю габаритов от всей конструкции занимает эта Voice Coil - она довольно большая. Ускорения и торможения происходят с перегрузками, сравнимыми с тем, как если бы автомобиль весом 1.5 тонны разгонялся до 100 км/ч за 0.05...0.1 сек, а тормозил со скорости 100 км/ч на дистанции 1 метр. Если головки нужно перемещать в диапазоне до 50 дорожек, то Voice Coil не работает: достаточно погнуть металлическую конструкцию в сторону пьезо-актуатором на 1...5 микрометров. А прыгать за 8 миллисекунд нужно не между тысячами дорожек, а по всей поверхности блина от края до края. Сделать ускорение и торможение в рамках 8 мс - это и есть "квант стука".
Серверные
Если диск "серверный" (Seagate Exos, HGST Ultrastar, WD Ultrastar, WD Gold и т.п.) то прошивка диска "оформляет" импульсы Voice Coil максимально жёстко, чтобы получить максимальную скорость разгона и торможения для минимизации времени поиска. Пределы на стук и вибрацию только технические, о комфорте пользователя задачи думать нет. При этом, в дисках есть до 3 типов датчиков "механических помех" (2 штуки Rotational Vibration в разных концах платы, 2 штуки Shock Sensors, иногда ещё акселерометрых 3-осевые) и информация с этих датчиков постоянно корректирует силу импульсов движения БМГ на всех этапах: Voice Coil и пьезо-актуаторы. Диск буквально пытается позиционировать головы в противофазе с всем механическим шумом, который может измерить. Ко всему этому, отделом продаж этих дисков предполагается, что у вас и сервер не простой, а с серьёзной виброизоляцией между дисками. Маркетологи направления "диск серверный обыкновенный" как-бы говорят инженерам "стучите как хотите, главное выжать минимальный seek time, но и сбоку будут стоять такие же и трясти вас".
Видеорегистраторные
Если диск "видеорегистраторный" (Seagate: SkyHawk, WD Purple, Toshiba S300 и др.), то предполагаются сразу две любопытные вещи: первое: корпус видеорегистратора самый дешёвый и диск прикручен к нему пьяным Михалычем без всяких резиновых демпферов; второе: на диск не валится много команд на рандомный доступ и никому не нужно максимально низкое время поиска в базах данных. Оба этих требования позволяют ослабить резкость разгонных и тормозных импульсов тока на Voice Coil. Датчики вибраций при этом всё равно могут быть, если диск не просто "видеорегистраторный", а из дорогих премиум-серий этого типа, например тот же SkyHawk датчики RV имеет, а WD Purple нет.
В видеорегистраторных дисках есть ещё один интересный прикол: поддержка ATA Streaming Command Set. А со стороны видеорегистратора другой прикол: никаких обычных файловых систем, никаких команд серии FUA (Force Unit Access) (доступ к блинам в обход кеша диска). Для каждой камеры выделяют непрерывный массив секторов, перезаписываемый циклически, а каждая операция записи снабжается номером потока и обязательно идёт через кеш диска, в котором диск разные потоки склеивает и сбрасывает на физические блины максимально последовательными кусками, причём за фиксированное указанное извне время. Ошибка записи и уже не вписались в таймаут - никаких повторных попыток записи, едем дальше. В видеоархиве вы готовы потерять секунду с одной камеры, но сохранить целыми потоки со всех остальных 15 камер. При доступе к видеоархиву на операцию чтения секторов так же вешаются таймауты: сектор побился и плохо читается - множества повторных попыток чтения не будет, пишущиеся потоки с 16 камер более приоритетны. В обычном домашнем NAS такой диск будет при этом работать как "обычный", потому что NAS не догадается оформлять операции записи в разные потоки с навешанными на них таймаутами, поэтому непрочитанный сектор будет читаться до победного конца, блокируя операцию ввода-вывода и подвешивая систему. Просто чуть хуже Seek Time и тише стук.
Домашние
Просто самый скучный тип дисков с экономией на всех защитах, с минимизацией шума и с периодическими парковками головок. WD Blue, Seagate Barracuda.
Пьезо-Актуаторы
Пьезо-актуаторов бывает не один. Иерархия позиционирования в целом:
-
VCM - Voice Coil - большая катушка между магнитов. Быстро кидает коромысло на большие расстояния и тормозит его в месте прилёта, но полоса пропускания 1...1.5 КГц. Этой полосы пропускания не хватает на компенсацию более высокочастотных механических помех и вибраций, не хватает на более быстрое переключение между дорожками.
-
Вторая ступень с Милли-пьезо-актуатором где-то в районе перехода "толстой железки" коромысла в тонкую. Толстые пьезоэлементы, видимые невооружённым глазом (два квадратных желтоватых "глаза" на картинке ниже). Умеет 5...10 КГц. Видео, где милли-уровень актуаторов был предан большому восхищению и рассматриванию с разных сторон: https://www.youtube.com/watch?v=fUV8QQwCrh4
-
Третья ступень с Микро-пьезо-актуаторами где-то в непосредственной близи с магнитной головой. Умеет 20-30 КГц. Для рассмотрения нужен микроскоп.
-
А ещё головка умеет гулять по высоте с использованием встроенного нагревателя, который позволяет головке температурно "разбухать", регулируя зазор полёта над пластиной. Причём, насколько я понял, нагревателей в головке не один и она умеет искривляться локально. Какая жесть!
Виды помех
Взаимосвязь разных датчиков "механических помех" на плате диска, потока данных о сервосигналах с блина, характеристики этого сервосигнала и горы разного DSP в чипах на плате диска - это отдельная инженерная мега-задача удержания головок на дорожке с разными стратегиями поведения в разных "маркетинговых типах" дисков:
-
В серверных - максимально быстро найти нужную дорожку, спасаясь одновременно от стука по твоему корпусу от соседей в корзине (и крика сисадмина ртом в стойку). Упор на быстрый поиск рандомной дорожки.
-
В видеорегистраторных - максимально намертво держаться на одной дорожке, чтобы не пропустить запись кадра в условиях, когда ждать повторной записи никто не будет, а рандомный доступ не нужен раз в неделю.
-
Домашние - главное поменьше стучать, на пьезо-актуаторах можно сэкономить до наличия только одного "Милли" , на датчиках тоже можно поэкономить. Совсем выкинуть пьезо-актуаторы нельзя, потому что Voice Coil уже не способна прицеливаться на дорожки с текущими плотностями записи.
Некоторые механические проблемы, с которыми постоянно борятся пьезо-актуаторы вместе с алгоритмами управления на плате диска:
-
Ветер от крутящихся пластин и турбулентность;
-
Резонанс самого коромысла на некоторых частотах; Ну например, нельзя допустить подачу на коромысло управляющих движений таких, чтобы определённые частоты возникали;
-
Неидеальная форма блинов или вала или посадки блинов. Регулярные биения. Как я понял, одна из простейших задач внутри диска: регулярная-постоянная гармоническая корректировка в алгоритмы управления позиционировнаием;
-
Побитые жизнью подшипники шпинделя и их микроповреждения - достаточно рандомные биения;
-
Внешние вибрации на корпус
Стук в простое.
Слышали ведь, что даже без обращений к себе и будучи никак не примонтирован, диск всё равно стучит? Чем он там занят?
-
PWL (Preventive Wear Leveling). Широкая тема. На поверхности диска не пусто, там есть смазочный материал, как ни странно. На основе перфторполиэфира - PFPE. Лежит он на поверхности силами поверхностного натяжения. Зачем она вообще нужна - предмет долгого интересного гугления (оказывается, микроконтакты головы и поверхности - не исключение). Если голова долго висит в одном положении, плотный возушный поток между головой и блином вытесняет смазку, она перетекает в стороны и голова начинает висеть над колеёй из смазки. Под головой возникает сухая зона, с точки зрения воздушных потоков поверхность больше не выглядит ровной, начинаются барханы, вихри, турбулентность там где не нужно. Температура: полёт головы над одним и тем же местом слишком долго - это другие плотности воздушного потока над локальной зоной блина, нагрев "кольца" на блине, прогрев головки от этого кольца. Проблемы налипания смазки на голову: микроскопическая разница потенциалов между поверхностью головки и блином и молекулы смазки могут налипать на голову, если смазку на поверхности не держат другие молекулы смазки и очень сухо. Если сместиться резко на 1000 дорожек в сторону и быстро вернуться обратно, смазка под прежним местом силами поверхностного натяжения стягивается обратно, налипшие молекулы смазки с головки "стряхивает". PWL Максимально агрессивно работает в серверных дисках.
-
Термокалибровка. Поменялась температура, всё расширилось, коромысло перестанет попадать в нужный трек при тех же импульсах разгона-торможения Voice Coil. Диску нужно сходить на известные положения и посмотреть остались ли под этими известными положениями видимые там ранее номера дорожек.
-
Фоновое сканирование для поиска битых секторов. Хорошо сочетается с предыдущими двумя пунктами, фоновая полезная работа и полезная нагрузка на Voice Coil.
-
Иногда головки паркуются от безделия. В серверных дисках - никогда. В домашних - да, потому что хозяин домашнего диска держит его механически связанным с той же конструкцией, по которой стучит кулаком от злости проигрыша в катку. Лучше вообще уехать от греха подальше, если чтений всё равно сейчас нет.
Почему же всё это до сих пор не умерло и кому-то интересно? Да просто недостаток микросхемных заводов на планете и цена на флешки в 10 раз выше, чем на HDD.
Автор: legendasofizma
