Что дает кэш жесткого диска. Буферная память жесткого диска: что это, на что влияет и какая лучше? Кеш жёсткого диска

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

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

Какой бывает объем и на что он влияет

Отдельного внимания заслуживает объем буфера. Зачастую HDD оснащаются кэшем 8, 16, 32 и 64 Мб. При копировании файлов больших размеров между 8 и 16 Мб будет заметна значительная разница в плане быстродействия, однако между 16 и 32 она уже менее незаметна. Если выбирать между 32 и 64, то ее вообще почти не будет. Необходимо понимать, что буфер достаточно часто испытывает большие нагрузки, и в этом случае, чем он больше, тем лучше.

В современных жестких дисках используется 32 или 64 Мб, меньше на сегодняшний день вряд ли где-то можно найти. Для обычного пользователя будет достаточно и первого, и второго значения. Тем более что помимо этого на производительность также влияет размер собственного, встроенного в систему кэша. Именно он увеличивает производительность жесткого диска, особенно при достаточном объеме оперативки.

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

Предназначение

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

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

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

Основные преимущества

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

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

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

Как узнать текущий объем кэша

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


Если вы покупаете новое устройство, то все необходимые характеристики можно узнать на коробке или в приложенной инструкции. Еще один вариант – посмотреть в интернете.

В этом видео разобран весь принцип работы

Жесткий диск (винчестер, 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», тем реже операционная система будет обращаться к винчестеру. Особенно это актуально для сценария работы, когда потенциальный пользователь занимается обработкой большого количества маленьких файлов. Они попросту перемещаются в буфер жесткого диска и там ждут своей очереди.

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

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

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

Кэш есть кэш. Данные которыми вы пользовались недавно заносятся в него, программы которые ведут активную работу с файлами — в большинстве случаев записывают в кэш, он уже в определенный интервал скидывает их на жесткий диск. Этот процесс в новой версии софта уже НЕ глючит, то есть все проходит плавно (при использовании режима Idle-Flush).

Про утилиту PrimoCache

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

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

Программа НЕ бесплатная, но можно пользоваться 60-дней бесплатно, впрочем кому она реально станет очень полезной, то обойдут это ограничение не взламывая саму программу

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

Особенности программы PrimoCache

В общем, не буду долго расписывать, а напишу все особенности программы в виде списка, так думаю будет удобнее.

  • Как я уже писал, для работы нужно немного свободной оперативки, хотя бы 1-2 Гб. Это позволит снять пиковые кратковременные нагрузки на жесткий диск, например одна из таких нагрузок может быть открытие кучу вкладок в браузере. Что это вообще происходит? Каждая вкладка, это страница и в ней есть картинки, скрипты ну и еще какие-то элементы. Почти все браузеры это кэшируют, так вот, все это записывается на жесткий диск, а это все мелкие файлы (!), и вот куча вкладок и создает процесс записи большого количества мелких файликов на диск! Когда есть кэш PrimoCache, то он принимает нагрузку эту всю на себя, а скорость работы оперативки куда выше чем жесткого диска, в итоге браузер работает немного быстрее.
  • По поводу кэширования Windows. Да, тут я не спорю, она также отлично кэширует, но делает она это куда проще — просто кэшируя файлы! А PrimoCache кэширует блоки файлов и ему все равно что это за блоки — просто программа какая-то или системные данные/библиотеки.
  • Риск потерять данные есть, но в новых версиях PrimoCache есть алгоритм работы такой, при котором данные будут скидываться в режиме простоя и постепенно. Тем не менее, если поставить интервал например 4 секунды, то сбрасывать данные будут почти сразу и при этом не мешая другим программам работать с диском. В общем у меня не было еще такого, чтобы я потерял данные, хотя использую утилиту около двух лет.
  • Еще одно преимущество такого кэша в том, что если система с таким кэшем работает уже долго, то все основные данные уже будут кэшированы. Если нужно будет открыть программу, которую вы НЕ открывали и разумеется ее в кэше НЕТ, то она откроется БЫСТРЕЕ, так как этому процессу никакие обращения к диску мешать НЕ будут, ибо все они будут кэшированы.
  • Драйвер программы (это и есть основной механизм) не нагружает процессор вообще, сколько я не тестировал и не проверял — нагрузки нет при любом обьеме.
  • При выключении Windows кэш будет также автоматически сбрасываться на диск, и только потом уже система выключится.
  • В качестве кэша также можно использовать SSD-накопитель, что даже плюс, так как в режиме постоянного плавного сброса можно использовать какой-то дешевый SSD, а потом если что — заменить. Но SSD дешевле да и больше обьем, чем у оперативки, и при этом обьема хватит чтобы кэшировать почти все то, чем вы пользуетесь ежедневно. Если использовать SSD-кэш на 128 Гб например, то вообще вы редко будете замечать скорость работы файловой системы, сопоставимую с жестким диском.
  • Программа работает стабильно — никаких глюков мной выявлено не было вообще, то есть не было такого что она зависала, даже в первое версии утилиты.
  • Те кто часто работают с виртуальными машинами, как например я, реально смогут оценить эффект от PrimoCache, который будет кэшировать в том числе блоки виртуального жесткого диска, что в свою очередь очень ускоряют файловую систему виртуальной машины (я лично пользуюсь VMware, но в VirtualBox думаю также ускорит). Кстати с таким кэшем, виртуальная машина в спящий режим переходит мгновенно.
  • Также эффект очень заметен при установке программ. Любая программа, особенно тяжелая со многими установочными файлами, папками, будет установлена намного быстрее с таким кэшем, чем без него (опять же, при установке записываются очень много мелких файлов на диск!). Я лично проверял на офисном пакете от Microsoft и OpenOffice.

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

Установка PrimoCache

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


У нас это версия v2.2.0, выбираем Desktop Edition, разницы с серверной версией почти нет, там она только в кэше который создается то ли для всех разделов, то ли для одного, честно говоря не помню, серверную лучше использовать на серверах Ну и еще одно отличие в поддержке, серверная как я понимаю имеет другой уровень поддержки как и совсем другую цену за лицензию.

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


Ну и снова Next В общем с установкой у вас проблем возникнуть не должно, все предельно просто. Я не написал еще одно, программа на английском, но уверяю вас что в ней вы сможете разобраться без проблем! Я же как-то разобрался, хотя и плохо знаю английский

После установки программы нужно будет перезагрузится.


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

На рабочем столе будет ярлык PrimoCache, запускаем его и видим вот такой интерфейс программы:


Вверху кнопки, а внизу будет отображен статус работы. Чтобы создать кэш, нужно нажать на первую верхнюю кнопку с зелененьким плюсиком.

Теперь давайте создадим кэш, у меня на компе 2 Гб ОЗУ, что не так много, но любой кэш если и не будет ускорять жесткий диск, то точно продлит срок службы его, избавляя от многочисленных однотипных запросов к нему.

Итак первое, что вам нужно — это указать для какого диска вы хотите создать кэш. Сразу скажу, что вы можете не заморачиваться и выбрать все диски — то есть поставить везде главные галочки, вот тут:


Ну, если у вас там жестких дисков несколько, то и галочек будет несколько

Выбрали диски, нажимаем Next. Тут нужно выбрать стратегию — то есть какой режим кэша для жесткого диска вы хотите? Давайте я перечислю какие они могут быть.


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

  • Если у вас современная версия Windows, а это я имею ввиду семерка, восьмерка или десятка, то считаем так. Минимум откидываем 1 Гб на саму Windows, потом если у вас есть какие-то ресурсоемкие программы, то они тоже могут потребовать 1-2 Гб ОЗУ. Если у вас например 8 Гб, то можете дать на кэш 2 Гб или даже 4 Гб в зависимости от того, что вы делаете на компе.
  • Если у вас Windows XP, то на нее и на все программы думаю хватит 2 Гб, а остальное можно кинуть на кэш. В любом случае, не старайтесь задать тот размер, который программа не разрешает, это просто приведет к диким тормозам, так как начнет активно работать своппинг — то есть файл подкачки (из-за нехватки оперативки).
  • Сделайте так — запустите комп, включите все нужные программы, и потом уже задавайте кэш из той памяти, которая осталась.
  • У меня лично 8 Гб ОЗУ, и из них 4 Гб я выделил под кэш, так как мне важна быстрая работа виртуальной машины, при этом что-то ресурсоемкое чем офис я не запускаю.

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

Итак, как вы уже поняли, кэш задается вот тут:


Теперь настройки справа, там будет такое как Block Size, его нужно выставить таким, как у вашего жесткого диска, то есть я имею ввиду размер кластера. Если вы не знаете какой — не беда, пропускайте этот шаг, так как после запуска кэша будет инфа о том, какой у вас кластер и потом сможете изменить.

Cache Strategy — это выбор стратегии, но мы уже выбрали и другой тип использовать я не рекомендую, вам вряд ли он будет эффективнее.

Опция Enable Defer-Write. Это очень и очень важная опция, тут вы указываете через сколько секунд сбрасывать кэш на жесткий диск, по умолчанию стоит 10 секунд, можете это время не трогать, а можете установить меньше в целях безопасности. У меня стоит 8 секунд.

Теперь напротив этой опции будет кнопка, она означает за метод скидывания данных, вот эта кнопка:

Вот там есть меню Write Mode, в котором есть пять режимов, вы можете поэкспериментировать с ними, а можете сразу выставить тот, который советую я — это Idle-Flush. В этом режиме данные будут скидываться в то время, когда диск особо ничем не занят, и при этом скидываться будут не на полную скорость, чтобы не забивать скорость самого диска. Тип Native это просто чистый режим, то есть данные просто будут записываться через каждый указанный вами промежуток времени. Есть еще режим Intelligent, я его также пробовал и там также могут быть тормоза системы, в общем мне понравился только Idle-Flush.

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


Еще нужная опция это Free Cache on Written — очистка кэша, который был занят данными для записи. То есть те данные, которые были записаны в кэш, а потом уже на физический диск, то в кэше они уже будут удалены, так как просто не нужны. Это не относится к данным чтения. Эту галочку лучше включить.

Опция Flush on Sleep нужна для того, чтобы скидывать кэш перед переходом в режим сон.

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

В общем я создал кэш на 256 мб, это тоже хорошо, в любом случае ЛУЧШЕ чем его нет, особенно если у вас старенький жесткий диск как у меня, моему то лет десять уже


Теперь можно нажать два раза по кэшу и выставить уже тот размер кластера, который у вашего жесткого диска (именно он и показан напротив раздела в созданном уже кэше!), то есть 4 кб в моем случае.


Внизу программы вы можете посмотреть статистику работы, в основном важны два параметра, это:

  • Deferred Blocks, тут будет указано количество блоков, которые в кэше и которых еще нет на жестком диске, но после того как они будут записаны, то тут цифра будет уменьшаться до нуля.
  • Free Cache — сколько свободного кэша у вас есть, то есть можно понять сколько примерно данных уже кэшировано.

Другие параметры уже не столь важны, самое главное чтобы не очень много было блоков Deferred Blocks, то есть этим хочу сказать чтобы указанный интервал был достаточный для того, чтобы там регулярно проводилось скидывание данных. Чтобы вы ничего не потеряли, мало ли, если свет выключится или зависнет Windows, ну, много может быть вариантов. Если у вас ИБП, то вообще супер, можно поставить хоть минуту. Но у меня есть ИБП, но все равно стоит 8 секунд


Вверху будет кнопка дополнительных настроек:


Можно включить опцию Launch PrimoCache GUI application at Windows startup — чтобы после включения Windows запускалась программа уже с открытым главным окном статистики, а также может вам будет интересна опция Minimize to the system tray when closed — это чтобы при закрытии главного окна она переходила в трей и там сидела со своим значком Остальные опции лучше не трогать.

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

Ну и еще, если у вас очень большой кэш, например 8 Гб, то лучше не рисковать и выставить небольшой интервал скидывания данных, например десять секунд. Для надежной работы при использовании большого времени задержки работы Defer-Write для стационарного компьютера для безопасности от потери данных при внезапном отключении питания необходимо использовать UPS!

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

15.01.2016

Напомню, что утилита 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, которая, в определенной мере, может сгладить эту «системозависимость» и «задачезависимость», научившись наилучшим образом подбирать самое оптимальное сегментирование в зависимости от потока команд хоста.

Приветствую вас, дорогие читатели! У нормальных людей, сознание которых пока не замутнено знакомством с компьютерными технологиями, при слове «винчестер» первая ассоциация, которая возникает – знаменитое охотничье ружье, чрезвычайно популярное в США. У компьютерщиков же ассоциации совершенно иные – так большинство из нас называют жесткий диск.

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

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

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

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

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

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

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

Что такое кэш

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

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

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

Догадались почему? Правильно, из‐за ограниченного количества циклов перезаписи информации на HDD.

Как посмотреть размер буфера

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

Оптимальные размеры для различных задач

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

Именно на такой объем кэша я рекомендую ориентироваться, если вы хотите собрать игровой комп, который не устареет уже через пару лет. Для задач попроще можно обойтись и попроще характеристиками: домашнему медиацентру с головой хватит и 64 Мб. А для компьютера, который используется сугубо для серфинга в интернете и запуска офисных приложений и простеньких флеш‐игр, вполне достаточно и буферной памяти объемом 32 Мб.

В качестве «золотой середины» могу порекомендовать винчестер Toshiba P300 1TB 7200rpm 64MB HDWD110UZSVA 3.5 SATA III – здесь средний размер кэша, но емкости самого жесткого диска вполне достаточно для домашнего ПК. Также для полноты картины рекомендую ознакомиться с публикациями дисков и , а также, какие на жестких дисках.

Статьи по теме: