Методика измерения энергопотребления жёстких дисков

Введение


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

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

Во-первых, в последнее время тема энергосбережения стала весьма популярна среди производителей – скажем, новый стандарт Energy Star 4.0 указывает, что жёсткий диск должен потреблять в простое не более 7 Вт или не более 14 % от общего потребления компьютера (с учётом развитых режимов энергосбережения современных процессоров, 14 % от общего потребления офисного ПК в режиме простоя могут оказаться не такой уж большой величиной). Обусловлено это многими факторами – борьбой за экологию, проблемой постоянной нехватки мощности энергосистем в промышленно развитых странах, стремлением сократить счета за электроэнергию... Конечно, в масштабах одного компьютера экономия невелика, но если вспомнить, что в одном офисном здании в наше время могут стоять сотни компьютеров – цифры получаются вполне весомые.

Во-вторых, и это более значимо в, так сказать, наших персональных масштабах, энергопотребление винчестера равно его тепловыделению, тепловыделение при прочих равных условиях определяет его температуру, а температура – время наработки на отказ. Например, если обратиться к весьма известному исследованию компании Google "Failure Trends in a Large Disk Drive Population" (формат PDF, 242 кбайта), то увидим, что для новых винчестеров вероятность выхода из строя от температуры зависит слабо – а вот для уже отслуживших три года она резко увеличивается, если температура превышает 40°C.


Влияние температуры диска на вероятность отказа
(по данным Google)

Соответственно, выбрав более экономичный диск, мы при прочих равных условиях обеспечим меньшую его температуру – и большую надёжность в долгосрочном периоде. Особенно это важно для компактных microATX-корпусов, многие из которых не имеют возможности установки отдельного вентилятора для обдува жёстких дисков; впрочем, даже в полноразмерных корпусах при установке трёх-пяти дисков проблема их нагрева становится существенной.

В-третьих, жёсткие диски применяются не только в настольных компьютерах, но и в ноутбуках – до перехода на твердотельные флэш-накопители (SSD, Solid State Drive) нам всем ещё далеко. И хотя и в ноутбуке винчестер является далеко не самым прожорливым компонентом, совсем забывать о нём не стоит: свою лепту в продолжительность работы при питании от аккумулятора он вносит.

В-четвёртых, многие пользователи покупают 2,5" жёсткие диски для использования в качестве переносных накопителей – в коробочках с USB-интерфейсом. Многие из подобных коробочек не имеют дополнительного питания, в то время как один разъём USB может обеспечить ток не более 500 мА – и в случае с некоторыми винчестерами, потребляющими больший ток, это приводит к проблемам: диск может работать нестабильно или же не распознаваться компьютером вообще.

Особенный же интерес измерениям энергопотребления винчестеров придаёт наметившаяся тенденция к гонке за экономичностью среди их производителей – так, буквально на днях компания Hitachi объявила о выпуске экономичных жёстких дисков Deskstar P7K500, предназначенных для настольных компьютеров, но при этом использующих технологии энергосбережения, уже отработанные в ноутбуках.

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

Методика измерений


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


Последний представляет собой два шунта сопротивлением по 0,05 Ом, включённые в разрыв проводов питания тестируемого жёсткого диска. Соответственно, на каждый ампер потребляемого диском тока на шунте падает напряжение 0,05 В. Сигнал с шунта умножается операционным усилителем (LM324N) чуть менее чем в 20 раз – в результате на выходе мы получаем напряжение, пропорциональное потребляемому винчестером току, с масштабом 0,96 В на 1 А. Кроме того, нулевому потреблению жёсткого диска соответствует напряжение 1,525 В на выходе нашей схемы, поэтому полученный с неё сигнал пересчитывается из вольт U в амперы I по следующей формуле:

I = ((U-1,525)/0,96) А

Для аккуратного измерения тока, меняющегося с большой скоростью, мы используем осциллограф Velleman PCSU-1000, регистрирующий напряжение на выходе описанной выше схемы. Временная развёртка осциллографа устанавливается равной 0,5 мс/дел. (частота оцифровки 250 кГц, что достаточно для регистрации сигнала с частотой до 125 кГц), чувствительность – 0,5 В/дел. Развёртка осциллографа работает в автоматическом режиме, а снимаемые им осциллограммы передаются в специально написанную для их обработки программу, пересчитывающую полученные с осциллографа вольты в амперы по указанной выше формуле и подсчитывающую среднее и максимальное значения. На каждом этапе измерений для получения максимально точного результата снимается по 180 осциллограмм (измерения длятся 60 секунд, каждую секунду программа запрашивает с осциллографа по 3 осциллограммы), каждая осциллограмма имеет длину 4000 точек – то есть, итоговый результат рассчитывается по 720 тысячам замеров мгновенного потребляемого тока. При необходимости количество измерений можно увеличить. Так как упомянутый осциллограф – двухканальный, то, используя два преобразователя ток-напряжение, можно одновременно измерять потребление жёсткого диска по шинам и +5 В, и +12 В.


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


Блок-схема измерительной системы

Описанная система подключается к жёсткому диску прямо в компьютере – в разрыв цепи питания. Данное обстоятельство позволяет без проблем измерять энергопотребление винчестеров под любыми типами нагрузок, которые мы можем смоделировать в тестах – например, в IOMeter.


Мультиметр против осциллографа


Но, спросят читатели, зачем такие сложности – усилитель, осциллограф, дополнительные программы?.. Ведь можно же взять обычный цифровой амперметр или мультиметр – и измерить все нужные токи им.

Увы, сколь-нибудь адекватные результаты с мультиметром можно получить только в простое, когда головки диска неподвижны. Для иллюстрации причины этого мы сняли осциллограмму потребляемого винчестером Maxtor Atlas 15K II тока при его тестировании в IOMeter в тесте "Random read". Красный цвет соответствует току, потребляемому по шине +5 В, синий – +12 В, уровень нуля отмечен чёрной горизонтальной линией, горизонтальная развёртка равна 5 мс/дел.:


Основная часть энергии, потребляемой диском по шине +12В, затрачивается на перемещение головок; импульсы идут парами: первый соответствует началу движения головки (разгон), второй – окончанию (торможение). Расстояние между ними варьируется от почти нуля до времени, необходимого на перемещение головки от одного края диска до другого – в зависимости от того, насколько диску "повезло" с двумя идущими подряд запросами. Перед началом перемещения головок видно также увеличение энергопотребления по шине +5 В – это активизируется электроника диска, "обдумывающая" очередной запрос.

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

Увы, они равны нулю. Мультиметры – это устройства, в основе своей предназначенные для работы с постоянным напряжением (и, соответственно, постоянным током), в них попросту не используются быстрые АЦП, ибо в этом нет никакого смысла. Типичный мультиметр осуществляет измерения с периодом порядка нескольких десятых долей секунды, что на два порядка (!) больше продолжительности импульса тока, порождённого перемещением головок жёсткого диска.

Для большей наглядности мы разложили представленную выше осциллограмму в спектр:


Как вы видите, в данном случае мы имеем большой пик в нуле (постоянная составляющая тока), довольно высокий и более-менее постоянный уровень в диапазоне до нескольких десятков килогерц, высокий всплеск на 42,8 кГц – и ещё один всплеск на 85,6 кГц. Соответственно, чтобы адекватно измерить параметры такого сигнала, нам нужно устройство, способное работать с частотами хотя бы до 100 кГц – и мультиметр к подобным явно не относится.


Для проверки этой теории мы использовали два почти случайным образом выбранных мультиметра – недорогой Mastech M890G и более серьёзный Uni-Trend UT70D. Последний, помимо прочего, обладает функцией индикации среднего, минимального и максимального значений за заданный отрезок времени.

Итак, снова запускаем IOMeter, режим "Random Read", жёсткий диск Maxtor Atlas 15K II – и под стрекот головок смотрим, что покажут нам мультиметры. Так как каждый из них может измерять только одно значение (в отличие от двухканального осциллографа), то подключали мы их к 12-вольтовому каналу.

На первом из них, Mastech M890G, понять что-либо трудно – значение на экране постоянно скачет, в максимуме достигая примерно 2,9 В, в минимуме проваливаясь примерно до 2,4 В. Пользуясь приведённой выше формулой, мы без труда переводим замеченные числа в ток потребления: от 0,84 А до 1,32 А. Уже здесь ясно, что мультиметр явно привирает: на осциллограмме выше отчётливо видно, что разница между максимальным и минимальным значениями намного больше полутора раз; выделить же из скачущих цифр среднее значение и вовсе невозможно.

К счастью, у нас есть ещё UT70D, который умеет среднее значение подсчитывать аппаратно – более того, он ещё может и передавать данные на компьютер по интерфейсу RS-232, так что результаты измерений мы представим сразу в виде снимка экрана:


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

Итак, по показаниям мультиметра: среднее потребление – 1,06 А, максимальное – 1,13 А. По результатам обработки данных с осциллографа: среднее потребление – 1,04 А, максимальное – 2,71 А. Как видите, мультиметр довольно точно показал среднее значение, но, увы, ни одного пика потребления "поймать" так и не смог.

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

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