Материалы

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

Рейтинг:   / 0
ПлохоОтлично 

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

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

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

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

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

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



Sitelinkx by eXtro-media.de
Яндекс.Метрика