...
...

Seagate Barracuda 7200.8 — проверенные временем решения

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

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

Итак, сегодня я расскажу о жестком диске компании Seagate www.seagate.com, ST3250823AS. Этот диск принадлежит линейке Barracuda 7200.8, интерфейс которым оснащена рассматриваемая модель — Serial ATA 150, имеется поддержка технологии NCQ (Native Command Queuing ). Существует модификация этого жесткого диска, оснащенная Parallel ATA интерфейсом (Ultra ATA 100). Емкость рассматриваемого экземпляра — 250 Гб, в линейке имеются 200, 250, 300, 400–гигабайтные модели, каждая из них, кроме 200–гигабайтной, выпускается в двух вариантах: SATA 150/NCQ и UltraATA 100; 200–гигабайтная модель оснащается только интерфейсом SATA. Впрочем, это достаточно старый модельный ряд — уже достаточно давно анонсирована линейка 7200.9, основным отличием которой является более широкий диапазон емкостей (40 — 500 Гб) и использование интерфейса SATA–II, обеспечивающего пропускную способность в 300 Mб/с.

Позволив себе небольшое лирическое отступление, приведу некоторые факты из богатого исторического прошлого жестких дисков семейства Barracuda ATA: именно они стали первыми IDE–жесткими дисками с частотой вращения пластин 7200 об/мин, однако отличались при этом высоким уровнем шума и просто–таки огромным тепловыделением. Для снижения уровня шума накопителей в них стали применяться двигатели с гидродинамическими подшипниками, и Barracuda ATA IV стал первым 7200–оборотистым жестким диском уровень шума которого был не хуже, чем у моделей с частотой вращения 5400 об/мин. Что касается серии Barracuda 7200.8, которой принадлежит тестируемый экземпляр, то она знаменита тем, что впервые в индустрии перешла на использование пластин емкостью 133 Гб.

Заявленные производителем характеристики (на сайте компании www.seagate.com) приведены в таблице 1.

Таблица 1

ИнтерфейсSATA 150
Макс. внутренняя скорость передачи, Мб/с95
Макс. внешняя скорость передачи, Мб/с150
Макс. установившаяся скорость передачи, Мб/с65
Объем кэш–буфера, Мб8
Среднее время позиционирования, мс8
Среднее время ожидания, мс4.16
Скорость вращения пластин об/мин.7200


На все встраиваемые жесткие диски Seagate устанавливает гарантийный срок 5 лет и эта цифра внушает уверенность потребителю в правильности его выбора, ибо она даже больше, чем у некоторых изделий конкурентов, позиционируемых как personal storage.

Следует вкратце рассказать об интерфейсе SATA. Последовательный интерфейс SATA, как следует из названия, представляет собой последовательную архитектуру, в отличие от интерфейса Parallel ATA, SATA "складывает" множество бит в пакет и со скоростью, в 30 раз превышающей скорость передачи по параллельному интерфейсу, посылает пакет данных хосту (или от хоста устройству). Для передачи используется один проводник. Параллельный интерфейс на сегодняшний день использует CRC–проверку для обнаружения ошибок данных, передаваемых от устройства контроллеру или от контроллера устройству, проверка же целостности команд, поступающих от контроллера устройству не выполняется. В SerialATA реализована проверка целостности пакетов команд и пакетов с данными. Для проверки используются CRC–коды, позволяющие обнаружить одиночные и двойные ошибки, что гарантирует выявление до 99,998% всех возможных ошибок. Первая версия этого интерфейса (первое поколение), принятая в конце 2002 года, обеспечивает скорость передачи данных 150 Мб/с, в середине 2004 года была принята вторая версия, в которой это значение было увеличено вдвое, т.е. 300 Мб/с. На стадии разработки находится и третья версия, которую планируют утвердить в середине 2007 года и которая призвана обеспечить скорость передачи в 600 Мб/с.

Во всех жестких дисках Seagate оснащенных интерфейсом SATA, используется "полноценная" SerialATA–реализация. Реализуя технологию SATA не только на физическом уровне привода, но также и на уровне контроллера жесткого диска, приводы компании Seagate могут осуществлять обмен данными между жестким диском и хост–контроллером с максимально возможной скоростью шины, т.е. 150 Мб/с. Кроме того, полноценное SATA–решение содержит реализацию очереди команд. Некоторые производители жестких дисков, с целью скорейшего продвижения продукта на рынок, использовали "мостовое" решение, а именно устанавливали специальные чипы сериализаторы/десереализаторы. Эти "мостовые" микросхемы выполняли функцию преобразования данных из параллельного кода в последовательный и обратно при передаче данных между контроллером жесткого диска и ATA–контроллером, установленным на материнской плате. Поскольку подобное "последовательное" решение не имело никакого отношения к контроллеру диска и транспортному уровню интерфейса, а являлось, по сути, отдельной функцией, оно обеспечивало скорость передачи данных такую же, как и при использовании параллельного интерфейса, т.е. 100 или 133 Мб/с.

Тестирование

Тестовая платформа:
. Материнская плата: GigaByte 8I915P Duo
. Процессор: Intel Celeron 2.93GHz (FSB 533 MHz)
. Память 512 MB DDRII SDRAM
. Видеоподсистема: NVIDIA GeForce 6500 + FujitsuSiemens P17–2
. Операционная система Windows XP 5.1.2600 + SP2

Утилиты, использованные при тестировании:
. IOMeter 2004.07.30
. Disk Bench Mark Plugin for AIDA32 Version 1.10

В моем распоряжении не было жестких дисков с сопоставимыми параметрами, поэтому в этой статье отражены результаты тестирования относящиеся только к Seagate ST3250823AS. По этой же причине я не стал использовать программы, результатом работы которых является значение некоторого интегрального показателя (индекса), ибо эти цифры имеют смысл лишь при сравнительной оценке нескольких устройств. Я же приведу значения параметров, опираясь на которые можно сделать некоторые выводы о производительности диска. Кроме того, результаты тестирования таких пакетов, как WinBench или SiSoftware Sandra в значительной мере зависят от операционной системы, драйверов и файловой системы.

Утилита IOMeter является весьма мощным инструментом, который позволяет генерировать и воспроизводить самые разнообразные нагрузки на жесткий диск и с их помощью выполнять оценку необходимых параметров жесткого диска. Тестирование производительности жесткого диска с использованием IOMeter носит чисто синтетический характер (WinBench, к примеру, использует реальные приложения), однако именно это дает возможность гибкой настройки параметров моделируемой нагрузки. Основной принцип оценки производительности заключается в следующем: на стендовой машине запускается отдельный поток (Worker), имитирующий нагрузку на жесткий диск. Нагрузок, в общем случае, может быть несколько. Каждая нагрузка работает либо с неразбитым на разделы "физическим диском", либо с разделом(ами) в пределах одного жесткого диска. Кроме того, каждой нагрузке ставится в соответствие определенная "модель доступа", являющаяся набором параметров, которые задает тестировщик в зависимости от целей и задач. Основная программа выполняет сбор статистических данных в заданном временном промежутке и на основе этих данных вычисляет результат.

Другим инструментальным средством, которое я использовал для оценки скоростных характеристик жесткого диска, является модуль (plug–in) Disk Benchmark Plugin for AIDA32. Этот модуль входит в состав диагностического пакета AIDA32 и предназначен для тестирования устройств хранения данных.
Упомянутый plug–in состоит из 7 тестов:

Linear Read — тест разработанный для измерения установившейся последовательной скорости передачи информации от пластин контроллеру жесткого диска, посредством чтения всех данных с поверхности пластин;
Quick Linear Read — ускоренный вариант предыдущего теста, отличающийся тем, что считываются не все данные, а только 1/10 часть от их общего объема. Это достигается чтением блока определенного размера и последующим позиционированием головки на начало следующего блока с пропуском 9 промежуточных блоков;
Random Read — тест, разработанный для измерения скорости произвольного чтения данных, путем чтения блоков данных переменного размера, местоположение которых выбирается случайно;
Buffered Read — тест, разработанный для измерения производительности интерфейса жесткого диска, путем циклического считывания блока объемом 64 Кб, расположенного в самом начале поверхности пластин;
Average Access — тест, предназначенный для измерения времени доступа к данным, при этом выполняется чтение блоками малого размера с произвольной области диска. Перед каждой операцией чтения головка позиционируется на начало требуемого блока, размер которого равен 512 байтам;
Linear Write — тест предназначенный для измерения установившейся скорости передачи информации от контроллера к пластинам путем заполнения всей поверхности данными;
Random Write — тест для измерения скорости произвольной записи данных путем записи блоков переменного размера, размещение записываемого блока выбирается случайно.

Я не проводил тест Quick Linear Read, т.к. он, на мой взгляд, не представляет особого интереса, также я не выполнял тесты Linear Write и Random Write, поскольку они не являются неразрушающими.

На жестком диске я создал 3 раздела: один объемом 20 Гб — для операционной системы, и два раздела по 32 Гб — для выполнения тестов. Системный раздел был отформатирован с файловой системой FAT32, тестируемые разделы — с файловыми системами FAT32 и NTFS. Следует оговориться, что подобный подход несколько влияет на чистоту эксперимента, т.е. я хочу сказать, что для операционной системы следовало бы использовать отдельный накопитель, а тестируемый образец должен быть абсолютно чистым и подключенным к отдельному каналу, но на момент тестирования у меня не оказалось еще одного диска. Хотя если посмотреть с другой стороны, мы получим результат более приближенный к реальности, а не "чистую" производительность испытуемого образца.

Первый тест — зависимость линейной скорости чтения/записи — позволяет судить о внутренней пропускной способности контроллера жесткого диска, т.е. о скорости обмена данными с пластинами.

На первой из представленных диаграмм отображены результаты измерения линейной скорости чтения в зависимости от размера считываемого блока. На второй диаграмме — соответственно результаты измерения линейной скорости записи в зависимости от размера записываемого блока. Из графиков видно, что наибольшая производительность контроллера достигается при чтении/записи блоков размером 32/256 Кб достигая значений 61.66/61.00 Мб/с на разделе FAT32. Для NTFS–раздела наиболее эффективным является чтение блоков размером 16 Кб, а запись — 256 Кб блоками, скорость передачи при этом достигает значений 57.24 и 56.63 Мб/с соответственно. Если предположить, что для работы с диском утилита IOMeter использует функции BIOS'а и, соответственно, адресацию C:H:S, то такое поведение для блоков размером в 32 Кб вполне объяснимо. Что собой представляет операция чтения? Это позиционирование блока головок на нужную дорожку, некоторая задержка для успокоения механических колебаний подвеса головки, затем поиск необходимого сектора для считывания и непосредственно чтение одного или нескольких секторов. Для поиска необходимого сектора необходимо считать уникальный адрес из его служебной области.

Поскольку размер сектора всегда равен 512 байтам, то при запросе на чтение такими блоками необходимо читать адрес сектора при каждом обращении. С увеличением размера блока, при последовательном обращении, необходимо найти только первый сектор требуемого блока, считывать адреса следующих секторов нет необходимости, контроллер просто декрементирует счетчик, в котором хранится число считываемых секторов. Так происходит при последовательном чтении блоков размером вплоть до 32 Кб, потому как при C:H:S адресации на каждой дорожке расположено 63 сектора, простейшие математические расчеты: 63х512 байт = 32256 байт = 32 Кб — 512 байт показывают что при размере блока более 32 Кб необходимо выполнять позиционирование головки на следующую дорожку, а это — дополнительные затраты времени. Разница в скорости обмена при операциях чтения и записи тоже легко поддается объяснению. Операции чтения и записи отличаются временем позиционирования. Механизм позиционирования, как и любая механическая система, инертен и мгновенная остановка подвеса при достижении требуемой дорожки невозможна, в момент остановки подвеса возникает процесс затухающих колебаний. Для успокоения этих колебаний отводится некоторое время. Для операций чтения и записи это время различается: при чтении достаточно, чтобы сигнал, наводимый в головке текущей дорожкой был больше, чем от соседней, т.е. можно начинать чтение когда амплитуда колебаний снизилась до половины расстояния между дорожками. При записи, к точности позиционирования предъявляются более жесткие требования, иначе есть риск затереть данные, находящиеся на соседних дорожках, кроме того, неточное позиционирование при записи неизбежно вызовет ошибки при последующем считывании. Таким образом, для успокоения механических колебаний позиционирования при выполнении операции записи необходимо отводить больше времени, чем при чтении.

Теперь взглянем на результаты теста Linear Read Disk Benchmark. Этот тест выполняет последовательное считывание данных со всей поверхности диска, при этом используются API–вызовы ядра операционной системы, которые, в отличие от сервисных функций BIOS'а, используют логическую, а не физическую адресацию. Количество секторов на дорожке при этом зависит от зоны, в которой находится эта дорожка. Таким образом, скорость считывания оказывается различной в разных областях диска. Соответствующий screenshot приведен на рис.1, а все результаты тестов Disk Benchmark сведены в табл.2. Как видно, значение максимальной установившейся скорости обмена (максимальная в данном случае означает, что она измеряется в той части диска, которая имеет наибольшее количество секторов на дорожку) даже превышает заявленное производителем значение 65 Мб/с.

Последовательное обращение к жесткому диску типичной рабочей станции имеет место преимущественно при работе с мультимедиаданными, в основном же, обращения к накопителю носит случайный характер, поэтому более интересной является скорость считывания при случайном характере запросов. Если взглянуть на результаты теста Random Read того же plug–in'а, то можно увидеть, что внутренняя скорость передачи остается практически такой же, как и в случае линейного чтения. Это достаточно неплохой результат для жесткого диска, удовлетворяющий запросам многих современных приложений. Однако для меня остается загадкой тот факт, что при произвольном характере обращения скорость передачи практически не зависит от расположения данных в логическом адресном пространстве диска. В тесте Buffered Read, позволяющем оценить эффективность работы интерфейса, накопитель продемонстрировал очень хороший результат.

И наконец, самый важный, на мой взгляд параметр — время доступа (access time), которое складывается из времени позиционирования (seek time) и времени ожидания (latency time). Для тех, кто не знаком с этими величинами, маленький ликбез: access time — время с момента запроса небольшой порции данных, до момента их получения, seek time — время, необходимое для поиска нужной дорожки, latency time — время, необходимое для того чтобы нужный сектор оказался под головкой чтения. Причем latency time, как правило, одинаково для любых дисков с одинаковой частотой вращения шпинделя. И в самом деле, к примеру для частоты 7200 об/мин период вращения составит 60х1/7200 = 8,3 мс. Среднее значение времени ожидания (average latency time) при этом будет равно половине периода, т.е. приблизительно 4,16 мс. А вот среднее время позиционирования (average seek time) как раз и оказывает существенное влияние на среднее время доступа (average access time). Время позиционирования головки складывается из времени, необходимого на перемещение головки и времени, необходимого для успокоения ее колебаний после перемещения. Величина seek time существенно зависит от того, насколько качественно спроектирована и выполнена система позиционирования.

Значение величины average access time, согласно результатам теста Average Access, составляет 15 мс. Отняв от этого значения среднее время задержки (равное 4,16 мс) получим среднее время позиционирования, которое равно приблизительно 10,84 мс, т.е. значительно превышает значение заявленное в спецификации. В чем же подвох? Дело в том, что, в жестких дисках Seagate реализован режим управления акустикой, т.е. программным путем можно выбирать один из двух режимов: "тихий", при котором время позиционирования возрастает и "производительный", при котором ухудшаются шумовые характеристики. Так вот, взглянув на другую спецификацию www.seagate.com/support/disc/specs/ata/st3250823as.html можно увидеть, что здесь время позиционирования приводится для двух режимов работы — "производительного" (perf) и "тихого" (quiet). Эти величины равны соответственно 8,0/9,0 мс и 11,0/12,0 мс (в числителе — при считывании, в знаменателе — при записи). Если предположить, что накопитель работает в "тихом" режиме, то все становится на свои места.

Кроме того, имеются сведения о том, что в жестких дисках семейства 7200.8 заблокировано управление акустикой (системный отчет пакета SiSoft Sandra 2005 подтвердил это), а режим работы накопителя установлен в значение "тихий".

Таблица 2


MinimumMaximumAverage
Linear Read, Mб/с31.466.955.7
Random Read, Mб/с32.567.555.3
Buffered Read, Mб/с104.6117.9117.6
Average Access, мс13.516.715.0


Выводы

Несмотря на то, что жесткие диски семейства Barracuda 7200.8 были анонсированы более 2 лет назад и больше года присутствуют на отечественном рынке, они и сейчас являются вполне достойным выбором для настольных решений. Можно конечно придраться к измеренным значениям некоторых скоростных характеристик. К примеру, скорость обмена данными между интерфейсом и хост–контроллером скорее всего возрастет, если увеличить объем кэш–буфера и усовершенствовать алгоритмы кэширования, вовсе непонятно — зачем было переключать накопитель в "тихий" режим, да и еще лишать пользователя возможности выполнять обратное переключение?

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

Мороз Петр moroz_peter@tut.by

© Компьютерная газета

полезные ссылки
Корпусные камеры видеонаблюдения