Что нам стоит буфер удвоить

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

Производители жестких дисков всегда стремились нарастить объем буферной памяти. Сегодня это сделать легче, поскольку обычные микросхемы синхронной динамической памяти (SDRAM), а в жестких дисках применяются именно они, стоят совсем недорого. В конце 90-х годов настольные винчестеры оснащались буфером 512 Кб, потом большинство моделей получило 2 Мб памяти, а сегодня наиболее распространены винчестеры с буфером 8 Мб. Впрочем, нет предела совершенству: компания WD обновила свою массовую линейку винчестеров Caviar SE, дополнив ее моделями Caviar SE16. Основное их отличие, как вы уже догадались, заключается в увеличенном вдвое объеме буферной памяти.


Caviar SE16. Особенности конструкции

Нам удалось сопоставить модель WD2500KS, входящую в линейку Caviar SE16, с моделью WD2000JS из "стандартной" линейки Caviar SE. Как оказалось, у них минимум отличий: маркировки гермоблока, разъемов, платы электроники совпадают. Даже версия микрокода одна и та же. Следовательно, разработчики из WD использовали прежнюю технологию, просто заменив одну микросхему памяти на другую.

Для тех, кто не в курсе особенностей жестких дисков WD, сообщим следующее. Этот производитель применяет только проверенные технологии и особенно заботится о защите дисков от повреждений. Конструкция гермоблока стандартная: массивный корпус и плоская верхняя крышка герметично соединены, на крышке сверху имеется вентиляционное отверстие. Но плата электроники по традиции перевернута микросхемами внутрь и прижата к корпусу, имеется термопроводящая прокладка. Подобный прием позволяет защитить микросхемы от перегрева и внешних воздействий. Разъемов питания два - стандартный 4-контактный и новый плоский, в соответствии с требованиями Serial ATA. Для защиты интерфейсного разъема Serial ATA от случайного отключения WD предлагает использовать специальный кабель SecureConnect, имеющий защелки.

Серия Caviar SE16 выпускается только с поддержкой интерфейса Serial ATA. Причем контроллер жесткого диска поддерживает "вторую скорость" 3 Гбит/с (300 Мб/с). Другие технологии, в частности, NCQ, пока не реализованы - тут WD отстает от других производителей.

Диапазон емкостей винчестеров Caviar SE16 пока невелик. На сайте WD удалось найти данные по модели 250 Гб, плюс недавно появилась модель 400 Гб. Точную плотность записи и емкость одной пластины производитель не сообщает, но, по имеющимся данным, в нынешней серии винчестеров применяются пластины по 100 Гб. На сегодня это скромный результат, однако WD практикует модернизацию линейки без смены названий и спецификаций, поэтому вполне может оказаться, что в продаже уже имеются диски с более емкими пластинами.


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

В тестировании принимали участие жесткие диски трех производителей - WD, Seagate и Samsung. На момент написания статьи именно их продукция была представлена в широком ассортименте. Экземпляр рассматриваемого в обзоре жесткого диска серии Caviar SE16 имел следующие параметры:

  • маркировка WD2500KS-00MJB0;
  • объем 250 Гб;
  • версия микрокода 02.01C03;
  • режим "тихого позиционирования" (AAM) отключен (0FEh).

Мы будем сравнивать с ним следующие жесткие диски:

  1. Caviar SE, из линейки с буфером 8 Мб, объем 200 Гб:
    • маркировка: WD2000JS-00MHB0;
    • объем буфера - 8 Мб;
    • интерфейс - Serial ATA 3 Гбит/с, NCQ не поддерживается;
    • версия микрокода - 02.01C03 (та же самая);
    • режим "тихого" позиционирования (AAM) отключен (0FEh).
  2. Samsung SpinPoint P120, 200 Гб:
    • маркировка SP2004C;
    • объем буфера - 8 Мб;
    • интерфейс - Serial ATA 3 Гбит/с, NCQ поддерживается;
    • версия микрокода - VM100-33;
    • режим "тихого" позиционирования включен (код 00h).
  3. Seagate Barracuda 7200.8, 200 Гб:
    • маркировка ST3200826AS;
    • объем буфера - 8 Мб;
    • интерфейс - Serial ATA 1.5 Гбит/с, NCQ поддерживается;
    • версия микрокода - 3.03;
    • режим "тихого" позиционирования заблокирован (управление недоступно).

Жесткие диски Seagate и Samsung имеют более высокую плотность записи, чем WD Caviar. К тому же Seagate имеет более высокую заявленную скорость позиционирования (8 мс против 8.9 мс у Samsung и WD), а Samsung работает тише. То есть WD формально не имеют преимуществ, по сравнению с дисками других производителей. Но на практике может быть все наоборот.

Жесткие диски подключались ко второму порту контроллера Serial ATA, встроенного в южный хаб ICH5 чипсета Intel 865G. К сожалению, чипсеты серии 865 не поддерживают скорость 3 Гбит/с и технологию NCQ, поэтому возможности современных винчестеров полностью раскрыть не позволяет. Другие параметры тестовой конфигурации:

  • хост-винчестер, с которого выполнялась загрузка ОС и запуск тестов - Seagate Barracuda 7200.7 PATA 80 Гб;
  • процессор Intel Pentium 4 2.80 (шина 800 МГц);
  • материнская плата Intel D865GBF (Intel 865G);
  • память 2 x 256 DDR400, включен двухканальный режим работы;
  • видеокарта GeForce FX 5600;
  • винчестеры устанавливались в 2.5-дюймовую корзину корпуса Inwin J551, специальное охлаждение не применялось.


Низкоуровневые тесты

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

Низкоуровневые параметры рассчитывались с помощью программ:

  • IOMeter 2004.07.30;
  • HDTach 2.68;
  • HDTach 3.0.1.0;
  • Winbench 2.0 (диск форматировался под один большой раздел NTFS).

Скорость доступа оказалась выше у Caviar, поскольку винчестеры WD не используют алгоритмы замедления позиционирования (AAM). Seagate, несмотря на отличные заявленные цифры, оказался последним. Как ни странно, Caviar SE16 немного (0.3 мс) уступил своему собрату, что можно объяснить либо естественной разбежкой технологических параметров (все же механика имеет некоторые отклонения в ту или иную сторону), либо влиянием третьей пластины (чем больше число головок, тем больше будет задержка на их переключение). Конечно, отличия на самом деле очень небольшие, и говорить о серьезном отставании Caviar SE16 мы не будем. По скорости доступа при записи винчестеры WD сравнялись, обеспечив двукратное ускорение, по сравнению со скоростью доступа при чтении. Объясняется это влиянием алгоритма отложенной записи.

По скорости последовательного чтения/записи Caviar SE16, наоборот, слегка опередил Caviar SE. Но их обогнал винчестер Seagate (+10%), что закономерно ввиду применения более высокой плотности записи, а Samsung, наоборот, настолько же отстал.

Более точный анализ скорости чтения/записи позволяет провести IOMeter. Если другие программы работают с блоками 64 Кб, IOMeter может варьировать размер блока.

Последовательное чтение
Размер блока данных, Кб WD Caviar SE16 WD Caviar SE Samsung P120 Seagate 7200.8
0.5 5.066982 5.081244 3.685546 6.163116
2 17.367145 17.08481 13.319576 22.820537
8 50.332465 49.795377 36.180706 49.635574
16 61.957058 60.769844 53.165213 61.706001
64 61.978494 60.77142 59.172629 66.572998
256 61.979851 60.771206 59.171846 66.185091
1024 61.976418 60.769944 59.169873 66.294445


Последовательная запись
Размер блока данных, Кб WD Caviar SE16 WD Caviar SE Samsung P120 Seagate 7200.8
0.5 5.257076 5.258307 3.635595 3.781803
2 20.209018 20.338671 16.117274 15.117546
8 55.738406 55.707548 53.591841 49.203609
16 61.913137 60.761291 58.718843 60.958597
64 61.932009 60.767985 58.709909 66.460484
256 61.912897 60.765832 58.771897 66.816272
1024 61.89382 60.768662 58.725711 66.909634

По чтению лидирует Seagate: он существенно лучше (+20%) справляется с мелкими и крупными блоками. Samsung, как оказалось, с мелкими блоками работает совсем плохо. А WD отлично показали себя в тестах записи, обойдя Seagate при работе с блоками менее 64 Кб.

Программа Winbench'99, несмотря на свой почтенный возраст, довольно точно строит график последовательно чтения. Оба диска WD имеют одинаковую форму графика, с отсутствием пиков и провалов, что свидетельствует о высокой стабильности чтения. График Caviar SE16 более вытянут, что связано с большей его емкостью. Увеличение масштаба графика позволяет рассмотреть кратковременные, но сильные провалы скорости у Seagate и Samsung (работа алгоритмов исправления ошибок ECC, задержки на переключения головок и смену дорожек) и отсутствие таковых у WD. И пусть плотность записи у WD хуже, проверенная технология производства имеет свои плюсы - выше стабильность работы.


Имитация работы приложений

Шаблон Workstation теста IOMeter позволяет генерировать нагрузку на дисковую подсистему, близкую к реальной (сбор статистики проводился по тесту Winstone 2002 Content Creation). Так вот, этот тест более чувствителен к скорости доступа, чем к скорости чтения/записи, плюс он учитывает работу алгоритмов кэширования, так как запросы поступают с нарастанием глубины очереди.

Шаблон нагрузки Workstation
Глубина очереди запросов WD Caviar SE16 WD Caviar SE Samsung P120 Seagate 7200.8
1 97.869053 98.56318 97.118827 80.243562
2 97.434159 98.488869 96.76743 82.848996
4 99.612724 99.331725 98.315956 84.612663
8 106.885988 107.388061 102.9824 92.348894
16 116.344804 117.004632 109.325555 101.586014

Согласно полученным данным, оба диска WD слегка опередили Samsung и буквально разгромили Seagate. Caviar SE опять чуть лучше Caviar SE16, так как у них есть небольшая разница по скорости доступа.

На тест PCMark05 мы возлагали большую надежду, так как именно он должен показать преимущество большого кэш-буфера. Этот тест использует шаблоны, записанные с помощью тестового пакета Intel IPEAK SPT при выполнении определенных задач. Следовательно, PCMark05 может более-менее правдоподобно смоделировать работу винчестера в реальных условиях.

PCMark05 WD Caviar SE16 WD Caviar SE Samsung P120 Seagate 7200.8
Index 5880 5624 5071 5492
- XP Startup 10.2 10.25 8.81 9.22
- Application Loading 8.8 8 7.18 7.35
- General Usage 7.36 6.33 5.7 5.96
- Virus Scan 72.6 74.78 62.6 80
- File Write 61.7 60.1 61.9 66.4

Так вот, если по скорости загрузки Windows XP, копирования файлов и сканирования на вирусы винчестеры WD почти не отличаются, то по скорости загрузки приложений и доступу к данным во время работы приложений Caviar SE16 на 10-15% быстрее Caviar SE, не говоря уже о Samsung и Seagate.

Winstone 2004 WD Caviar SE16 WD Caviar SE Samsung P120 Seagate 7200.8
FAT32 Winstone Business 22.1 21.5 21.6 21.7
- Content Creation 26.9 26.7 26.7 26.9
NTFS5 Winstone Business 21.8 21.5 21.4 21.4
- Content Creation 26.8 26.7 26.6 26.6
Сумма FAT32 49 48.2 48.3 48.6
Сумма NTFS5 48.6 48.2 48 48

Преимущество винчестера с большим буфером заметно и в тесте Winstone, особенно если используется файловая система FAT32.


Выводы

Результаты тестирования доказывают: положительный эффект от увеличения буфера есть. Он небольшой, в пределах 10-15%, и проявляется только при работе винчестера в условиях, близких к реальным. В низкоуровневых тестах разницы практически нет, что согласуется с теорией. Та же теория говорит о том, что с ростом пропускной способности интерфейса и плотности записи, а также с внедрением технологий оптимизации доступа к диску объем буфера придется увеличивать. Поэтому разработчики из WD немного поспешили; впрочем, лучше заняться отработкой технологии сейчас, чем впоследствии догонять конкурентов.

Макс КУРМАЗ,
max@hw.by,
HW.by - Белорусский "железный" сайт

Благодарим компанию "Джет" за предоставленные жесткие диски


Зачем нам 16 Мб?

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

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

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

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

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

Версия для печатиВерсия для печати

Номер: 

47 за 2005 год

Рубрика: 

Hardware
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!