Кэш жёсткого диска. Кэш память жесткого диска что это. Скорость и кеш память жесткого диска

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

Для чего нужен кэш

Кэш жесткого диска позволяет хранить часто используемые данные в специально отведенном месте. Соответственно объем кэша определяет вместительность хранимых данных. Благодаря большому кэшу производительность работы жесткого диска может возрастать в разы, ведь часто используемые данные могут загружаться именно в кэш жесткого диска, что при запросе не потребует физического чтения.
Физическое чтение – это прямое обращение к секторам жесткого диска. Оно занимает достаточно ощутимый период времени, измеряемый в миллисекундах. Одновременно с этим кэш жесткого диска передает информацию по запросу примерно в 100 раз быстрее чем, если бы информация запрашивалась при помощи физического обращения к жесткому диску. Таким образом, кэш жесткого диска позволяет работать винчестеру даже в том, случае если хост-шина занята.

Наряду с важностью кэша нельзя забывать и о других характеристиках жесткого диска, а иногда и объемом кэша можно пренебречь. Если сравнить два одинаковых по объему жестких диска с различными объемами кэша, например 8 и 16 мб, то выбор пользу в сторону большего кэша стоит делать только в том случае, если их разница в цене примерно $7-$12. В ином случае переплачивать деньги за больший объем кэша не имеет смысла.

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

Подытоживая все вышесказанное

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

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

Сегодня существуют жесткие диски с еще большим объемом кэша 32 мб, но как мы уже говорили, переплачивать за разницу стоит только в том случае, если разница в цене соответствует разнице в производительности.

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

Понятие кэш-памяти жесткого диска

Жесткий диск сам по себе - довольно неторопливое устройство. По сравнению с оперативной памятью, жесткий диск работает на несколько порядков медленнее. Этим же обуславливается падение производительности компьютера при нехватке оперативной памяти, так как недостача компенсируется жестким диском.

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

Рассмотрим, для чего нужна кэш-память жесткого диска.

Как было отмечено выше, чтение информации с жесткого диска происходит весьма неторопливо, так как движение головки и нахождение необходимого сектора занимает много времени.

Необходимо уточнить, что под словом "медленно" имеются в виду миллисекунды. А для современных технологий миллисекунда - это очень много.

Поэтому, как и кэш жесткого диска хранит в себе данные, физически прочитанные с поверхности диска, а также считывает и хранит в себе секторы, которые вероятно будет запрошены позднее.

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

Как работает кэш-память жесткого диска

На этом остановимся подробнее. Вы уже примерно представляете, для чего предназначена кэш-память жесткого диска. Теперь выясним, как она работает.

Представим себе, что жесткому диску приходит запрос на считывание информации в 512 КБ с одного блока. С диска берется и передается в кэш нужная информация, но вместе с запрашиваемыми данными заодно считывается несколько соседних блоков. Это называется предвыборкой. Когда поступает новый запрос на диск, то микроконтроллер накопителя сначала проверяет наличие этой информации в кэше и если он находит их, то мгновенно передает системе, не обращаясь к физической поверхности.

Так как память кэша ограничена, то самые старые блоки информации заменяются новыми. Это круговой кэш или цикличный буфер.

Методы повышения скорости работы жесткого диска за счет буферной памяти

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

Что дает устройству больший объем памяти кэша

Теперь узнаем какими объемами оснащают и что дает кэш-память в жестком диске.

Чаще всего можно встретить винчестеры с объемом кэша в 32 и 64 МБ. Но остались еще и на 8 и 16 МБ. В последнее время стали выпускаться лишь на 32 и 64 МБ. Значительный прорыв в быстродействии произошел, когда вместо 8 МБ стали использовать 16 МБ. А между кэшами объемом в 16 и 32 МБ особой разницы уже не чувствуется, как и между 32 и 64.

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

Основные достоинства кэш-памяти

Кэш-память имеет много достоинств. Мы рассмотрим лишь основные из них:


Недостатки кэш-памяти

  1. Не увеличивается скорость работы винчестера, если данные записаны на дисках случайным образом. Это делает невозможным предвыборку информации. Такой проблемы можно частично избежать, если периодически проводить дефрагментацию.
  2. Буфер бесполезен при чтении файлов, объемом большим, чем может поместиться в кэш-память. Так, при обращении к файлу размером в 100 МБ, кэш в 64 МБ будет бесполезен.

Дополнительная информация

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

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

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

Задачи жесткого диска

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

Тип жесткого диска

IDE - устаревшие винчестеры относятся для подключения к старым материнским платам.

SATA - заменили жесткие диски IDE, имеют более высокую скорость передачи данных.

Интерфейсы SATA бывают разных моделей, отличаются они между собой так же скоростью обменом данных и поддержкой разных технологий:

  • SATA- имеет скорость передачи до 150мб/c.
  • SATA II- имеет скорость передачи до 300мб/c
  • SATА III- имеет скорость передачи до 600мб/c

SATA-3 начали выпускаться совсем не давно, с начала 2010 года. При покупки такого винчестера надо обратить внимание на год выпуска вашего компьютера (без апгрейда), если он ниже этой даты, то вам этот жесткий диск не подойдет! HDD - SATA, SATA 2 имеют одинаковые разъемы подключения и совместимы между собой.

Объем жесткого диска

Самые распространенные жесткие диски, которыми пользуется большинство пользователей в домашних условиях, имеют объем: 250, 320, 500 гигабайт. Есть еще меньше, но встречаются все реже 120, 80 гигабайт, а в продаже их уже вовсе нет. Для возможности хранения очень большой информации существуют жесткие диски 1, 2, 4 тирабайта.

Скорость и кеш память жесткого диска

При выборе жесткого диска важно обращать внимание на его скорость работы (скорость работы шпинделя). От этого будет зависеть скорость работы всего компьютера. Обычная скорость дисков составляет 5400 и 7200 оборотов в минуту.

Объем буферной памяти (кеш память)- физическая память жесткого диска. Существует несколько размеров такой памяти 8, 16, 32, 64 мегабайта. Чем выше скорость оперативной памяти жесткого диска, тем быстрее будет скорость передачи данных.

В заключении

Перед покупкой, уточняйте какой именно жесткий диск подойдет для вашей материнской платы: IDE, SATA или SATA 3. Смотрим в характеристиках скорость вращения дисков и объем буферной памяти, это основные показатели на что нужно обратить внимание. Так же смотрим фирму производитель и объем который вас устроит.

Желаем удачных покупок!

Делитесь в комментариях своим выбором, это поможет другим пользователям сделать правильный выбор!



xn----8sbabec6fbqes7h.xn--p1ai

Системное администрирование и многое другое

Использование кеша увеличивает быстродействие любого жесткого диска, уменьшая количество физических обращений к диску, а также позволяет работать винчестеру даже тогда, когда хост-шина занята. Большинство современных накопителей имеют объем кеша от 8 до 64 мегабайт. Это даже больше чем объём жёсткого диска у среднего компьютера девяностых годов прошлого столетия.

Не смотря на то, что кеш увеличивает скорость работы накопителя в системе, он также имеет и свои минусы. Для начала, кеш нисколько не ускоряет работу накопителя при случайных запросах информации, расположенной в разных концах пластины, поскольку при таких запросах нет смысла в превыборке. Также, кеш нисколько не помогает при чтении больших объемов данных, т.к. он обычно достаточно маленький, например при копировании 80 мегабайтного файла, при обычном в наше время буфере объемом 16 мегабайт, в кеш влезет только чуть меньше 20% копируемого файла.

Не смотря на то, что кеш увеличивает скорость работы накопителя в системе, он также имеет и свои недостатки. Для начала, кеш нисколько не ускоряет работу накопителя при случайных запросах информации, расположенной в разных концах пластины, поскольку при таких запросах нет смысла в превыборке. Также, он нисколько не помогает при чтении больших объемов данных, т.к. он обычно достаточно маленький. Например, при копировании 80 мегабайтного файла, при обычном в наше время буфере объемом 16 мегабайт, в кеш поместится только чуть меньше чем 20% копируемого файла.

В последние годы, производители жестких дисков значительно увеличили емкость кеша в своих продуктах. Даже в конце 90-х годов, 256 килобайт было стандартом для всех накопителей и только высокоуровневые устройства имели кеш объемом 512 килобайт. В настоящее время, кеш размером 8 мегабайта стал уже стандартом де-факто для всех накопителей, в то время как наиболее производительные модели имеют емкости 32, а то и 64 мегабайт. Есть две причины, по которым наблюдался столь быстрый рост буфера накопителя. Одна из них - резкое снижение цен на микросхемы синхронной памяти. Вторая причина - это вера пользователей в то, что удвоение или даже учетверение размера кеша очень сильно скажется на скорости работы накопителя.

Размер кеша жесткого диска, конечно, влияет на скорость работы накопителя в операционной системе, но не настолько, как представляют себе пользователи. Производители пользуются верой пользователя в размер кеша, и в рекламных проспектах делают громкие заявления об учетверенном по сравнению со стандартной моделью размере кеша. Тем не менее, сравнивая один и тот же жесткий диск с размерами буферов в 16 и 64 мегабайта, выясняется, что ускорение работы выливается в несколько процентов. К чему это приводит? К тому, что только очень большая разница в размерах кеша (например между 512 килобайтами и 64 мегабайтами) будет ощутимо сказываться на скорость работы накопителя. Так же надо помнить, что размер буфера винчестера по сравнению с памятью компьютера довольно мал, и зачастую больший вклад в работу накопителя имеет «софтовый» кеш, то есть промежуточный буфер, организованный средствами операционной системы под кэширование операций с файловой системой и находящийся в памяти компьютера.

К счастью, есть более быстрый вариант работы кеша: компьютер записывает данные в накопитель, они попадают в кеш, и накопитель сразу же отвечает системе, что запись произведена; компьютер продолжает дальше работать, веря в то, что накопитель смог очень быстро записать данные, в то время как накопитель «обманул» компьютер и только записал нужные данные в кеш, и только потом начал записывать их на диск. Эта технология называется write-back caching (кэш с обратной записью).

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

sysadminstvo.ru

Кеш жёсткого диска

05.09.2005

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

Использование кеша увеличивает быстродействие любого жесткого диска, уменьшая количество физических обращений к диску, а также позволяет работать винчестеру даже тогда, когда хост-шина занята. Большинство современных накопителей имеют объем кеша от 2 до 8 мегабайт. Тем не менее, наиболее продвинутые SCSI диски имеют кеш, достигающий объема в 16 мегабайт, это даже больше чем у среднего компьютера девяностых годов прошлого столетия.

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

Причина, по которой кеш жесткого диска очень важен - это большая разница между скоростью работы самого жесткого диска и скоростью работы интерфейса жесткого диска. При поиске нужного нам сектора проходят целые миллисекунды, т.к. затрачивается время на передвижение головки, ожидание нужного сектора. В современных персональных компьютерах даже одна миллисекунда это очень много. На типичном IDE/ATA накопителе время передачи 16-килобайтного блока данных из кеша в компьютер примерно в сотни раз быстрее, чем время нахождения и считывания его с поверхности. Вот почему все жесткие диски имеют внутренний кеш.

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

Общие концепции работы кеша жесткого диска

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

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

  1. Адаптивная сегментация. Обычно кеш разделен на сегменты одинакового размера. Так как запросы могут иметь разный размер, это приводит к излишнему расходованию блоков кеша, т.к. один запрос будет разделяться на сегменты фиксированной длины. Многие современный накопители динамически меняют размер сегмента, определяя размер запроса и подстраивая размер сегмента под конкретный запрос, таким образом, повышая эффективность и увеличивая или уменьшая размер сегмента. Также может меняться количество сегментов. Данная задача более сложная, чем операции с сегментами фиксированной длины, и может приводить к фрагментированности данных внутри кеша, увеличивая нагрузку на микропроцессор жесткого диска.
  2. Превыборка. Микропроцессор жесткого диска на основе анализа запрашиваемых данных в настоящий момент и запросов в предыдущие моменты времени, загружает в кеш данные, которые еще не были запрошены, но имеют к этому большой процент вероятности. Самый простой случай превыборки - это загрузка в кеш дополнительных данных, которые лежат немного дальше, чем запрашиваемые сейчас данные, т.к. статистически они имеют большую вероятность быть запрошенными позднее. Если алгоритм превыборки реализован в микропрограмме накопителя корректно, то это увеличит скорость его работы в различных файловых системах и с различными типами данных.
  3. Контролирование пользователем. Высокотехнологичные жесткие диски имеют набор команд, которые позволяют пользователю точно контролировать все операции с кешем. Эти команды включают в себя следующие: разрешение и запрещение работы кеша, управление размером сегментов, включение и выключение адаптивной сегментации и превыборки и т.п.

Не смотря на то, что кеш увеличивает скорость работы накопителя в системе, он также имеет и свои минусы. Для начала, кеш нисколько не ускоряет работу накопителя при случайных запросах информации, расположенной в разных концах пластины, поскольку при таких запросах нет смысла в превыборке. Также, кеш нисколько не помогает при чтении больших объемов данных, т.к. он обычно достаточно маленький, например при копировании 10 мегабайтного файла, при обычном в наше время буфере объемом 2 мегабайта, в кеш влезет только чуть меньше 20% копируемого файла.

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

На рисунке представлена микросхема кеша накопителя Seagate Barracuda, она имеет емкость 4 мегабита или 512 килобайт.

Кеширование операций чтения-записи

Не смотря на то, что кеш увеличивает скорость работы накопителя в системе, он также имеет и свои недостатки. Для начала, кеш нисколько не ускоряет работу накопителя при случайных запросах информации, расположенной в разных концах пластины, поскольку при таких запросах нет смысла в превыборке. Также, он нисколько не помогает при чтении больших объемов данных, т.к. он обычно достаточно маленький. Например, при копировании 10 мегабайтного файла, при обычном в наше время буфере объемом 2 мегабайта, в кеш поместится только чуть меньше чем 20% копируемого файла.

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

В последние годы, производители жестких дисков значительно увеличили емкость кеша в своих продуктах. Даже в конце 90-х годов, 256 килобайт было стандартом для всех накопителей и только высокоуровневые устройства имели кеш объемом 512 килобайт. В настоящее время, кеш размером 2 мегабайта стал уже стандартом де-факто для всех накопителей, в то время как наиболее производительные модели имеют емкости 8, а то и 16 мегабайт. Как правило, 16 мегабайт встречается только на SCSI накопителях. Есть две причины, по которым наблюдался столь быстрый рост буфера накопителя. Одна из них - резкое снижение цен на микросхемы синхронной памяти. Вторая причина - это вера пользователей в то, что удвоение или даже учетверение размера кеша очень сильно скажется на скорости работы накопителя.

Размер кеша жесткого диска, конечно, влияет на скорость работы накопителя в операционной системе, но не настолько, как представляют себе пользователи. Производители пользуются верой пользователя в размер кеша, и в рекламных проспектах делают громкие заявления об учетверенном по сравнению со стандартной моделью размере кеша. Тем не менее, сравнивая один и тот же жесткий диск с размерами буферов в 2 и 8 мегабайт, выясняется, что ускорение работы выливается в несколько процентов. К чему это приводит? К тому, что только очень большая разница в размерах кеша (например между 512 килобайтами и 8 мегабайтами) будет ощутимо сказываться на скорость работы накопителя. Так же надо помнить, что размер буфера винчестера по сравнению с памятью компьютера довольно мал, и зачастую больший вклад в работу накопителя имеет "софтовый" кеш, то есть промежуточный буфер, организованный средствами операционной системы под кэширование операций с файловой системой и находящийся в памяти компьютера.

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

Без кеширования, каждая операция записи приводила бы к томительному ожиданию, пока головки переместятся в нужное место, и произойдет запись данных на поверхность. Работа с компьютером была бы невозможной: как мы уже упоминали ранее, эта операция на большинстве винчестеров занимала бы как минимум 10 миллисекунд, что очень много с точки зрения работы компьютера в целом, так как микропроцессору компьютера приходилось бы ждать эти 10 миллисекунд при каждой записи информации на винчестер. Самое поразительное, что существует именно такой режим работы с кешем, когда данные одновременно записываются и в кеш и на поверхность, и система ожидает выполнение обеих операций. Это называется write-through caching (сквозное кэширование). Эта технология обеспечивает ускорение работы в том случае, если в ближайшее время только что записанные данные потребуется считать обратно в компьютер, а сама запись происходит намного дольше, чем время, через которое потребуются эти данные компьютеру.

К счастью, есть более быстрый вариант работы кеша: компьютер записывает данные в накопитель, они попадают в кеш, и накопитель сразу же отвечает системе, что запись произведена; компьютер продолжает дальше работать, веря в то, что накопитель смог очень быстро записать данные, в то время как накопитель "обманул" компьютер и только записал нужные данные в кеш, и только потом начал записывать их на диск. Эта технология называется write-back caching (кэш с обратной записью).

Конечно, технология write-back кеширования увеличивает быстродействие, но, тем не менее, и у этой технологии тоже есть свой минус. Жесткий диск сообщает компьютеру, что запись уже произведена, в то время как данные находятся лишь в кеше, и только потом начинает записывать данные на поверхность. Это занимает какое-то время. Это не проблема до тех пор, пока есть питание компьютера. Т.к. память кеша - это энергозависимая память, в момент выключения питания все содержимое кеша безвозвратно теряется. Если в кеше были данные, ожидающие записи на поверхность, и в этот момент было выключено питание, данные будут потеряны навсегда. И, что также плохо, система не знает, были ли данные точно записаны на диск, т.к. винчестер уже отрапортовал, что сделал это. Таким образом, мы не только теряем сами данные, но и не знаем, какие именно данные не успели записаться, и даже не знаем, что произошел сбой. В результате может произойти потеря части файла, что приведет к нарушению его целостности, потери работоспособности операционной системы и т.д. Конечно, эта проблема не затрагивает кеширование данных при чтении.

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

spas-info.ru

Что представляет собой буфер жесткого диска и зачем он нужен

Сегодня распространенным накопителем информации является магнитный жесткий диск. Он обладает определенным объемом памяти, предназначенным для хранения основных данных. Также в нем имеется буферная память, предназначение которой заключается в хранении промежуточных данных. Профессионалы называют буфер жесткого диска термином «cache memory» или же просто «кэшем». Давайте разберемся, зачем нужен буфер HDD на что влияет и каким обладает размером.

Буфер жесткого диска помогает операционной системе временно хранить данные, которые были считаны с основной памяти винчестера, но не были переданы на обработку. Необходимость наличия транзитного хранилища обусловлена тем, что скорость считывания информации с HDD накопителя и пропускная способность ОС значительно различается. Поэтому компьютеру требуется временно сохранять данные в «кэше», а только затем использовать их по назначению.

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

Стоит отметить, что размер «cache memory» зависит от конкретной модели диска. Раньше он составлял около 8 мегабайт, причем такой показатель считался удовлетворительным. Однако с развитием технологий производители смогли выпускать микросхемы с более большим объемом памяти. Поэтому большинство современных винчестеров обладают буфером, размер которого варьируется от 32 до 128 мегабайт. Конечно, наибольший «кэш» устанавливается в дорогие модели.

Какое влияние оказывает буфер жесткого диска на производительность

Теперь расскажем, почему размер буфера винчестера оказывает влияние на производительность компьютера. Теоретически, чем больше информации будет находиться в «cache memory», тем реже операционная система будет обращаться к винчестеру. Особенно это актуально для сценария работы, когда потенциальный пользователь занимается обработкой большого количества маленьких файлов. Они попросту перемещаются в буфер жесткого диска и там ждут своей очереди.

Однако если ПК используется для обработки файлов большого размера, то «кэш» утрачивает свою актуальность. Ведь информация не сможет поместиться на микросхемах, объем которых невелик. В результате пользователь не заметит увеличения производительности компьютера, поскольку буфер практически не будет использоваться. Это происходит в случаях, если в операционной системе будут запускаться программы для редактирования видеофайлов и т. д.

Таким образом, при приобретении нового винчестера рекомендуется обращать внимание на размер «кэша» только в случаях, если планируется постоянно заниматься обработкой небольших файлов. Тогда получится действительно заметить увеличение производительности своего персонального компьютера. А если же ПК будет использоваться для обыкновенных повседневных задач или обработки файлов большого размера, тогда можно не придавать буферу обмена никакого значения.

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

Очевидное решение проблемы нехватки места для хранения данных – покупка DVD-дисков, USB флэш-накопителей или внешнего жесткого диска(HDD). Флеш накопители обычно предоставляют несколько Гб дискового пространства, но они однозначно не подходят для длительного хранения, к тому же, соотношение цена – объем у них, мягко говоря, не самое лучшее. DVD-диски – выгодный вариант в плане цены, но не удобный в плане записи, перезаписи и удаления ненужных данных, но они потихоньку сдыхают становятся устаревшей технологией. Внешний HDD предоставляет большой объем пространства, портативен, удобен в использовании, прекрасно подходит для длительного хранения данных.

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

На что обращать внимание при покупке внешнего жесткого диска

Начнем с выбора марки, лучшими из них являются Maxtor , Seagate, Iomega , LaCie, Toshiba и Western Digita l.
Наиболее важными характеристиками, на которые необходимо обращать внимание при покупке:

Емкость

Объем дискового пространства, это первое, что необходимо учитывать. Основное правило, которым вы должны руководствоваться при покупке – емкость, которая вам необходима, умножайте на три. Например, если вы думаете, что 250 ГБ дополнительного места на винчестере достаточно, покупайте модель от 750 Гб. Диски с большим объемом дискового пространства, как правило, довольно громоздки, что сказывается на их мобильных возможностях, это также необходимо учитывать тем, кто часто носит внешний накопитель с собой. Для настольных компьютеров, в продаже имеются модели с объемом дискового пространства в несколько терабайт.

Форм-фактор

Форм-фактор определяет размер устройства. В настоящее время для внешних HDD используются форм-факторы 2,5 и 3,5.
2,5-форм-факторы(размер в дюймах)- меньше по размерам, имеют небольшой вес, энергопитание получает от порта, компактны, мобильны.
3,5 форм факторы – больше в размерах, имеют дополнительное питание от электросети, довольно тяжелы (часто более 1 Кг), имеют большой объем дискового пространства. Обратите внимание на блок питания от сети, т.к. если планируется подключать устройство к слабенькому ноутбуку, то он возможно не сможет обеспечить раскрутку диска — и диск просто не будет работать.

Скорость вращения (RPM)

Вторым важным фактором, который необходимо учитывать — скорость вращения диска, указываемая в RPM (обороты в минуту). Большая скорость обеспечивает быстрое считывание данных и высокую скорость записи. Любой HDD, имеющий скорость вращения диска равной 7200 RPM и более является хорошим выбором. Если скорость для вас не критична, то можно выбрать модель с 5400 RPM, они тише работают и меньше греются.

Размер кэш-памяти

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

Интерфейс

Кроме вышеперечисленных факторов, еще одной важной особенностью является тип интерфейса, используемого для передачи данных. Наиболее распространенным является USB 2.0. набирает популярность USB 3.0, у нового поколения значительно возросла скорость передачи данных, также доступны модели с интерфейсами FireWire и ESATA. Рекомендуем остановить свой выбор на моделях с интерфейсами USB 3.0 и ESATA, имеющих высокую скорость передачи данных, при условии, что ваш компьютер оборудован соответствующими портами. Если для вас критическое значение имеет возможность подключать внешний жесткий диск к возможно большему количеству устройств – выбирайте модель с версией интерфейса USB 2.0.

Напомню, что утилита Seagate SeaTools Enterprise позволяет пользователю управлять политикой кэширования и, в частности, переключать новейшие SCSI-диски Seagate между двумя разными моделями кэширования - Desktop Mode и Server Mode. Этот пункт в меню SeaTools носит название Performance Mode (PM) и может принимать два значения - On (Desktop Mode) и Off (Server Mode). Отличия между этими двумя режимами чисто программные - в случае Desktop Mode кэш-память жесткого диска разбивается на фиксированное число сегментов постоянного (одинакового) объема и далее они используются для кэширования обращений при чтении и записи. Причем, в отдельном пункте меню пользователь даже может сам назначать количество сегментов (управлять сегментированием кэша): например, вместо дефолтных 32 сегментов проставить другое значение (при этом объем каждого сегмента пропорционально уменьшится).

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

Тогда мы смогли выяснить, что использование новых накопителей Seagate Cheetah в режиме «Desktop» (при фиксированном сегментировании по умолчанию - на 32 сегмента) вместо дефолтного «Server» с динамическим сегментированием способно немного поднять производительность дисков в ряде задач, более характерных для настольного компьютера или медиа-серверов. Причем, эта прибавка порой может достигать 30-100% (!) в зависимости от типа задачи и модели диска, хотя в среднем она оценивается величиной 30%, что, согласитесь, тоже неплохо. Среди таких задач - рутинная работа настольного ПК (тесты WinBench, PCmark, H2bench), чтение и копирование файлов, дефрагментация. При этом в чисто серверных приложениях производительность накопителей почти не падает (если и падает, то незначительно). Впрочем, заметный выигрыш от использования Desktop Mode мы смогли наблюдать только на диске Cheetah 10K.7, тогда как ее старшей сестрице Cheetah 15K.4 оказалось почти все равно, в каком из режимов работать над настольными приложениями.

Пытаясь разобраться дальше, как влияет сегментирование кэш-памяти этих жестких дисков на производительность в различных приложениях и какие режимы сегментирования (какое количество сегментов памяти) более выгодно при выполнении тех или иных задач, я исследовал влияние количества сегментов кэш-памяти на производительность диска Seagate Cheetah 15K.4 в широком диапазоне значений - от 4 до 128 сегментов (4, 8, 16, 32, 64 и 128). Результаты этих исследований и предлагаются вашему вниманию в этой части обзора. Подчеркну, что данные результаты интересны не только сугубо для этой модели дисков (или SCSI-дисков Seagate в целом) - сегментирование кэш-памяти и выбор количества сегментов - это одно из основных направлений оптимизации firmware, в том числе, настольных дисков с интерфейсом ATA, которые сейчас также оснащаются преимущественно буфером 8 Мбайт. Поэтому описанные в данной статье результаты производительности накопителя в различных задачах в зависимости от сегментирования его кэш-памяти имеют отношение и к индустрии настольных ATA-накопителей. А поскольку методика испытаний была описана в первой части, переходим непосредственно к самим результатам.

Впрочем, прежде, чем перейти к обсуждению результатов, взглянем чуть подробнее на устройство и работу сегментов кэш-памяти диска Seagate Cheetah 15K.4, чтобы лучше понимать, о чем идет речь. Из восьми мегабайт для собственно кэш-памяти (то есть для кэширующих операций) здесь доступно 7077 Кбайт (остальное - служебная область). Эта область делится на логические сегменты (Mode Select Page 08h, byte 13), которые используются для чтения и записи данных (для осуществления функций упреждающего чтения с пластин и отложенной записи на поверхность диска). Для обращения к данным на магнитных пластинах сегменты используют именно логическую адресацию блоков накопителя. Диски этой серии поддерживают максимум 64 сегмента кэш-памяти, причем длина каждого сегмента равна целому числу секторов диска. Объем доступной кэш-памяти, по всей видимости, распределяется поровну между сегментами, то есть если сегментов, скажем, 32, то объем каждого сегмента равен примерно 220 Кбайт. При динамической сегментации (в режиме PM=off) количество сегментов может меняться винчестером автоматически в зависимости от потока команд от хоста.

Приложения для серверов и настольных компьютеров требуют различных операций кэширования от дисков для обеспечения оптимальной производительности, поэтому сложно обеспечить единую конфигурацию для наилучшего выполнения этих задач. По мнению Seagate, для «настольных» приложений требуется сконфигурировать кэш-память так, чтобы быстро отвечать на повторяющиеся запросы большого количества небольших сегментов данных без задержек на упреждающее чтение смежных сегментов. В серверных задачах, напротив, требуется так сконфигурировать кэш, чтобы обеспечить поступление больших объемов последовательных данных в неповторяющихся запросах. В этом случае более важна способность кэш-памяти хранить больше данных из смежных сегментов при упреждающем чтении. Поэтому для Desktop Mode производитель рекомендует использовать 32 сегмента (в ранних версиях Cheetah использовались 16 сегментов), а для Server Mode адаптивное количество сегментов стартует всего с трех на весь кэш, хотя в процессе работы может и увеличиваться. Мы в своих экспериментах по поводу влияния количества сегментов на производительность в различных приложениях ограничимся диапазоном от 4 сегментов до 64 сегментов, а в качестве проверки «прогоним» диск также при 128 сегментах, установленных в программе SeaTools Enterprise (программа при этом не сообщает, что данное количество сегментов в этом диске недопустимо).

Результаты тестов физических параметров

Графики скорости линейного чтения при разном количестве сегментов кэш-памяти приводить никакого смысла нет - они одинаковы. А вот по измеренной тестами скорости работы интерфейса Ultra320 SCSI можно наблюдать весьма любопытную картину: при 64 сегментах некоторые программы начинают неправильно определять скорость работы интерфейса, снижая ее более чем на порядок.

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

Об эффективности работы алгоритмов отложенной записи firmware диска и кэширования записываемых данных в буфере накопителя можно попытаться судить по тому, как падает среднее измеренное операционной системой время доступа при записи относительно чтения при включенном write-back кэшировании накопителя (оно в наших тестах было всегда включено). Для этого мы обычно используем результаты теста C"T H2benchW, но в этот раз дополним картину и тестом в программе IOmeter, паттерны чтения и записи для которой использовали стопроцентно случайный доступ блоками по 512 байт с единичной глубиной очереди запросов. (Разумеется, не следует думать, что average write access time на двух диаграммах ниже реально отражает данную физическую характеристику накопителей! Это лишь некий программно измеряемый при помощи теста параметр, по которому можно судить об эффективности кэширования записи в буфере диска. Реальное заявленное производителем среднее время доступа при записи для Cheetah 15K.4 составляет 4,0+2,0=6,0 мс). Кстати, предвидя вопросы, замечу, что в данном случае (то есть когда в диске разрешена отложенная запись) накопитель рапортует хосту об успешном завершении команды записи (статус GOOD) сразу, как только они записаны в кэш-память, а не непоседственно на магнитный носитель. Этим и обусловлено меньшее значение измеренного извне average write access time, чем для аналогичного параметра при чтении.

По результатам этих тестов налицо ясная зависимость эффективности кэширования случайной записи мелких блоков данных от количества сегментов кэш-памяти - чем больше сегментов, тем лучше. При четырех сегментах эффективность резко падает и среднее время доступа при записи возрастает почти до значений при чтении. А в «серверной моде» число сегментов в данном случае, очевидно, близко к 32. Случаи 64 и "128" сегментов полностью идентичны, что подтверждает программное ограничение на уровне 64 сегментов сверху.

Интересно, что тест IOmeter в простейших паттернах на случайный доступ блоками 512 байт дает совершенно такие же значения при записи, что и тест C"T H2BenchW (с точностью буквально до сотых долей миллисекунды), тогда как при чтении IOmeter показал несколько завышенный результат во всем диапазоне сегментирования - возможно, разница в 0,1-0,19 мс с другими тестами на время случайного доступа при чтении обусловлена какими-то «внутренними» причинами для IOmeter (или же размером блока 512 байт вместо 0 байт, как требуется в идеале для таких измерений). Впрочем, результаты «по чтению» у IOmeter практически совпадают с таковыми для дискового теста программы AIDA32.

Быстродействие в приложениях

Переходим к тестам производительности накопителей в приложениях. И первым делом, попробуем выяснить, как хорошо диски оптимизированы для многопотоковой работы. Для этого я традиционно использую тесты в программе NBench 2.4, где файлы размером 100 Мбайт записываются на диск и читаются с него несколькими одновременными потоками.

Данная диаграмма позволяет нам судить об эффективности алгоритмов многопотоковой отложенной записи жестких дисков в реальных (а не синтетических, как было на диаграмме со средним временем доступа) условиях при работе операционной системы с файлами. Лидерство обоих SCSI-дисков Maxtor при записи несколькими одновременными потоками не вызывает сомнений, однако у Читы мы уже наблюдаем некий оптимум в районе между 8 и 16 сегментами, тогда как при более высоких и более низких значениях скорость диска на данных задачах падает. Для Server Mode число сегментов, очевидно, равно 32 (с хорошей точностью:)), а "128" сегментов - это, на самом деле, 64.

При многопотоковом чтении ситуация для дисков Seagate явно улучшается по сравнению с дисками Maxtor. Что же касается влияния сегментации, то, как и при записи, мы наблюдаем некий оптимум ближе к 8 сегментам (при записи он был ближе к 16 сегментам), а при очень высоком сегментировании (64) скорость диска существенно понижается (как и при записи). Отрадно, что Server Mode тут «отслеживает базар» хоста и меняет сегментирование с 32 при записи на ~8 при чтении.

Теперь посмотрим, как диски ведут себя в «преклонных», но до сих пор популярных тестах Disk WinMark 99 из пакета WinBench 99. Напомню, что мы проводим эти тесты не только для «начала», но и для «середины» (по объему) физического носителя для двух файловых систем, а на диаграммах приведены усредненные результаты. Безусловно, данные тесты не являются «профильными» для SCSI-накопителей, и мы приводя тут их результаты скорее отдаем дань уважения самому тесту и тем, кто привык судить о скорости диска по тестам WinBench 99. В качестве «утешения» заметим, что эти тесты с определенной долей достоверности покажут нам, какова производительность этих enterprise-накопителей при выполнении задач, более характерных для настольного компьютера.

Очевидно, что оптимум сегментирования есть и здесь, причем при малом количестве сегментов диск смотрится невыразительно, а при 32 сегментах - наилучшим образом (возможно, именно поэтому разработчики Seagate «сместили» дефолтную настройку Desktop Mode с 16 до 32 сегментов). Впрочем, для Server Mode в офисных (Business) задачах сегментирование не совсем оптимально, тогда как для профессиональной (High-End) производительности сегментирование более чем соптимизировано, заметно обгоняя даже оптимальную «постоянную» сегментацию. Видимо, именно в процессе выполнения теста она меняется в зависимости от потока команд и за счет этого получается выигрыш в общей производительности.

К сожалению, такой оптимизации «по ходу теста» не наблюдается для более свежих «трековых» комплексных тесты оценки «настольной» производительности дисков в пакетах PCMakr04 и C"T H2BenchW.

На обоих (а точнее - на 10 различных) «треках активности» интеллект Server Mode заметно уступает оптимальной постоянной сегментации, которая для PCmark04 равна примерно 8 сегментам, а для H2benchW - 16 сегментам.

Для обоих этих тестов 4 сегмента кэш-памяти оказывается очень нежелательным, да и 64 тоже, и сложно сказать, к чему больше тяготеет в своем выборе Server Mode в данном случае.

В противовес этим, безусловно, все же синтетическим (хотя и очень похожим на реальность) тестам - совершенно «реальный» тест скорости работы дисков с временным файлом программы Adobe Photoshop. Здесь ситуация гораздо позрачнее - чем больше сегментов, тем лучше! И Server Mode это почти «уловила», воспользовавшить 32 сегментами для своей работы (хотя 64 было бы еще чуточку лучше).

Тесты в Intel Iometer

Переходим к задачам, более характерным для профилей использования SCSI-накопителей - работе различных серверов (DataBase, File Server, Web Server) и рабочей станции (Workstation) по соответствующим паттернам в программе Intel IOmeter версии 2003.5.10.

С имитацией сервера базы данных успешнее всех справляется Maxtor, а для Seagate выгоднее всего использование Server Mode, хотя по сути последняя очень близка к 32 постоянным сегментам (объемом примерно по 220 кбайт каждый). Меньшее или большее сегментирование в данном случае оказывается хуже. Впрочем, это паттерн слишком прост по виду запросов - посмотрим, что будет для более комплексных паттернов.

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

Наконец, для Web-сервера мы видим даже более занятную картину - при НЕединичной очереди команд Server Mode равноценна любому уровню сегментирования, кроме 64, хотя на единичной она чуть лучше всех.

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

Что касается паттерна «рабочая станция», тот здесь Server Mode явно лучше всех.

А оптимум для постоянной сегментации находится на уровне 16 сегментов.

Теперь - наши паттерны для IOmeter, более близкие по назначению настольным ПК, хотя определенно показательные и для enterprise-накопителей, поскольку и в «глубоко профессиональных» системах жесткие диски львиную долю времени считывают и записывают большие и маленькие файлы, а также иногда копируют файлы. А поскольку характер обращений в данных паттернах в данных паттернах в тесте IOmeter (по случайным адресам в пределах всего объема диска) более характерен именно для систем серверного класса, то и важность этих паттернов для исследуемых дисков выше.

Чтение крупных файлов снова лучше дается для Server Mode, за исключением непонятного провала на QD=4. Однако небольшое количество крупных сегментов явно предпочтительнее для диска на этих операциях (что, в принципе, предсказуемо и отлично согласуется с результатами для многопотокового чтения файлов, см. выше).

Спорадическая запись крупных файлов, напротив, пока «не по зубам» интеллекту Server Mode, и здесь выгоднее постоянная сегментация на уровне 8-16 сегментов, как и при многопоточной записи файлов, см. выше. Отдельно отметим, что на этих операциях крайне вредным является большое сегментирование кэша - на уровне 64 сегментов. Однако оно оказывается полезным для операций с чтением мелкими файлами при большой очереди запросов:

Думаю, именно это использует Server Mode для выбора адаптивного режима - уж очень похожи их графики.

Вместе с тем, при записи мелких файлов по случайным адресам 64 сегмента снова провальны, а Server Mode здесь уступает постоянной сегментации с уровнем 8-16 сегментов на кэш, хотя видно старание Server Mode использовать оптимальные настройки (только с 32-64 сегментами на очереди 64 вышла незадача;)).

Копирование крупных файлов - явная неудача Server Mode! Здесь явно выгоднее сегментирование с уровнем 16 (это оптимум, поскольку 8 и 32 хуже на очереди 4).

Что же касается копирования мелких файлов, то 8-16-32 сегмента здесь практически равноценны, обгоняя 64 сегмента (как это ни странно), а Server Mode немного «чудит».

По результатам геометрического усреднения данных для случайного чтения, записи и копирования крупных и мелких файлов получаем, что наилучший в среднем результат дает постоянное сегментирование с уровнем всего 4 сегмента на кэш (то есть размеры сегментов более 1,5 Мбайт!), тогда как 8 и 16 сегментов примерно равноценны и почти не отстали от 4 сегментов, а вот 64 сегмента явно противопоказаны. Адаптивная Server Mode в среднем лишь немного уступила постоянной сегментации - проигрыш одного процента вряд ли можно считать заметным.

Остается отметить, что при имитации дефрагментации мы наблюдаем примерное равенство всех уровней постоянной сегментации и небольшое преимущество Server Mode (на тот же 1%).

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

Выводы

Проведя во второй части нашего обзора более детальное исследование влияния сегментирования кэш-памяти на быстродействие накопителя Seagate Cheetah 15K.4 в разнообразных задачах, хочется отметить, что разработчики недаром назвали режимы кэширования так, как они их назвали: в Server Mode действительно нередко проводится адаптация сегментирования кэш-памяти под выполняемую задачу и это, порой, приводит к весьма неплохим результатам - особенно при выполнении «тяжелых» задач, среди которых и серверные паттерны в Intel IOmeter, и тест High-End Disk WinMark 99, и случайное чтение мелких блоков по всему диску… Вместе с тем, нередко выбор уровня сегментирования кэш-памяти в Server Mode оказывается неоптимальным (и требует дальнейшей работы по улучшению критериев анализа потока команд хоста), и тогда вперед выходит Desktop Mode с фиксированным сегментированием на уровне 8, 16 или 32 сегментов на кэш. Причем, в зависимости от типа задачи иногда выгоднее использовать 16 и 32, а иногда - 8 или всего 4 сегмента памяти! Среди последних - многопотоковые чтения и запись (как случайные, так и последовательные), «трековые» тесты вроде PCMark04 и потоковые задачи с одновременным чтением и записью. Хотя «синтетика» на случайный доступ при записи явно показывает, что эффективность отложенной записи (по произвольным адресам) существенно снижается с уменьшением числа сегментов. То есть налицо борьба двух тенденций - и именно поэтому в среднем эффективнее использовать 16 или 32 сегмента на 8-мегабайтный буфер. При удвоении объема буфера можно предсказать, что выгоднее сохранить количество сегментов на уровне 16-32, но за счет пропорционального увеличения емкости каждого сегмента средняя производительность накопителя может существенно повыситься. Видимо, даже неэффективное нынче в большинстве задач сегментирование кэша с 64 сегментами при удвоении объем буфера может оказаться очень полезным, тогда как использование в этом случае 4 и даже 8 сегментов станет малоэффективным. Впрочем, данные выводы сильно зависят еще и от того, какими блоками операционная система и приложения предпочитают оперировать с накопителем, и файлы какого размера при этом используются. Вполне возможно, что при изменении окружения оптимум сегментирования кэш-памяти может сместиться в ту или иную сторону. Ну а мы пожелаем Seagate успехов в оптимизации «интеллекта» Server Mode, которая, в определенной мере, может сгладить эту «системозависимость» и «задачезависимость», научившись наилучшим образом подбирать самое оптимальное сегментирование в зависимости от потока команд хоста.