Размер буфера и производительность HDD

Влияет ли размер буфера на производительность жестких дисков?

Современные жесткие диски на­по­ми­на­ют ком­пью­тер в ком­пью­те­ре. Они ис­поль­зу­ют мощ­ные ав­то­но­м­ные про­цес­соры. Раз­мер ло­каль­но­го ПЗУ, рас­по­ло­жен­но­го на пла­те элек­тро­ни­ки HDD, ис­чис­ля­ет­ся сот­ня­ми ки­ло­байт, ло­каль­но­го ОЗУ — де­сят­ка­ми ме­га­байт. За­дей­ст­во­ван­ные интер­фей­сы аб­стра­ги­ро­ва­ны от элек­т­ро­ме­ха­ни­че­ской при­ро­ды на­ко­пи­те­ля и по на­бо­ру сиг­на­лов на­по­ми­на­ют сис­тем­ные ши­ны вы­чис­ли­тель­ных плат­форм раз­лич­ных по­ко­ле­ний.

Так, интерфейс IDE, ис­поль­зу­ю­щий раз­дель­ные ли­нии ад­ре­са, дан­ных и уп­рав­ле­ния фун­к­ци­о­наль­но схо­ден с ши­ной ISA, а ин­тер­фейс SATA, у ко­то­ро­го две диф­фе­ре­н­ци­аль­ные па­ры Rx+, Rx–, Tx+, Tx– для при­е­ма и пе­ре­да­чи ин­фор­ма­ции, по­до­бен лин­ку PCI Ex­press x1. Ра­зу­ме­ет­ся, та­кое срав­не­ние до­пус­ти­мо, ес­ли не при­ни­мать во вни­ма­ние су­щест­вен­ные раз­ли­чия в про­то­ко­лах вза­и­мо­дей­ст­вия уст­ройств, а смо­т­реть ис­клю­чи­тель­но на на­бор сиг­на­лов.

История развития интерфейсов жестких дисков

Во времена жестких магнитных дисков с MFM-интерфейсом, подключаемых к контроллерам MFM XT или MFM AT, ос­нов­ной интеллект дисковой подсистемы сосредотачивался в контроллере, устанавливаемом на системную шину, а на плате электроники жесткого диска располагались сравнительно простые схемы управления исполнительными ме­ха­низ­ма­ми диска. Набор сигналов интерфейса MFM ориентирован на непосредственное управление такими схе­ма­ми. Например, по­зи­ци­о­ни­ро­ва­ние блока магнитных головок выполнялось сигналами STEP (шаг) и DIRECTION (на­прав­ле­ние). По каждому импульсу на линии STEP, головки пе­ре­ме­ща­ют­ся на один цилиндр. На­прав­ле­ние пе­ре­ме­ще­ния оп­ре­де­ля­ет­ся уровнем сигнала DIRECTION. Справедливости ради отметим, что некоторые жесткие диски и в те вре­ме­на ис­поль­зо­ва­ли ав­то­ном­ные ми­кро­кон­т­рол­ле­ры.

Компьютерная помощь
Рис 1. Внутреннее устройство жесткого магнитного диска фирмы Fujitsu

Долгое время дисковые контроллеры использовали буфер, размером только один сектор (512 байт). Причем, по­яв­ле­ние относительно доступных микросхем статических ОЗУ большего размера далеко не сразу изменило эту тен­ден­цию, поскольку для обеспечения буферизации нескольких секторов требуется существенная модернизация ло­ги­ки работы контроллера.

Интерлив, как фактор производительности

Очевидно, буфер размером в один сектор требуется освобождать после чтения каждого сектора или заполнять пе­ред записью каждого из них. Это приводит к существенным потерям времени при выполнении операций с бло­ка­ми сек­то­ров, по­сколь­ку диск вращается непрерывно и за время передачи данных между буферным ОЗУ и сис­те­мой, сле­ду­ю­щий сек­тор уедет из-под магнитной головки и его придется ждать в течение целого оборота диска.

Головки магнитного диска производства Western Digital
Рис 2.  Головки магнитного диска производства Western Digital

Задача решалась низкоуровневым переформатированием диска с заданием оптимального интерлив-фактора, то есть такого порядка чередования секторов, при котором после обслуживания буферного ОЗУ к магнитной головке с максимальной вероятностью должен подъехать следующий по порядку сектор. Так как время обслуживания бу­фер­ного ОЗУ зависит не только от контроллера диска, но и от производительности платформы, низкоуровневое пере­фор­ма­ти­ро­ва­ние с изменением интерлив-фактора иногда было оправдано даже после установки более про­из­во­ди­тель­но­го центрального процессора.

Современные тенденции

Встроенное программное обеспечение современных жестких дисков по праву можно считать небольшой опера­ци­он­ной системой. Обмен данными с хост-контроллером, управление сервоприводом и механизмом позициониро­ва­ния, обработка и протоколирование ошибок, мониторинг напряжений и температур, операции SMART, об­слу­жи­ва­ют­ся, как правило, не одним, а системой автономных процессоров, функционирование которых невозможно без оперативной памяти размером десятки-сотни мегабайт. Это стало мотивацией для применения ОЗУ ди­на­ми­че­ского типа (DRAM).

Несмотря на более сложное управление, по сравнению со статическим ОЗУ, в частности необходимость реге­не­ра­ции содержимого памяти и мультиплексирования адреса, устройство остается компактным, поскольку пере­чис­лен­ные функции реализованы в составе центральной (интерфейсной) микросхемы жесткого диска. Кратко пе­ре­чи­с­лим ос­нов­ные функции ОЗУ накопителя:

  1. Рабочая память встроенной операционной системы.
  2. Обеспечение буферизации, кэширования и отложенной записи.
  3. Хранение таблиц, определяющих соответствие между логическими и физическими секторами.
  4. Создание быстрой копии содержимого постоянного запоминающего устройства накопителя, с целью уско­ре­ния доступа. Здесь уместна аналогия с теневой памятью или Shadow RAM, применяемой на системных платах. ПЗУ жестких дисков, в типовом случае реализованное на микросхемах с последовательным до­сту­пом (SPI ROM), значительно медленнее, чем DRAM.

Таким образом, буфер поль­зо­ва­тель­ских данных занимает только часть опе­ра­тив­ной памяти накопителя, поэтому ука­за­ние в качестве размера такого буфера полного объема ус­та­но­влен­ных микросхем ОЗУ, практикуемое в до­ку­мен­та­ции не­ко­то­рых уст­ройств, не совсем корректно. Зависимость про­из­во­ди­тель­нос­ти от размера встроенного ОЗУ для со­вре­мен­ных mass storage устройств, подчиняется правилам, имеющим много общего с ана­ло­гич­ны­ми за­ко­но­мер­но­с­тя­ми «больших» ОС. Ответ на вопрос, поставленный в названии статьи, оп­ре­де­ля­ет­ся ин­тел­лек­том встро­ен­но­го про­грам­мно­го обес­пе­че­ния кон­крет­ной мо­де­ли HDD и его аппаратной реализацией, в частности, — спо­соб­но­стью оп­ти­маль­но рас­по­ря­дить­ся ре­сур­са­ми опе­ра­тив­ной памяти.