Вероятно, наиболее важной характеристикой при оценке общей производительности накопителя является скорость передачи данных, но, с другой стороны, она же считается наименее понятной. Дело в том, что в настоящее время для каждого дисковода можно определить сразу несколько скоростей передачи данных, чему, как правило, не придается значение. Не позвольте себе обмануться наличием интерфейса ATA-133 или SATA-150. Гораздо более важным показателем является средняя скорость передачи данных самого жесткого диска, а этот показатель может быть значительно ниже производительности интерфейса. Скорость передачи данных устройством представляет собой усредненную скорость операций чтения и записи на диск. В то же время скорость передачи интерфейса определяет объем данных, которые можно переместить между материнской платой и буфером устройства за единицу времени. На общую производительность жесткого диска сильное влияние оказывает и частота вращения шпинделя (несложно понять, что диск, вращающийся со скоростью 10000 об/мин способен быстрее записать или считать информацию, чем диск, имеющий скорость вращения 7200 об/мин). При оценке скорости обращайте внимание на производительность именно носителя, а не интерфейса.
Дополнительную путаницу вносит то, что производители жестких дисков могут сообщатьлюбую из семи доступных скоростей передачи данных, которыми характеризуется любой диск. Наименее важной из них является номинальная скорость передачи данных интерфейса. В устройствах PATA она может достигать 100 или 133 Мбайт/с, а в устройствах SATA — 150 или 300 Мбайт/с. К сожалению, многие оценивают эту характеристику как способность диска записывать и считывать информацию с такой скоростью, что далеко не так. Более важной характеристикой является скорость передачи данных носителя. Обычно она представляется несколькими показателями: минимальными и максимальными скоростями формальной и фактической передачи данных, а также их средними значениями. Если средние значения отсутствуют, их несложно вычислить и вручную.
Средняя скорость передачи данных считается более важной характеристикой, чем скорость передачи данных интерфейса. Это связано с тем, что средняя скорость представляет собой действительную скорость непосредственного считывания данных с поверхности жесткого диска. При этом максимальная скорость является скорее ожидаемой постоянной скоростью передачи данных. Скорость передачи носителя обычно определяется ее минимальной и максимальной величинами, хотя многие компании, занимающиеся производством жестких дисков, указывают только максимальное значение скорости.
Наличие минимального и максимального значений скорости передачи носителя связано с использованием в современных накопителях так называемой зонной записи данных. В этом случае количество секторов, приходящихся на каждую дорожку внутренних цилиндров, меньше, чем в наружных. Как правило, жесткий диск разделен на 16 или более зон, причем количество секторов на каждой дорожке (а следовательно, скорость передачи данных) во внутренних зонах примерно вдвое меньше, чем во внешних. Скорость вращения жесткого диска практически постоянна, поэтому скорость считывания данных из внешних цилиндров примерно вдвое выше скорости считывания из внутренних.
Существует определенное различие между формальной и фактической скоростями передачи данных. Формальная скорость определяет, насколько быстро биты (единицы емкости памяти) могут быть считаны с поверхности жесткого диска. Далеко не все биты являются битами данных (это может быть промежуток между секторами или идентификаторы битов). Кроме того, следует учитывать время, затрачиваемое при поиске данных на перемещение головок с дорожки на дорожку. Таким образом, фактическая скорость передачи данных представляет собой реальную скорость считывания данных с диска или их записи на диск.
Учтите, что большинство производителей указывают только фактическую скорость, которая, как показывают несложные вычисления, составляет примерно три четверти формальной скорости передачи данных. Это связано с тем, что пользовательские данные на каждой дорожке составляют примерно три четверти всех имеющихся данных, определенная часть которых используется управляющими модулями или представляет собой код коррекции ошибок (ЕСС), идентификатор (ID) и другие служебные данные.
Рассмотрим в качестве примера дисковод Hitachi Deskstar T7K500, который на сегодняшний день является одним из самых быстрых накопителей SATA. Его основные параметры таковы: скорость вращения — 7200 об/мин и полная поддержка скорости передачи данных интерфейса SATA-300 (пропускная способность интерфейса между контроллером и системной платой — 300 Мбайт/с). Следует заметить, что фактическая скорость передачи данных гораздо ниже (см. таблицу ниже).
Как видите, реальная скорость передачи носителя колеблется в пределах от 88,47 до 44,24 Мбайт/с, что составляет в среднем 66,36 Мбайт/с, т.е. менее четверти от скорости передачи интерфейса SATA-300. Смею вас заверить, что вы не будете разочарованы, приобретая дисковод со скоростью передачи данных, равной 66,36 Мбайт/с. Фактически этот накопитель является одним из самых быстрых дисководов SATA на современном рынке.
Меня часто спрашивают о возможности модификации интерфейса ATA. Во многих компьютерах используются системные платы, поддерживающие только режимы ATA-100 (Ultra DMA Mode 5) и SATA-150 (1,5 Гбит/с) и не поддерживающие более быстрые спецификации. Зная фактические скорости передачи носителей большинства дисководов, вы поймете, почему я не рекомендую устанавливать в таких системах отдельные хост-адаптеры ATA-100 или ATA-133 (за исключением, конечно, тех случаев, когда необходимо подсоединить несколько дополнительных жестких дисков). Если говорить о повышении эффективности, то подобная модификация не даст никакого практического результата. Это связано с тем, что средняя скорость передачи данных используемых дисководов ниже скорости интерфейса ATA-66, не говоря уже об интерфейсах ATA-133, SATA-150 и SATA-300.
Существует два основных фактора, непосредственно влияющих на скорость передачи данных: скорость вращения диска и плотность линейной записи, или количество секторов на дорожке. Например, при равном количестве секторов на дорожке скорость передачи данных будет выше у дисковода, имеющего большую скорость вращения. Аналогично при равной скорости вращения накопитель с большей плотностью записи будет иметь большую скорость передачи. При сравнении эффективности накопителей следует учитывать оба фактора.
Как следует из приведенного примера, скорость передачи интерфейса никакого значения не имеет. Поэтому, если вы подумываете о приобретении новой системной платы или дополнительной платы хост-адаптера, пытаясь таким образом повысить производительность дисковода, то лучше потратьте деньги на что-нибудь другое. Повышение производительности интерфейса, используемого для передачи данных из буфера контроллера дисковода в системную плату, также не принесет ожидаемого результата. Объем буфера подобного типа составляет в среднем 4 Мбайт; установка диска с буфером даже емкостью 16 Мбайт даст небольшой выигрыш только приложениям, потребляющим с диска повторяющиеся данные. Совсем недавно были выпущены диски с флэш-буферами, названные гибридными дисками, которые поддерживают кэш SuperFetch в системе Windows Vista. Однако ввиду относительно низкого быстродействия флэш-памяти эта технология в основном предназначена для использования в ноутбуках, где способна продлить жизнь аккумуляторной батарее и, может быть, немного повысить производительность.
При прочих равных условиях жесткий диск, вращающийся с более высокой частотой, имеет более высокую скорость передачи данных, которая не зависит от скорости передачи интерфейса. К сожалению, параметры накопителей совпадают довольно редко, поэтому для получения более объективной информации следует обратиться к характеристикам дисковода, указанным в спецификации или техническом руководстве.
Не следует сравнивать накопители по какому-нибудь одному параметру, скажем, по скорости передачи данных интерфейса или частоте вращения жесткого диска, так как эти сведения могут оказаться обманчивыми. Быстродействие интерфейса не играет практически никакой роли, но, несмотря на то что скорость вращения является более важным параметром, существуют накопители, скорость передачи данных которых ниже скорости передачи данных более медленных устройств. Формальное сравнение технических характеристик ничего не дает. При выборе жестких дисков не забывайте, что скорость передачи данных является, вероятно, наиболее важным параметром, на который следует обращать внимание: чем выше скорость, тем лучше.
Для получения сведений о скоростях передачи конкретного дисковода обратитесь к спецификации или документации/руководству, прилагаемому к накопителю. Обычно необходимую документацию можно загрузить с сайта изготовителя. В ней часто указываются максимальное и минимальное количества секторов на дорожке. Эти величины, а также скорость вращения жесткого диска могут быть использованы для вычисления фактической скорости передачи данных. Для этого необходимо определить точное количество физических секторов, приходящихся на каждую дорожку внешней и внутренней зон. Следует учесть, что конфигурация многих накопителей поддерживает трансляцию секторов, т.е. количество секторов на дорожке, сообщенное BIOS, имеет мало общего с фактическими характеристиками дисковода. Для вычислений лучше подходят не параметры, сообщенные BIOS, а фактические физические параметры жесткого диска.
Зная количество секторов на дорожке (SPT) и скорость вращения жесткого диска, можно без труда определить фактическую скорость передачи носителя (MTR), выраженную в мегабайтах в секунду. Для этого необходимо воспользоваться следующей формулой:
MTR = SPT×512×RPM/60/1000000.
Здесь SPT (Sector Per Track) — количество секторов на дорожке, 512 — количество байтов данных в каждом секторе, RPM (Rotations Per Minute) — частота вращения дисков (оборотов в минуту), 60 — количество секунд в минуте.
Например, накопитель Hitachi Deskstar T7K500, скорость вращения которого равна 7200 об/мин, содержит в среднем 1080 секторов на дорожке. Средняя скорость передачи носителя для данного накопителя определяется следующим образом:
688×512×(7200/60)/1000000 = 42,27 Мбайт/с.
С помощью этой формулы можно вычислить реальную скорость передачи данных любого жесткого диска. Для этого достаточно знать скорость вращения и среднее количество секторов на дорожке.
Это время обычно измеряется в миллисекундах (мс); оно необходимо для перемещения головки от одного цилиндра к другому на какое-либо произвольное расстояние. Один из способов, позволяющих определить эту величину, состоит в многократном выполнении операций поиска случайной дорожки и последующем делении затраченного времени на количество выполненных операций. Этот метод позволяет вычислить среднее время, необходимое для выполнения одной операции поиска дорожки.
Стандартный метод, используемый различными изготовителями для определения среднего времени позиционирования, состоит в измерении времени, затрачиваемого головками для перемещения на расстояние, равное одной трети радиуса всех цилиндров. Среднее время позиционирования зависит непосредственно от конструкции жесткого диска; тип интерфейса или контроллера практически никак не влияет на этот параметр. Величина среднего времени позиционирования говорит, в первую очередь, о возможностях механизма привода головки.
Примечание!
Следует крайне осторожно относиться к результатам эталонных тестов, используемых для определения среднего времени поиска дорожки. В большинстве накопителей ATA используется так называемая схема трансляции секторов, поэтому далеко не все команды, получаемые дисководом на перемещение головки к определенному цилиндру, приводят к ожидаемому физическому движению. Таким образом, выполнение некоторых эталонных тестов для накопителей определенного типа является совершенно бессмысленным. Накопители SCSI также требуют выполнения дополнительной операции, поскольку команды должны быть вначале отправлены накопителю по шине SCSI. Казалось бы, накопители этого типа должны иметь минимальное время доступа, поскольку служебные команды при выполнении эталонных тестов не учитываются. Если же этот фактор учесть, то можно выявить по крайней мере устройства с плохими характеристиками.Временем ожидания называется среднее время (в миллисекундах), необходимое для перемещения головки к указанному сектору после достижения определенной дорожки. В среднем эта величина равна половине времени, которое требуется для одного оборота жесткого диска. При увеличении частоты вращения диска вдвое время ожидания уменьшится наполовину.
Время ожидания является одним из факторов, определяющих скорость чтения и записи накопителя. Уменьшение времени ожидания (чего можно достичь только при повышении частоты вращения) сокращает время доступа к данным или файлам. В таблице ниже приведены наиболее распространенные частоты вращения жестких дисков и соответствующие величины времени ожидания.
В настоящее время скорость вращения многих накопителей достигает 7200 об/мин, чему соответствует время ожидания, равное всего лишь 4,17 мс. При увеличении частоты вращения до 10000 или даже 15000 об/мин время ожидания уменьшается до немыслимых величин, равных соответственно 3 и 2 мс. Увеличение частоты вращения накопителя приводит не только к повышению его эффективности, что выражается в уменьшении времени доступа к данным, но и к увеличению скорости передачи данных, считанных головкой из указанных секторов.
Средним временем доступа к данным называется сумма среднего времени позиционирования и времени ожидания. Среднее время доступа обычно выражается в миллисекундах. Этот показатель характеризует время, необходимое накопителю для обращения к произвольно расположенному сектору.
Быстродействие дискового накопителя можно существенно повысить, если воспользоваться специальными программами кэширования, например SMARTDRV (DOS) и VCASHE (Windows). Эти программы “подключаются” к прерыванию жесткого диска на уровне BIOS (перехватывают прерывание BIOS) и обрабатывают запросы на считывание и запись, направляемые приложениями и драйверами устройств в BIOS.
Если приложению понадобилось считать порцию данных с жесткого диска, кэш-программа перехватывает соответствующий запрос, проверяет наличие определенных условий (о которых будет сказано ниже) и, если они не удовлетворяются, передает запрос в неизменном виде контроллеру накопителя. Считанные в накопителе данные не только передаются приложению, но и сохраняются в специальном буфере (кэше). В зависимости от размера кэша в нем могут храниться данные из достаточно большого количества секторов.
Если приложению нужно считать дополнительные данные, кэш-программа вновь перехватывает запрос и проверяет, не хранятся ли запрошенные данные в буфере. Если хранятся, то они немедленно передаются приложению без непосредственного обращения к диску. Можете представить себе, насколько этот прием ускоряет доступ к диску (и заодно сказывается на результатах измерений быстродействия накопителя).
Большинство современных контроллеров включают встроенный кэш той или иной разновидности, которому не нужно перехватывать и использовать прерывания BIOS. Кэширование осуществляется на аппаратном уровне, и обычные программы измерения быстродействия накопителей его “не замечают”. Первыми подобного рода устройствами в накопителях были буфера опережающего считывания дорожки, благодаря которым удалось получить коэффициент чередования 1:1. В одних современных контроллерах просто увеличен размер этих буферов, а в других используются более интеллектуальные устройства, по своим возможностям близкие к кэш-программам.
Во многих накопителях ATA и SCSI кэш-память расположена непосредственно во встроенном контроллере. Большинство современных накопителей АТА имеют встроенную кэш-память объемом 2 Мбайт; во многих высокоэффективных накопителях АТА объем кэш-памяти достигает 8 Мбайт. Как правило, накопители SCSI имеют кэш-память объемом 8 Мбайт, а в некоторых из них установлен кэш объемом 16 Мбайт. В былые времена 1 или 2 Мбайт оперативной памяти хватало для всей системы. Сейчас же некоторые 3,5-дюймовые накопители имеют до 16 Мбайт кэш-памяти, которая встраивается непосредственно в устройство.
Несмотря на то что программное и аппаратное кэширование данных позволяет существенно повысить производительность накопителей при обычных операциях считывания и записи, реальная (физическая) скорость передачи данных определяется только конструкцией самого устройства.
Отправляясь в магазин за жестким диском, вы, несомненно, обратите внимание на такой параметр, как среднестатистическое время между сбоями (MTBF), которое обычно колеблется от 300 тыс. до 1 млн. часов и более. Я никогда не обращаю внимания на эти цифры, поскольку они являются чисто теоретическими.
Для правильного понимания этого важного параметра накопителя следует знать, как его вычисляют. Большинство производителей довольно продолжительное время выпускают накопители на жестких дисках, которые работают в компьютерах пользователей миллионы часов (если просуммировать время работы всех моделей). Для всех моделей накопителя вычисляется коэффициент сбоев отдельных компонентов, который затем учитывается при проектировании компонентов нового накопителя. Для платы управления используются стандартизированные промышленные методы предсказания сбоев. Таким образом, производитель может для новой модели накопителя на жестких дисках оценить вероятность сбоев на основе полученных ранее статистических данных.
Не менее важно понимать, что среднестатистическое время между сбоями определяется для всех накопителей одной модели, а не для отдельного накопителя. Если указано, что это время равно 500 тыс. часов, значит, ошибка может появиться при общем времени работы 500 тыс. часов всех накопителей данной модели. Если выпущен миллион накопителей данной модели и все они работают одновременно, то можно ожидать появления ошибки каждые полчаса. Параметр MTBF не применим для отдельного накопителя или небольшой выборки накопителей одной модели.
Кроме того, необходимо правильно понимать значение слова “ошибка”. В определении описанного выше параметра под ошибкой подразумевается полный выход из строя накопителя (т.е. когда его следует вернуть производителю), а не появляющиеся ошибки чтения или записи файлов.
Как указывают некоторые производители, параметр MTBF на самом деле следует расценивать как “среднестатистическое время до первой ошибки”, а не “между ошибками”. После первой ошибки устройство возвращается производителю и, как правило, не ремонтируется, а просто заменяется другим. Таким образом, понятие “среднего времени между ошибками” просто не имеет права на существование.
Подведем итог. Не следует уделять слишком много внимания такому параметру, как среднестатистическое время безотказной работы (MTBF). Для отдельного накопителя эта величина является не более чем неточно прогнозируемым показателем надежности. Однако если вам как администратору информационных систем приходится каждый год приобретать несколько тысяч компьютеров и накопителей или заниматься формированием и поддержкой множества различных систем, то стоит не только изучить эти показатели, но и познакомиться с методами их определения. Если удастся понять метод вычислений, используемый поставщиком, и определить фактическую надежность многих моделей накопителей, можно будет приобрести более надежные устройства и сэкономить время и деньги, необходимые для их обслуживания и поддержки.