Реклама:

Программы кэширования и кэш-контроллер

Быстродействие дискового накопителя можно существенно повысить, если воспользоваться специальными программами кэширования, например SMARTDRV (DOS) и VCASHE (Windows). Эти программы "подключаются" к прерыванию жесткого диска на уровне BIOS (перехватывают прерывание BIOS) и обрабатывают запросы на считывание и запись, направляемые приложениями и драйверами устройств в BIOS.

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

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

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

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

Во многих накопителях АТА и SCSI кэш-память расположена непосредственно во встроенном контроллере. Большинство современных накопителей АТА имеют встроенную кэш-память объемом 2 Мбайт; во многих высокоэффективных накопителях АТА объем кэш-памяти достигает 8 Мбайт. Как правило, накопители SCSI имеют кэш-память объемом 8 Мбайт, а в некоторых из них установлен кэш объемом 16 Мбайт. В былые времена 1 или 2 Мбайт оперативной памяти хватало для всей системы. Сейчас же некоторые 3,5-дюймовые накопители имеют до 16 Мбайт кэш-памяти, которая встраивается непосредственно в устройство.

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

Коэффициент чередования

Рассуждая о быстродействии накопителей, нельзя обойти вопрос о чередовании секторов. Эта тема традиционно рассматривается в разделах, посвященных быстродействию контроллеров, а не накопителей, однако в большинстве современных устройств АТА встроены контроллеры, обрабатывающие данные с той же скоростью, с которой они поступают из накопителей. Это означает, в частности, что практически все современные накопители АТА форматируются непосредственно на заводах-изготовителях без чередования секторов (иногда говорят о коэффициенте чередования 1:1), и изменить этот показатель чаще всего просто невозможно. В старых устройствах MFM и ESDI с помощью изменения коэффициента чередования можно было добиться более высокой производительности диска.


⇐ Предыдущая страница| |Следующая страница ⇒