
Современные жесткие диски напоминают компьютер в компьютере. Они используют мощные автономные процессоры. Размер локального ПЗУ, расположенного на плате электроники HDD, исчисляется сотнями килобайт, локального ОЗУ — десятками мегабайт. Задействованные интерфейсы абстрагированы от электромеханической природы накопителя и по набору сигналов напоминают системные шины вычислительных платформ различных поколений.
Так, интерфейс IDE, использующий раздельные линии адреса, данных и управления функционально сходен с шиной ISA, а интерфейс SATA, у которого две дифференциальные пары Rx+, Rx–, Tx+, Tx– для приема и передачи информации, подобен линку PCI Express x1. Разумеется, такое сравнение допустимо, если не принимать во внимание существенные различия в протоколах взаимодействия устройств, а смотреть исключительно на набор сигналов.
История развития интерфейсов жестких дисков
Во времена жестких магнитных дисков с MFM-интерфейсом, подключаемых к контроллерам MFM XT или MFM AT, основной интеллект дисковой подсистемы сосредотачивался в контроллере, устанавливаемом на системную шину, а на плате электроники жесткого диска располагались сравнительно простые схемы управления исполнительными механизмами диска. Набор сигналов интерфейса MFM ориентирован на непосредственное управление такими схемами. Например, позиционирование блока магнитных головок выполнялось сигналами STEP (шаг) и DIRECTION (направление). По каждому импульсу на линии STEP, головки перемещаются на один цилиндр. Направление перемещения определяется уровнем сигнала DIRECTION. Справедливости ради отметим, что некоторые жесткие диски и в те времена использовали автономные микроконтроллеры.
Рис 1. Внутреннее устройство жесткого магнитного диска фирмы Fujitsu
Долгое время дисковые контроллеры использовали буфер, размером только один сектор (512 байт). Причем, появление относительно доступных микросхем статических ОЗУ большего размера далеко не сразу изменило эту тенденцию, поскольку для обеспечения буферизации нескольких секторов требуется существенная модернизация логики работы контроллера.
Интерлив, как фактор производительности
Очевидно, буфер размером в один сектор требуется освобождать после чтения каждого сектора или заполнять перед записью каждого из них. Это приводит к существенным потерям времени при выполнении операций с блоками секторов, поскольку диск вращается непрерывно и за время передачи данных между буферным ОЗУ и системой, следующий сектор уедет из-под магнитной головки и его придется ждать в течение целого оборота диска.
Рис 2. Головки магнитного диска производства Western Digital
Задача решалась низкоуровневым переформатированием диска с заданием оптимального интерлив-фактора, то есть такого порядка чередования секторов, при котором после обслуживания буферного ОЗУ к магнитной головке с максимальной вероятностью должен подъехать следующий по порядку сектор. Так как время обслуживания буферного ОЗУ зависит не только от контроллера диска, но и от производительности платформы, низкоуровневое переформатирование с изменением интерлив-фактора иногда было оправдано даже после установки более производительного центрального процессора.
Современные тенденции
Встроенное программное обеспечение современных жестких дисков по праву можно считать небольшой операционной системой. Обмен данными с хост-контроллером, управление сервоприводом и механизмом позиционирования, обработка и протоколирование ошибок, мониторинг напряжений и температур, операции SMART, обслуживаются, как правило, не одним, а системой автономных процессоров, функционирование которых невозможно без оперативной памяти размером десятки-сотни мегабайт. Это стало мотивацией для применения ОЗУ динамического типа (DRAM).
Несмотря на более сложное управление, по сравнению со статическим ОЗУ, в частности необходимость регенерации содержимого памяти и мультиплексирования адреса, устройство остается компактным, поскольку перечисленные функции реализованы в составе центральной (интерфейсной) микросхемы жесткого диска. Кратко перечислим основные функции ОЗУ накопителя:
- Рабочая память встроенной операционной системы.
- Обеспечение буферизации, кэширования и отложенной записи.
- Хранение таблиц, определяющих соответствие между логическими и физическими секторами.
- Создание быстрой копии содержимого постоянного запоминающего устройства накопителя, с целью ускорения доступа. Здесь уместна аналогия с теневой памятью или Shadow RAM, применяемой на системных платах. ПЗУ жестких дисков, в типовом случае реализованное на микросхемах с последовательным доступом (SPI ROM), значительно медленнее, чем DRAM.
Таким образом, буфер пользовательских данных занимает только часть оперативной памяти накопителя, поэтому указание в качестве размера такого буфера полного объема установленных микросхем ОЗУ, практикуемое в документации некоторых устройств, не совсем корректно. Зависимость производительности от размера встроенного ОЗУ для современных mass storage устройств, подчиняется правилам, имеющим много общего с аналогичными закономерностями «больших» ОС. Ответ на вопрос, поставленный в названии статьи, определяется интеллектом встроенного программного обеспечения конкретной модели HDD и его аппаратной реализацией, в частности, — способностью оптимально распорядиться ресурсами оперативной памяти.