Он магнитный. Он электрический. Он фотонный. Нет, это не новое супергеройское трио из вселенной Marvel. Речь идёт о хранении наших драгоценных цифровых данных. Нам нужно где-то их хранить, надёжно и стабильно, чтобы мы могли иметь к ним доступ и изменять за мгновение ока. Забудьте о Железном человеке и Торе — мы говорим о жёстких дисках!
Итак, давайте погрузимся в изучении анатомии устройств, которые мы сегодня используем для хранения миллиардов битов данных.
You spin me right round, baby
Механический накопитель на жёстких дисках (hard disk drive, HDD) был стандартом систем хранения для компьютеров по всему миру в течение более 30 лет, но лежащие в его основе технологии намного старше.
Первый коммерческий HDD компания IBM выпустила в 1956 году, его ёмкость составляла аж 3,75 МБ. И в целом, за все эти годы общая структура накопителя не сильно изменилась. В нём по-прежнему есть диски, которые используют для хранения данных намагниченность, и есть устройства для чтения/записи этих данных. Изменился же, и очень сильно, объём данных, который можно на них хранить.
В 1987 году можно было купить HDD на 20 МБ примерно за 350 долларов; сегодня за такие же деньги можно купить 14 ТБ: в 700 000 раз больший объём.
Мы рассмотрим устройство не совсем такого размера, но тоже достойное по современным меркам: 3,5-дюймовый HDD Seagate Barracuda 3 TB, в частности, модель ST3000DM001, печально известную своим высоким процентом сбоев и вызванных этим юридических процессов. Изучаемый нами накопитель уже мёртв, поэтому это будет больше похоже на аутопсию, чем на урок анатомии.
Основную массу жёсткого диска составляет литой металл. Силы внутри устройства при активном использовании могут быть довольно серьёзными, поэтому толстый металл препятствует изгибанию и вибрациям корпуса. Даже в крошечных 1,8-дюймовых HDD в качестве материала корпуса используются металл, однако обычно они делаются не из стали, а из алюминия, потому что должны быть как можно более лёгкими.
Перевернув накопитель, мы видим печатную плату и несколько разъёмов. Разъём в верхней части платы используется для двигателя, вращающего диски, а нижние три (слева направо) — это контакты под перемычки, позволяющие настраивать накопитель под определённые конфигурации, разъём данных SATA (Serial ATA) и разъём питания SATA.
Serial ATA впервые появился в 2000 году. В настольных компьютерах это стандартная система, используемая для подключения приводов к остальной части компьютера. Спецификация формата претерпела множество ревизий, и сейчас мы пользуемся версией 3.4. Наш труп жёсткого диска имеет более старую версию, но различие заключается только в одном контакте в разъёме питания.
В подключениях передачи данных для приёма и получения данных используется дифференцированный сигнал: контакты A+ и A- используются для передачи инструкций и данных в жёсткий диск, а контакты B — для получения этих сигналов. Подобное использование спаренных проводников значительно снижает влияние на сигнал электрического шума, то есть устройство может работать быстрее.
Если говорить о питании, то мы видим, что в разъёме есть по паре контактов каждого напряжения (+3.3, +5 и +12V); однако большинство из них не используется, потому что HDD не требуется много питания. Эта конкретная модель Seagate при активной нагрузке использует менее 10 Вт. Контакты, помеченные как PC, используются для precharge: эта функция позволяет вытаскивать и подключать жёсткий диск, пока компьютер продолжает работать (это называется горячей заменой (hot swapping)).
Контакт с меткой PWDIS позволяет удалённо перезагружать (remote reset) жёсткий диск, но эта функция поддерживается только с версии SATA 3.3, поэтому в моём диске это просто ещё одна линия питания +3.3V. А последний контакт, помеченный как SSU, просто сообщает компьютеру, поддерживает ли жёсткий диск технологию последовательной раскрутки шпинделей staggered spin up.
Перед тем, как компьютер сможет их использовать, диски внутри устройства (которые мы скоро увидим), должны раскрутиться до полной скорости. Но если в машине установлено много жёстких дисков, то внезапный одновременный запрос питания может навредить системе. Постепенная раскрутка шпинделей полностью устраняет возможность таких проблем, но при этом перед получением полного доступа к HDD придётся подождать несколько секунд.
Сняв печатную плату, можно увидеть, как она соединяется с компонентами внутри устройства. HDD не герметичны, за исключением устройств с очень большими ёмкостями — в них вместо воздуха используется гелий, потому что он намного менее плотный и создаёт меньше проблем в накопителях с большим количеством дисков. С другой стороны, не стоит и подвергать обычные накопители открытому воздействию окружающей среды.
Благодаря использованию таких разъёмов минимизируется количество входных точек, через которые внутрь накопителя могут попасть грязь и пыль; в металлическом корпусе есть отверстие (большая белая точка в левом нижнем углу изображения), позволяющее сохранять внутри давление окружающей среды.
Теперь, когда печатная плата снята, давайте посмотрим, что находится внутри. Тут есть четыре основных чипа:
- LSI B64002: чип основного контроллера, обрабатывающий инструкции, передающий потоки данных внутрь и наружу, корректирующий ошибки и т.п.
- Samsung K4T51163QJ: 64 МБ DDR2 SDRAM с тактовой частотой 800 МГц, используемые для кэширования данных
- Smooth MCKXL: управляет двигателем, крутящим диски
- Winbond 25Q40BWS05: 500 КБ последовательной флеш-памяти, используемой для хранения встроенного ПО накопителя (немного похожего на BIOS компьютера)
Компоненты печатной платы различных HDD могут отличаться. Для больших объёмов требуется больше кэша (в самых современных монстрах может быть до 256 МБ DDR3), а чип основного контроллера может быть чуть более изощрённым в обработке ошибок, но в целом различия не так велики.
Открыть накопитель просто, достаточно открутить несколько болтов Torx и вуаля! Мы внутри…
Учитывая, что он занимает основную часть устройства, наше внимание сразу привлекает большой металлический круг; несложно понять, почему накопители называются дисковыми. Правильно их называть пластинами; они изготавливаются из стекла или алюминия и покрываются несколькими слоями различных материалов. Этот накопитель на 3 ТБ имеет три пластины, то есть на каждой стороне одной пластины должно храниться 500 ГБ.
Изображение довольно пыльное, такие грязные пластины не соответствуют точности проектирования и производства, необходимого для их изготовления. В нашем примере HDD сам алюминиевый диск имеет толщину 0,04 дюйма (1 мм), но отполирован до такой степени, что средняя высота отклонений на поверхности меньше 0,000001 дюйма (примерно 30 нм).
Базовый слой имеет глубину всего 0,0004 дюйма (10 микронов) и состоит из нескольких слоёв материалов, нанесённых на металл. Нанесение выполняется при помощи химического никелирования с последующим вакуумным напылением, подготавливающих диск для основных магнитных материалов, используемых для хранения цифровых данных.
Этот материал обычно является сложным кобальтовым сплавом и составлен из концентрических кругов, каждый из которых примерно 0,00001 дюйма (примерно 250 нм) в ширину и 0,000001 дюйма (25 нм) в глубину. На микроуровне сплавы металлов образуют зёрна, похожие на мыльные пузыри на поверхности воды.
Каждое зерно обладает собственным магнитным полем, но его можно преобразовать в заданном направлении. Группирование таких полей приводит к возникновению битов данных (0 и 1). Если вы хотите подробнее узнать об этой теме, то прочитайте этот документ Йельского университета. Последними покрытиями становятся слой углерода для защиты, а потом полимер для снижения контактного трения. Вместе их толщина составляет не больше 0,0000005 дюйма (12 нм).
Скоро мы увидим, почему пластины должны изготавливаться с такими строгими допусками, но всё-таки удивительно осознавать, что всего за 15 долларов можно стать гордым владельцем устройства, изготовленного с нанометровой точностью!
Однако давайте снова вернёмся к самому HDD и посмотрим, что же в нём есть ещё.
Жёлтым цветом показана металлическая крышка, надёжно крепящая пластину к электродвигателю привода шпинделя — электроприводу, вращающему диски. В этом HDD они вращаются с частотой 7200 rpm (оборотов/мин), но в других моделях могут работать медленнее. Медленные накопители имеют пониженный шум и энергопотребление, но и меньшую скорость, а более быстрые накопители могут достигать скорости 15 000 rpm.
Чтобы снизить урон, наносимый пылью и влагой воздуха, используется фильтр рециркуляции (зелёный квадрат), собирающий мелкие частицы и удерживающий их внутри. Воздух, перемещаемый вращением пластин, обеспечивает постоянный поток через фильтр. Над дисками и рядом с фильтром есть один из трёх разделителей пластин: помогающих снижать вибрации и поддерживать как можно более равномерный поток воздуха.
В левой верхней части изображения синим квадратом указан один из двух постоянных стержневых магнитов. Они обеспечивают магнитное поле, необходимое для перемещения компонента, указанного красным цветом. Давайте отделим эти детали, чтобы видеть их лучше.
То, что выглядит как белый пластырь — это ещё один фильтр, только он очищает частицы и газы, попадающие снаружи через отверстие, которое мы видели выше. Металлические шипы — это рычаги перемещения головок, на которых находятся головки чтения-записи жёсткого диска. Они с огромной скоростью движутся по поверхности пластин (верхней и нижней).
Посмотрите это видео, созданное The Slow Mo Guys, чтобы увидеть, насколько они быстрые:
В конструкции не используется чего-то вроде шагового электродвигателя; для перемещения рычагов по соленоиду в основании рычагов проводится электрический ток.
Обобщённо их называют звуковыми катушками, потому что они используют тот же принцип, который применяется в динамиках и микрофонах для перемещения мембран. Ток генерирует вокруг них магнитное поле, которое реагирует на поле, созданное стержневыми постоянными магнитами.
Не забывайте, что дорожки данных крошечны, поэтому позиционирование рычагов должно быть чрезвычайно точным, как и всё остальное в накопителе. У некоторых жёстких дисков есть многоступенчатые рычаги, которые вносят небольшие изменения в направление только одной части целого рычага.
В некоторых жёстких дисках дорожки данных накладываются друг на друга. Эта технология называется черепичной магнитной записью (shingled magnetic recording), и её требования к точности и позиционированию (то есть к попаданию постоянно в одну точку) ещё строже.
На самом конце рычагов есть очень чувствительные головки чтения-записи. В нашем HDD содержится 3 пластины и 6 головок, и каждая из них плавает над диском при его вращении. Для этого головки подвешены на сверхтонких полосках металла.
И здесь мы можем увидеть, почему умер наш анатомический образец — по крайней мере одна из головок разболталась, и что бы ни вызвало изначальный повреждение, оно также погнуло один из рычагов. Весь компонент головки настолько мал, что, как видно ниже, очень сложно получить её качественный снимок обычной камерой.
Однако мы можем разобрать отдельные части. Серый блок — это специально изготовленная деталь под названием «слайдер»: когда диск вращается под ним, поток воздуха создаёт подъёмную силу, поднимая головку от поверхности. И когда мы говорим «поднимает», то имеем в виду зазор шириной всего 0,0000002 дюйма или меньше 5 нм.
Чуть дальше, и головки не смогут распознавать изменения магнитных полей дорожки; если бы головки лежали на поверхности, то просто поцарапали бы покрытие. Именно поэтому нужно фильтровать воздух внутри корпуса накопителя: пыль и влага на поверхности диска просто сломают головки.
Крошечный металлический «шест» на конце головки помогает с общей аэродинамикой. Однако чтобы увидеть части, выполняющие чтение и запись, нам нужна фотография получше.
На этом изображении другого жёсткого диска устройства чтения и записи находятся под всеми электрическими соединениями. Запись выполняется системой тонкоплёночной индуктивности (thin film induction, TFI), а чтение — туннельным магнеторезистивным устройством (tunneling magnetoresistive device, TMR).
Создаваемые TMR сигналы очень слабы и перед отправкой должны проходить через усилитель для повышения уровней. Отвечающий за это чип находится рядом с основанием рычагов на изображении ниже.
Как сказано во введении к статье, механические компоненты и принцип работы жёсткого диска почти не изменились за многие годы. Больше всего совершенствовалась технология магнитных дорожек и головок чтения-записи, создавая всё более узкие и плотные дорожки, что в конечном итоге приводило к увеличению объёма хранимой информации.
Однако механические жёсткие диски имеют очевидные ограничения скорости. На перемещение рычагов в нужное положение требуется время, а если данные разбросаны по разным дорожкам на различных пластинах, то на поиски битов накопитель будет тратить довольно много микросекунд.
Прежде чем переходить к другому типу накопителей, давайте укажем ориентировочные показатели скорости типичного HDD. Мы использовали бенчмарк CrystalDiskMark для оценки жёсткого диска WD 3.5″ 5400 RPM 2 TB:
В первых двух строчках указано количество МБ в секунду при выполнении последовательных (длинный, непрерывный список) и случайных (переходы по всему накопителю) чтения и записи. В следующей строке показано значение IOPS, то есть количество операций ввода-вывода, выполняемых каждую секунду. В последней строке показана средняя задержка (время в микросекундах) между передачей операции чтения или записи и получением значений данных.
В общем случае мы стремимся к тому, чтобы значения в первых трёх строчках были как можно больше, а в последней строчке — как можно меньше. Не беспокойтесь о самих числах, мы просто используем их для сравнения, когда будем рассматривать другой тип накопителя: твердотельный накопитель.