Пути повышения производительности винчестера. Ликбез по жёстким дискам: рекомендации по выбору накопителя Перемещение механизма доступа

Скорость передачи данных по шине дискового интерфейса — это далеко не единственный параметр, влияющий на быстродействие винчестера в целом. Наоборот, производительность жестких дисков с одинаковым типом интерфейса иногда очень существенно различается. В чем же причина?

Дело в том, что жесткий диск является совокупностью большого количества разнообразных электронных и электромеханических устройств. Быстродействие же механических компонентов винчестера существенно уступает быстродействию электроники, в состав которой входит и шинный интерфейс. Общая производительность диска, к сожалению, определяется по скорости работы самых медленных компонентов. «Горлышком бутылки» при передаче данных между накопителем и компьютером является именно внутренняя скорость передачи — параметр, определяемый быстродействием механики винчестера, что является одной из причин ремонта ноутбуков . Поэтому в самых современных режимах обмена PIO 4 и UltraDMA максимально возможная пропускная способность интерфейса в ходе реальной работы с накопителем почти никогда не достигается. Для определения быстродействия механических компонентов, а также всего накопителя необходимо знать следующие параметры.

Частота вращения дисков — количество оборотов, совершаемых пластинами (отдельными дисками) винчестера в минуту. Чем выше частота вращения, тем быстрее происходит запись или считывание данных. Типичное значение этого параметра для большинства современных EIDE-дисков — 5400 об/мин. В некоторых новейших накопителях диски вращаются с частотой 7200 об/мин. Технический предел, достигнутый на сегодняшний день, — 10000 об/мин — реализован в SCSI-накопителях серии Seagate Cheetah.

Среднее время поиска — среднестатистическое время, необходимое для позиционирования блока головок из произвольного положения на заданную дорожку для чтения или записи данных. Типичное значение этого параметра для новых винчестеров составляет от 10 до 18 мс, причем хорошим можно считать время доступа 11-13 мс. В наиболее быстродействующих SCSI-моделях значение времени доступа — меньше 10 мс.

Среднее время доступа — среднестатистический отрезок времени от выдачи команды на операцию с диском до начала обмена данными. Это — составной параметр, включающий в себя среднее время поиска, а также половину периода вращения диска (с учетом того, что данные могут находиться в произвольном секторе на нужной дорожке). Параметр определяет величину задержки до начала считывания нужного блока данных, а также общую производительность при работе с большим количеством мелких файлов.

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

…объем кэш-памяти. Кэш-память — обычное электронное ОЗУ, установленное на винчестере. Данные после считывания с винчестера одновременно с передачей их в память компьютера попадают и в кэш-память. Если эти данные потребуются снова, они будут считаны не с пластин, а из кэш-буфера. Это позволяет значительно ускорить обмен данными. Для повышения эффективности кэш-памяти разработаны специальные алгоритмы, выявляющие наиболее часто используемые данные и помещающие в кэш именно их, что повышает вероятность того, что при следующем обращении будут затребованы данные именно из электронного ОЗУ — произойдет так называемое «попадание в кэш». Естественно, чем больше объем кэш-памяти, тем быстрее обычно работает диск.

Плата электроники современного накопителя на жестких магнитных дисках представляет собой самостоятельный микрокомпьютер с собственным процессором, памятью, устройствами ввода/вывода и прочими традиционными атрибутами присущими компьютеру. На плате могут располагаться множество переключателей и перемычек.

Все накопители соответствуют стандартам, определяемым либо независимыми комитетами и группами стандартизации, либо самими производителями. Среди множества технических характеристик отличающих одну модель от другой можно выделить некоторые, наиболее важные с точки зрения пользователей и производителей.

Диаметр дисков (disk diameter) - параметр довольно свободный. Наиболее распространены накопители с диаметром дисков 2.2,2.3,3.14 и 5.25 дюймов. Диаметр дисков определяет плотность записи на дюйм магнитного покрытия. Накопители большего диаметра содержат большее число дорожек, и в них, как правило используются более простые технологии изготовления носителей, предназначенных для меньшей плотности записи. Они медленнее и имеют меньшее число дисков, но более надежны. Накопители с меньшим диаметром больших объемов имеют более высокотехнологичные поверхности и высокие плотности записи информации, а также большее число дисков.

Число поверхностей (sides number) - определяет количество физических дисков нанизанных на шпиндель. Выпускаются накопители с числом поверхностей от 1 до 8 и более. Однако, наиболее распространены устройства с числом поверхностей от 2 до 5. Число поверхностей прямо определяет физический объем накопителя и скорость обработки операций на одном цилиндре. Так как операции на поверхностях цилиндра выполняются всеми головками синхронно, то при равных всех остальных условиях, более быстрыми окажутся накопители с большим числом поверхностей.

Число цилиндров (cylinders number) - определяет сколько дорожек (треков) будет располагаться на одной поверхности. В настоящее время все накопители емкостью более 1 Гигабайта имеют число цилиндров более 1024, вследствие чего, для распространенных ОС применяются унифицированные режимы доступа с пересчетом и эмуляцией и виртуализацией числа головок, цилиндров и секторов (LBA и Large) .

Число секторов (sectors count) - общее число секторов на всех дорожках всех поверхностей накопителя. Определяет физический неформатированный объем устройства.

Число секторов на дорожке (sectors per track) - общее число секторов на одной дорожке. Часто, для современных накопителей показатель условный, т.к. они имеют неравное число секторов на внешних и внутренних дорожках, скрытое от системы и пользователя интерфейсом устройства.

Частота вращения шпинделя (rotational speed или spindle speed) - определяет, сколько времени будет затрачено на последовательное считывание одной дорожки или цилиндра. Частота вращения измеряется в оборотах в минуту (rpm) . Для дисков емкостью до 1 гигабайта она обычно равна 5,400 оборотов в минуту, а у более вместительных достигает 7,200 и 10000 rpm.

Время перехода от одной дорожки к другой (track-to-track seek time) обычно составляет от 3.5 до 5 миллисекунд, а у самых быстрых моделей может быть от 0.6 до 1 миллисекунды. Переход с дорожки на дорожку является самым длительным процессом в серии процессов произвольного чтения/записи на дисковом устройстве. Показатель используется для условной оценки производительности при сравнении накопителей разных моделей и производителей.

Время успокоения головок (head latency time) - время, проходящее с момента окончания позиционирования головок на требуемую дорожку до момента начала операции чтения/записи. Является внутренним техническим показателем, входящим в показатель - время перехода с дорожки на дорожку.

Время установки или время поиска (seek time) - время, затрачиваемое устройством на перемещение головок чтения/записи к нужному цилиндру из произвольного положения.

Среднее время установки или поиска (average seek time) - усредненный результат большого числа операций позиционирования на разные цилиндры, часто называют средним временем позиционирования. Среднее время поиска имеет тенденцию уменьшаться с увеличением емкости накопителя, т. к повышается плотность записи и увеличивается число поверхностей. Для 540-мегабайтных дисков наиболее типичны величины от 10 до 13, а для дисков свыше гигабайта - от 7 до 10 миллисекунд. Среднее время поиска является одним из важнейших показателей оценки производительности накопителей, используемых при их сравнении.

Время ожидания (latency) - время, необходимое для прохода нужного сектора к головке, усредненный показатель - среднее время ожидания (average latency) , получаемое как среднее от многочисленных тестовых проходов. После успокоения головок на требуемом цилиндре контроллер ищет нужный сектор. При этом, последовательно считываются адресные идентификаторы каждого проходящего под головкой сектора на дорожке. В идеальном, с точки зрения производительности случае, под головкой сразу окажется нужный сектор, в плохом - окажется, что этот сектор только что "прошел" под головкой, и, до окончания процесса успокоения необходимо будет ждать полный оборот диска для завершения операции чтения/записи. Это время у накопителей объемом от 540 мегабайт до 1 гигабайта составляет примерно 5.6, а у дисков свыше гигабайта - 4.2 миллисекунды и менее.

Время доступа (access time) - суммарное время, затрачиваемое на установку головок и ожидание сектора. Причем, наиболее долгим является промежуток времени установки головок.

Среднее время доступа к данным (average access time) - время, проходящее с момента получения запроса на операцию чтения/записи от контроллера до физического осуществления операции - результат сложения среднего время поиска и среднего времени ожидания. Среднее время доступа зависит от того, как организовано хранение данных и насколько быстро позиционируются головки чтения записи на требуемую дорожку. Среднее время доступа - усредненный показатель от многочисленных тестовых проходов, и обычно, оно составляет от 10 до 18 миллисекунд и используется как базовый показатель при сравнительной оценке скорости накопителей различных производителей.

Скорость передачи данных (data transfer rate) , называемая также пропускной способностью (throughput) , определяет скорость, с которой данные считываются или записываются на диск после того, как головки займут необходимое положение. Измеряется в мегабайтах в секунду (MBps) или мегабитах в секунду (Mbps) и является характеристикой контроллера и интерфейса. Различают две разновидности скорости передачи - внешняя и внутренняя. Скорость передачи данных, также является одним из основных показателей производительности накопителя и используется для ее оценки и сравнения накопителей различных моделей и производителей.

Внешняя скорость передачи данных (external data transfer rate или burst data transfer rate) показывает, с какой скоростью данные считываются из буфера, расположенного на накопителе в оперативную память компьютера. В настоящее время, накопители с интерфейсами EIDE или Fast ATA, обычно, имеют внешнюю скорость передачи данных от 11.1 до 16.6 мегабайта в секунду, а для накопителей с интерфейсами SCSI-2 - этот параметр находится в пределах от 10 до 40 мегабайт в секунду.

Внутренняя скорость передачи данных (internal transfer rate или sustained transfer rate) отражает скорость передачи данных между головками и контроллером накопителя и определяет общую скорость передачи данных в тех случаях, когда буфер не используется или не влияет (например, когда загружается большой графический или видеофайл) . Внутренняя скорость передачи данных очень сильно зависит от частоты вращения шпинделя.

Размер кеш-буфера контроллера (internal cash size) . Встроенный в накопитель буфер выполняет функцию упреждающего кэширования и призван сгладить громадную разницу в быстродействии между дисковой и оперативной памятью компьютера. Выпускаются накопители с 128,256 и 512 килобайтным буфером. Чем больше объем буфера, тем потенциально выше производительность при произвольном "длинном" чтении/записи. Также, более емкий буфер обеспечивает рост производительности дисковой подсистемы, во-первых, при работе с объемными упорядоченными (записанными на диски последовательно) данными, а во-вторых - при одновременном обращении к диску множества приложений или пользователей, как это происходит в многозадачных сетевых ОС.

Средняя потребляемая мощность (capacity) . При сборке мощных настольных компьютеров учитывается мощность, потребляемая всеми его устройствами. Современные накопители на ЖД потребляют от 5 до 15 Ватт, что является достаточно приемлемым, хотя, при всех остальных равных условиях, накопители с меньшей потребляемой мощностью выглядат более привлекательно. Это относится не только к экономии электроэнергии, но и надежности, т.к. более мощные накопители рассеивают избыток энергии в виде тепла и сильно нагреваются. А как известно, проблемы, связанные с изменением свойств магнитных носителей напрямую зависят от их температуры и коэффициента расширения/сжатия материала.

Уровень шума (noise level) , разумеется, является эргономическим показателем. Однако, он также, является и некоторым показателем сбалансированности механической конструкции, т.к. шум в виде треска - есть не что иное как звук ударов позиционера шагового или линейного механизма, а, даже микро- удары и вибрация так не желательны для накопителей и приводят к более быстрому их износу.

Физический и логический объем накопителей. Носители жестких дисков, в отличие от гибких, имеют постоянное число дорожек и секторов, изменить которое невозможно. Эти числа определяются типом модели и производителем устройства. Поэтому, физический объем жестких дисков определен изначально и состоит из объема, занятого служебной информацией (разметка диска на дорожки и сектора) и объема, доступного пользовательским данным. Физический объем жесткого диска, также, зависит от типа интерфейса, метода кодирования данных, используемого физического формата и др. Производители накопителей указывают объемы дисков в миллионах байт, предполагая исходя из десятичной системы исчисления, что в одном мегабайте 1000000 байт. Однако, ПО оперирует не десятичной, а двоичной системами, полагая, что в одном килобайте не 1000 байт, а 1024. Такие несложные разногласия в системах исчисления приводят к несоответствиям при оценке объема накопителей, данном в описании и - выдаваемом различными программными тестами.

Одним из возможных, но не желательных способов повышения физической емкости, для производителей, является увеличение емкости сектора. В настоящее время, стандартной емкостью сектора для IBM-совместимых компьютеров является 512 байт. Многие адаптеры позволяют, в процессе физического форматирования, программным путем, изменять емкость сектора, например, до 1024 байт. При этом, соотношение пользовательских данных и служебной информации для сектора улучшается, но снижается надежность хранения данных, т.к. тот же полином ECC будет использоваться для коррекции большего объема данных.

Логический объем зависит от того, как операционная система или программа записывает информацию в сектора. В случае использования программ и операционных систем с программной компрессией данных, можно повысить объем носителя на величину, зависящую от степени сжатия данных. Для оптимального использования поверхности дисков применяется так называемая зонная запись (Zoned Bit Recording - ZBR) , принцип которой состоит в том, что на внешних дорожках, имеющих большую длину (а следовательно - и потенциальную информационную емкость на единицу площади), информация записывается с большей плотностью, чем на внутренних.

Таких зон с постоянной плотностью записи в пределах всей поверхности образуется до десятка и более; соответственно, скорость чтения и записи на внешних зонах выше, чем на внутренних. Благодаря этому файлы, расположенные на дорожках с большим диаметром, в целом будут обрабатываться быстрее файлов, расположенных на дорожках с меньшим диаметром, т.к. для них будет производится меньшее число позиционирований с дорожки на дорожку.

В ЖД последнего поколения используются технологии PRML (Partial Response, Maximum Likelihood - максимальное правдоподобие при неполном отклике) и S. M. A. R. T. (Self Monitoring Analysis and Report Technology - технология самостоятельного слежения анализа и отчетности).

Первая разработана по причине того, что при существующих плотностях записи уже невозможно четко и однозначно считывать сигнал с поверхности диска - уровень помех и искажений очень велик. Вместо прямого преобразования сигнала используется его сравнение с набором образцов, и на основании максимальной похожести (правдоподобия) делается заключение о приеме того или иного машинного слова.

Накопитель, в котором реализована технология S. M. A. R. T., ведет статистику своих рабочих параметров (количество стартов/остановок и наработанных часов, время разгона шпинделя, обнаруженные/исправленные физические ошибки и т.п.), которая регулярно сохраняется в перепрограммируемом ПЗУ или служебных зонах диска.

Эта информация накапливается в течение всего периода эксплуатации и может быть в любой момент затребована программами анализа. По ней можно судить о состоянии механики, условиях эксплуатации или примерной вероятности выхода из строя.

Объем

Объем винчестера является его самой важной характеристикой для большинства пользователей. Он зависит как от количества пластин в корпусе жесткого диска, так и от плотности записи информации в расчете на одну пластину. Так как количество пластин не может быть бесконечным и при их большом числе увеличивается нагрузка на мотор, ухудшаются температурные и шумовые характеристики диска, труднее обеспечивается надежность, то увеличение плотности записи на пластину технологически более перспективный вариант. Именно этот подход позволил существенно удешевить производство жестких дисков и значительно снизить их цену. Современные пластины изготовляются из алюминия или даже из стекла (некоторые модели IBM), а плотность записи находится в пределах 20.60 Гбайт на пластину.

Скорость

Второй важнейший параметр винчестеров - скорость чтения/записи информации (Transfer Rate). Он зависит в первую очередь от скорости вращения пластин диска, которая на сегодня составляет 5400.7200 оборотов в минуту (RPM) для бюджетных моделей, и до 15000 - для дорогих дисков (обычно у SCSI-устройств). На увеличение скорости считывания влияет также и рассмотренное выше увеличение плотности записи информации.

Время доступа

Не менее важная характеристика производительности винчестера - общее время доступа к информации (Access Time), которое определяется временем поиска нужной дорожки на диске и временем позиционирования внутри этой дорожки. Оно зависит в основном от скорости вращения диска.

Интерфейсы

Развитие интерфейсов винчестеров шло двумя параллельными путями: дешевым и дорогим. Дорогое решение заключалось в создании на плате самого винчестера отдельного интеллектуального контроллера, который бы брал на себя значительную часть работы по взаимодействию с винчестером. Результатом этого подхода явился интерфейс SCSI, который быстро завоевал популярность на рынке серверов. Одним из преимуществ этого подхода являлась возможность подключения к компьютеру значительного количества устройств, требующих для своей работы широкого канала передачи данных. Результатом воплощения в жизнь "дешевого" подхода явился широко распространенный интерфейс IDE. Он полностью вытеснил другие интерфейсы с рынка дешевых и недорогих систем, постепенно развивался, став более "интеллектуальным", а со временем появились стандарты UDMA, существенно ускоряющие работу винчестеров. Пропускная скорость SCSI выше IDE, целых 160 Мб/с. А IDE работает со скоростью 33, 66, 100 и 133 Мб/с, а соответствующие стандарты называются ATA/33, ATA/66, ATA/100 и ATA/133. В недалеком будущем нам пророчат замену сегодняшнего Parallel ATA на Serial ATA Пропускная способность интерфейса составит 1,5 Гбит/с, напряжение питания снизится с 5 до 3,3 В, число проводников в шлейфе уменьшится до двух (плюс шесть на питание и заземление), а его длина увеличится до 1 метра. Также канет в лету и последовательный способ подключения устройств, при котором каждое либо Master, либо Slave. Программное обеспечение посчитает оба устройства главными, "сидящими" на разных портах.

Внешние (переносные) жесткие диски

В настоящее время существует несколько решений для подключения внешних устройств. Во-первых, есть винчестеры, подключающиеся к USB-порту. Они используются в основном для обмена данными с цифровыми камерами и прочими мобильными устройствами. В силу невысокой пропускной способности этой шины подобные диски, конечно, не смогут сравниться в производительности с внутренними устройствами. Во-вторых, винчестеры с интерфейсом IEEE1394, который может использоваться не только для подключения жестких дисков, но и других устройств, работающих с большими массивами данных, например, видеокамер. Заявленная пропускная способность интерфейса достигает 50 Мб/с. Покупая внешние винчестеры, следует особенно обратить внимание на ударопрочность.

RAID-массивы

RAID - это стандарт на объединение нескольких дисков в массив, видимый системой, как один диск. Это позволяет повысить как производительность, так и надежность дисковой системы. Для увеличения скорости работы с информацией контроллер RAID обеспечивает параллельное чтение/запись информации одновременно на несколько дисков. Для увеличения надежности информация может дублироваться на нескольких дисках, что повышает надежность дисковой системы, правда, в ущерб емкости. Скоростные показатели при этом практически не меняются. Не забудьте о том, что в RAID-массивы укладываются только диски одинаковой емкости.

Шумность и ударопрочность

Сейчас все производители с гордостью говорят о децибелах. Шумность определяется двумя параметрами: шумом вращения дисков винчестера и шумом движения головки. Этот параметр многим покажется несущественным. Однако ночью постоянный шум может действовать раздражающе, а при работе в офисах несколько рядом стоящих компьютеров могут создавать заметное звуковое сопровождение мыслительным процессам. Самый эффективный способ уменьшение шума - замедление скорости передвижения считывающей головки, но это неминуемо приводит к потере производительности. Так что если вы обнаружили очень тихий винчестер, то повнимательнее приглядитесь к его времени поиска. Впрочем, современные винчестеры позволяют с помощью специальных программ регулировать скорость (громкость) работы диска в зависимости от потребностей пользователей. Другой модный показатель - ударопрочность. Он характеризуется количеством G, (равному 9,8 м/с2) при ударе, которую может выдержать винчестер в работающем и неработающем состоянии. Этот параметр важен, если вы планируете активно перевозить винчестер с компьютера на компьютер.

Cоветы

Покупая жесткий диск, необходимо четко осознавать, для каких целей он будет использоваться. Покупая диск для дома, возможно, следует обратить внимание на шумность диска. При прочих равных условиях диски с меньшим количеством пластин и меньшей скоростью вращения обычно тише. Однако прогресс идет так быстро, что некоторые новые модели со скоростью 7200 тише старых моделей со скоростью 5400. Между тем производительности дисков со скоростью 5400 оборотов в минуту вполне достаточно для большинства домашних и офисных применений, если только вы не собираетесь работать с видео или организовывать сервер. Что касается рекомендации по объему кэш-буфера, то сейчас стандартом уже стал двухмегабайтный кэш, и диски с меньшим кэшем (512 кб) покупать не стоит. Еще один параметр, который нужно учитывать, - скорость интерфейса IDE. Сейчас практически у всех моделей это 100 или 133 Мб/с. Не забудьте посмотреть, поддерживает ли ваша материнская плата ATA/100 и ATA/133, хотя ничего криминального в использовании нового винчестера со скоростью 66 Мб/с нет. Также необходимо помнить, что жесткие диски - продукт высоких технологий, и, как всегда в этой области, покупать старые модели, которые вот-вот снимут с производства, абсолютно бессмысленно, так как вы, скорее всего, не получите выигрыша даже в цене, не говоря уж о производительности.

Модуль поиска не установлен.

Пути повышения производительности винчестера

Когда пользователь, наблюдая за песочными часами на мониторе, приходит к выводу, что его компьютер безбожно "тормозит", и адресует свое негодование по этому поводу Microsoft, прав он только отчасти

Чаще всего раздражающее ожидание связано с загрузкой файлов с винчестера, а не с работой центрального процессора под руководством Microsoft Windows и ее приложений. Нет, конечно, это не снимает ответственности с Microsoft и других, кстати, разработчиков программного обеспечения за задержки в работе компьютера. Не с Луны же свалились на нашу голову эти бешеного размера файлы.

Но и сами мы хороши. Радуемся красивым картинкам на экране? Приветствуем появление высококачественного звука, видеозаставок, игрушек с богатой графикой? Не возражаем, чтобы наши документы были оформлены как можно лучше и насыщеннее, а в базах данных хранилась информация едва ли не обо всем на свете? Тогда не надо злиться, что файлы стали "неподъемными".

Другое дело, что надо стремиться к сбалансированной производительности как аппаратных узлов компьютера, так и установленных на нем приложений. Мощной операционной системе и производительным прикладным программам следует предоставить и процессор побыстрее, и винчестер не только более емкий, но и более "скоростной". Кстати, популярная рекомендация поставить больше оперативной памяти, чтобы машина не "тормозила", напрямую связана с недостаточной производительностью винчестера.

От чего зависит быстродействие винчестера?

Накопитель на жестких магнитных дисках, он же винчестер, v устройство электронно-механическое. Если не вдаваться в подробности, можно считать, что механическая часть его включает приводы пластин (дисков), сборки головок чтения и записи. Электроника винчестера представлена головками чтения и записи, каналом чтения, контроллером интерфейса, буферной памятью, схемами управления приводами пластин и головок.

Соответственно, часть параметров винчестера характеризуют его механику, а другая часть v электронику. Эти характеристики, хотя и кажутся малозависимыми друг от друга, на самом деле тесно увязаны между собой. Чтобы добиться прогресса, скажем, во временных параметрах накопителя, характеризующих быстродействие его механики, необходимо значительно усовершенствовать и его электронику. И наоборот.

Остановимся на основных характеристиках, по которым можно судить о производительности винчестера. В первую очередь всегда упоминают временные характеристики привода v среднее время поиска и ожидания. Первая величина показывает, сколько времени потребуется на перемещение головок к нужной дорожке. Вторая v сколько придется подождать, пока под головками окажется требуемый сектор - она напрямую связана со скоростью вращения пластин. Еще несколько величин составляют параметр, известный как "среднее время доступа к данным".

Среди "электронных" характеристик чаще всего обращают внимание на внешнюю скорость передачи данных, которая на самом деле является параметром интерфейса, соединяющего накопитель с системной шиной компьютера, а не самого накопителя. Данные с такой скоростью (или близкой к ней) передаются лишь в том случае, если они были считаны заранее и находились в буфере (см. ниже).

Реже упоминают внутреннюю скорость передачи данных, которая как раз и показывает, как быстро работает канал чтения винчестера, то есть с какой скоростью данные считываются с пластин и помещаются в буфер. В последнее время с учетом роста интенсивности обращений программ к жесткому диску эта величина становится все важнее. Большое значение играет также емкость встроенного в накопитель буфера и его организация. Буфер призван сгладить несоответствие между внутренней и внешней скоростью передачи данных.

Попробуем разобраться, как все эти параметры связаны между собой, и поговорим о путях повышения производительности винчестеров. Проблема эта волнует все компании, производящие накопители на жестких дисках. Как свидетельствуют публикуемые в прессе обзоры, наибольших результатов в этом добилась сегодня корпорация IBM (по крайней мере, в секторе IDE-накопителей для настольных компьютеров). Поэтому в дальнейшем я воспользуюсь данными, приводимыми в технических документах этой компании.

Повышение скорости вращения пластин

При обслуживании случайных запросов на чтение или запись производительность винчестера на 90% определяется его механическими характеристиками, такими как время поиска (параметр движения головок) и скорость вращения пластин (т.е. самих дисков). Под случайными запросами понимаются обращения к файлам, записанным на дисках в разных местах. Такой режим типичен для работы простых приложений Windows v текстовых редакторов, электронных таблиц, навигаторов Интернет, электронной почты и т.п.

На долю электронных факторов, включая внутреннюю скорость передачи данных по каналу чтения, выдачу их из буфера винчестера, внешнюю передачу данных по IDE-интерфейсу и прием операционной системой, остается 10%. Тут надо учитывать, что хотя внутренняя скорость передачи данных считается чисто электронным параметром, она серьезно зависит от скорости вращения пластин.

Из двух механических факторов v времени поиска и скорости вращения v наибольший эффект с точки зрения повышения производительности винчестера достигается при увеличении скорости вращения дисков. Это подтверждается начавшимся переходом индустрии на IDE-винчестеры со скоростью вращения 7,200 оборотов в минуту (об./мин., rpm) вместо широко применявшихся в последние годы накопителей с 5,400 об./мин.

Повышение скорости вращения, диктуемое требованиями к производительности винчестеров со стороны сегодняшних операционных систем и приложений, дает выигрыш как по среднему времени ожидания, так и по внутренней скорости передачи данных. Причем в первом случае в основном эффект достигается при случайных обращениях, а во втором v при чтении больших массивов последовательно записанных данных (графики, аудио- или видеоданных).

Из чего складывается время считывания данных с винчестера (I/O time) при типичных случайных запросах? Сначала контроллеру жесткого диска необходимо время, чтобы обработать поступивший запрос, выдать команды на привод головок (command overhead time). Затем некоторое время уйдет на передвижение головок к заданному цилиндру (seek time). После этого придется подождать, пока диски повернутся и под головками окажутся необходимые секторы с данными (latency time). Потом начнется чтение и передача данных в компьютер (data transfer time). То есть

I/O time = command overhead time + seek time +

latency time + data transfer time

В этом уравнении время ожидания полностью определяется скоростью вращения пластин и в среднем равно поло-вине периода оборота дисков. У винчестеров со скоростью вращения 5400 об./мин. среднее ожидание составляет 5.6 миллисекунды (мс), а при переходе к 7200 об./мин. оно сокращается до 4.2 мс. Если принять остальные составляющие равными для обоих винчестеров (а так оно практически и есть), можно прикинуть прирост производительности, получаемый за счет перехода на 7200 об./мин.

По данным IBM, у современных винчестеров для настольных РС время обработки команды составляет примерно 0.5мс, среднее время поиска равно 9.5 мс, на передачу 4 килобайт данных уходит приблизительно 0.3 мс. Тогда получаем, что винчестеру со скоростью вращения пластин 5400 об./мин. на чтение типичного 4-килобайтного блока данных (одного кластера FAT32) потребуется 15.9 мс, в то время как винчестер со скоростью вращения 7200 об./мин. с этой задачей справится за 14.5 мс.

Итак, переход на 7200 оборотов в минуту при выполнении операций чтения типичных 4-килобайтных блоков данных дает 10-процентный прирост производительности по сравнению с винчестерами на 5400 об./мин.

Но это еще не все. Повышение скорости вращения пластин сказывается и на внутренней скорости передачи данных (disk transfer rate).Теоретическая максимальная внутренняя скорость передачи данных (то есть скорость, с которой данные записываются на диск или считываются с него) определяется временем оборота дисковых пластин (revolution time), размером сектора (sector size), числом секторов на треке (sectors per track), числом треков в цилиндре, или числом рабочих поверхностей установленных в винчестере дисковых пластин (tracks per cylinder), и временем, необходимым для переключения между головками (временем перехода между треками в цилиндре). Для вычисления теоретической максимальной внутренней скорости передачи данных можно воспользоваться упрощенной формулой:

max. disk transfer rate =

sectors per track * sector size / revolution time

Время оборота пластин в винчестере со скоростью вращения 7200 об./мин. составляет 8.3 мс, а при 5400 об./мин. v 11.1 мс. При равном для обоих накопителей числе секторов на трек и одинаковом размере сектора (в большинстве операционных систем это 512 байт) получаем, что переход на 7200 об./мин. обеспечивает увеличение теоретической максимальной внутренней скорости передачи данных на 33%.

Такой, или почти такой, прирост производительности наблюдается при считывании и записи больших последовательных блоков данных. Этот режим характерен для графических и мультимедийных приложений, баз данных.

Кстати, повышение скорости вращения иногда заставляет уменьшить число секторов на трек, то есть плотность записи данных. Это связано с тем, что электронный канал чтения обладает ограниченной пропускной способностью. При слишком высокой плотности записи и скорости вращения пластин она может оказаться недостаточной для обработки всех данных, проходящих в единицу времени под головками чтения/записи. Поскольку сегодня задача увеличения плотности записи и емкости винчестеров стоит не менее остро, наиболее емкие накопители пока выпускаются с меньшей скоростью вращения пластин.

Увеличение емкости кэш-буфера

Это еще один путь повышения производительности винчестеров. Встроенный буфер винчестера выполняет две функции. Во-первых, он служит мостом между каналом чтения и внешним интерфейсом. Данные между ними не могут передаваться напрямую из-за большой разницы между внутренней и внешней скоростями. На этом этапе невозможно обойтись без промежуточного буфера, позволяющего сгладить задержки при обращениях к диску.

Во-вторых, буфер служит своего рода сверхбыстрым накопителем, обеспечивающим выдачу данных с максимальной для внешнего интерфейса скоростью. За счет буфера большой емкости и удачно подобранных алгоритмов его заполнения удается существенно повысить производительность винчестера.Когда поступает запрос на чтение, контроллер винчестера первым делом проверяет, нет ли требуемых данных в кэш-буфере. Если их там не оказалось, происходит чтение с дисковых пластин, прочитанные данные помещаются в буфер и передаются из него по внешнему интерфейсу операционной системе компьютера. Каким же образом запрашиваемые данные могут оказаться в буфере?

Для этого применяются алгоритмы упреждающего чтения. Прочитав секторы, содержащие затребованные приложением или системой данные, винчестер не останавливается и на всякий случай переносит в буфер содержимое следующих секторов. Поскольку сегодня приложения редко довольствуются малыми порциями данных, чтение носит последовательный характер и загодя прочитанные секторы обычно приходятся кстати при следующих обращениях. Когда же запрашиваемые данные находятся в буфере, их выдача происходит практически моментально v на это уходят не миллисекунды, как при чтении, а микросекунды. Эффективность кэширования подтверждают все тесты.

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

Корпорация IBM, как и другие производители, постоянно совершенствует алгоритмы, оптимизирующие использование винчестерного кэш-буфера при работе в современных компьютерных системах. При этом учитывается, что серверы, рабочие станции и обычные персональные компьютеры совершенно по-разному обращаются к дискам. Поэтому выпускаемые для них винчестеры оснащаются разными интерфейсами, буферами разной емкости.

Повышения эффективности кэш-буфера добиваются, во-первых, наращиванием его емкости и, во-вторых, применением хитроумных алгоритмов сегментирования. Под сегментированием буфера понимается разделение его на несколько частей (сегментов), используемых независимо друг от друга, v для обслуживания параллельных очередей запросов чтения, поступающих, например, от разных программ. Адаптивное сегментирование предусматривает гибкий подбор числа сегментов и их емкости.

Чем выше внутренняя скорость передачи данных, чем более быстрым интерфейсом оснащен винчестер, тем больший ему требуется буфер. На жестких дисках для персональных компьютеров со скоростью вращения пластин 5,400 об./мин. В большинстве случаев устанавливались 256-килобайтные буферы. Сегодня высокопроизводительные винчестеры со скоростью вращения 7200 об./мин. и интерфейсами Ultra ATA-33/66 оснащаются как минимум 512-килобайтными буферами. SCSI-винчестеры, предназначенные для рабочих станций и серверов, нуждаются в буферах емкостью 1, 2 и даже 4 мегабайта. Причем 4-мегабайтные буферы SCSI-винчестеров IBM Ultrastar разделяются на 4 сегмента по 920 килобайт каждый (количество сегментов конфигурируется).

Тут все зависит от характера применяемых программных приложений и, следовательно, обращений к винчестеру. При работе баз данных с большими записями чтение и запись носят последовательный характер, и тогда целесообразно разделять буфер на несколько емких сегментов. Когда преобладают случайные обращения, может понадобиться разделение буфера на большее число сегментов. В идеале количество сегментов должно чуточку превышать число параллельно обслуживаемых винчестером потоков ввода/вывода.

Прерывание потока данных, поступающего по внешнему интерфейсу винчестера, происходит тогда, когда буфер оказывается полным при записи или пустым при чтении. И в том, и в другом случае это происходит из-за более низкой скорости передачи данных по каналу чтения, чем по внешнему интерфейсу. Уменьшить количество таких прерываний позволяет увеличение емкости сегментов буфера. Наибольший эффект ощущается при обслуживании мощных потоков данных, таких как последовательное чтение или запись громоздких графических файлов, аудио- и видеоданных.

Предположим, что с винчестера считывается 256-килобайтный поток данных. Если на нем установлен буфер емкостью 1 мегабайт, разделенный на 4 сегмента по 160 килобайт каждый, емкости такого сегмента окажется недостаточно для поддержания непрерывности потока данных. А 4-мегабайтный буфер, поделенный на 4 сегмента по 920 килобайт, справится с задачей легко. В этом случае практически всегда следующая запись, за которой обратится программа, будет считана с диска загодя и выдана с максимальной скоростью из буфера. Буфер не будет опорожняться, а SCSI-интерфейс v отключаться.

И еще один вопрос напоследок. Зачем устанавливать большой буфер на винчестер, если операционные системы тоже организуют кэширование данных, считываемых или записываемых на жесткий диск, причем в их распоряжении вся системная память компьютера, из которой можно спокойно выделить для этих целей и 4 мегабайта, и в несколько раз больше. Дело в том, что размещение буфера на винчестере позволяет в несколько раз сократить нагрузку на интерфейс. В частности, по нему не будут передаваться данные, считываемые с упреждением, а ведь заранее неизвестно, пригодятся они или нет.


Читайте также: