Как поднять кэш на жестком диске. Что такое кэш память на жёстком диске. Все ли настолько нарядно

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

Изучение показателей производительности жесткого диска

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

Скорость работы жесткого диска

Под скоростью работы жесткого диска подразумевается то, насколько быстро вращается шпиндель диска, и потому она измеряется в количестве оборотов в минуту (об/мин). В целом, чем выше значение оборотов в минуту, тем лучше производительность диска. В большинстве жестких дисков скорость вращения составляет 7200 об/мин, хотя в более старых дисках она может быть всего 5400 об/мин. Более старых дисков следует избегать, поскольку их показатели производительности выглядят значительно ниже, а стоимость не намного отличается от стоимости дисков с 7200 об/мин. Кроме того, доступны также диски со скоростью вращения 10 000 об/мин, которые существенно повышают производительность.

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

Под кэшем жесткого диска подразумевается встроенная в него область оперативной памяти. Эта память применяется для хранения часто используемых фрагментов данных. В случае обнаружения необходимых данных в кэше жесткого диска ЦП удается экономить время, поскольку это позволяет ему загружать данные прямо в память вместо того, чтобы просить жесткий диск извлекать их с поверхности диска. Чем больше размер кэша жесткого диска, тем больше данных в нем может храниться, и, следовательно, тем выше вероятность того, что ЦП удастся найти необходимые данные в кэше; в результате общая производительность жесткого диска будет выше. Недорогие жесткие диски обычно поставляются с кэшем объемом 2 Мбайт, в то время как у типичных дисков объем кэша, как правило, составляет 8 либо 16 Мбайт. У некоторых высококлассных дисков объем кэша может достигать 32 Мбайт.

Для любого существующего диска процесс оптимизации представляет собой тот же процесс обслуживания и потому требует реализации соответствующего плана. Например, для жесткого диска такой план может подразумевать выполнение следующих действий:

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

Отключение сжатия и шифрования

В случае использования на диске разделов с файловой системой NTFS, Windows 7 позволяет осуществлять сжатие файлов для экономии места, а также шифрование файлов в целях безопасности. (“Преобразование разделов FAT16 и FAT32 в NTFS ”.) Однако с точки зрения производительности технологии сжатия и шифрования лучше без надобности не применять, поскольку обе эти технологии замедляют доступ к диску из-за процессов, связанных с процедурами сжатия/восстановления и шифрования/дешифрования.

Отключение индексирования содержимого файлов

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

  1. Выберите в меню Пуск пункт Компьютер.
  2. Щелкните правой кнопкой мыши на нужном диске и затем выберите в контекстном меню пункт Свойства. Windows 7 отобразит ведомость свойств данного диска.
  3. На вкладке Общие снимите отметку с опции Разрешить индексировать содержимое файлов на этом диске в дополнение к свойствам файлов.
  4. Щелкните на кнопке ОК.

Включение функции кэширования записей

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

  1. Щелкните на кнопке Пуск, введите в поле поиска слово диспетчер и затем щелкните в списке результатов поиска на варианте Диспетчер устройств.
  2. Разверните узел Дисковые устройства.
  3. Дважды щелкните на нужном жестком диске, чтобы отобразить ведомость его свойств.
  4. На вкладке Политика удостоверьтесь в том, что опция Разрешить кэширование записей для этого устройства отмечена.
  5. Для получения максимальной производительности установите отметку рядом с опцией Отключить очистку буфера кэша записей Windows для этого устройства. (Важно обратить внимание, что эта опция доступна только на определенных жестких дисках, которые ее поддерживают.)
  6. Щелкните на кнопке ОК.

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

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

Кэширование в операционной системе Windows используется и при выполнении операций чтения и записи файлов. Кэширование файлов при чтении обеспечивает более быстрый доступ к ним в случае повторного обращения. При первоначальном обращении к файлу система считывает его с диска в оперативную память, а благодаря кэшированию при повторном чтении файла система мгновенно извлекает файл из оперативной памяти, вместо того чтобы считывать его с более медленного жесткого диска. Кэширование файлов при записи позволяет приложениям не тратить времени на ожидание завершения операции сохранения данных и практически мгновенно приступать к выполнению следующих операций. В результате возрастает скорость выполнения файловых операций: запуск программ, копирование файлов, открытие файлов, и т.д., но все это может иметь место только в случае оптимального управления дисковым кэшем. Дисковым кэшем (Disk Cache) называют часть установленной в компьютере оперативной памяти, используемой как промежуточный буфер при чтении данных и записи их на внешние устройства хранения (жесткий диск, дискеты, CD-ROM и пр.). Оптимальные размеры кэша диска зависят от аппаратной конфигурации, версии системы, используемых приложений, и в итоге они для каждого компьютера индивидуальны. Чем больше дисковый кэш, тем быстрее считываются файлы с жесткого диска и тем меньше остается свободной оперативной памяти для работы приложений - задача в том, чтобы найти удачный компромисс и определить такой размер кэша, чтобы файловые операции выполнялись быстро и оперативной памяти хватало для работы приложений.

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

Особенности кэширования в Windows

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

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

К сожалению, непосредственно в Windows отсутствуют удобные встроенные механизмы для эффективного управления кэшированием. Стандартные средства настройки, предусмотренные для этой цели разработчиками, позволяют лишь включать/отключать дисковое кэширование записи. Для этого следует выбрать из контекстного меню папки Мой компьютер команду Свойства, перейти на вкладку Оборудование, щелкнуть на кнопке Диспетчер устройств и открыть раздел Дисковые устройства. Затем нужно вызвать контекстное меню нужного устройства, для которого следует изменить настройки дискового кэширования, выбрать команду Свойства и включить или выключить флажок Разрешить кэширование записи на диск (рис. 1).

Рис. 1. Включение режима кэширования записи

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

Утилиты для управления кэшированием

Чтобы более эффективно организовать управление кэшированием, лучше воспользоваться специализированной утилитой от сторонних производителей - это будет намного удобнее, быстрее, надежнее и может помочь оптимально настроить параметры кэширования и добиться более высокой производительности и стабильности работы системы. Правда, выбор ПО для управления кэшированием в Windows весьма ограничен. Те или иные возможности организации кэширования имеются в некоторых приложениях, отвечающих за настройку и оптимизацию операционной системы: Windows Accelerator, Reg Organizer, RAM Saver Pro и др. Однако существует и ряд специализированных утилит с более широкими возможностями в плане управления кэшированием - наиболее удачные из них мы и рассмотрим.

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

O&O CleverCache 6.0 Professional

Разработчик: O&O Software GmbH

Размер дистрибутива: 6,79 Мбайт

Цена: 29,95 долл.

Работа под управлением: Windows NT 4.0/2000/XP/2003

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

Рис. 2. Настройка параметров функции Mem-O-Free, отвечающей за контроль свободной оперативной памяти

При каждой загрузке операционной системы CleverCache загружается в системный трей, выполняет проверку аппаратной конфигурации компьютера и автоматически подбирает лучшие параметры настройки для оптимального использования ресурсов оперативной памяти. Результаты настройки отображаются в окне встроенного модуля Cache Monitor (рис. 3). Программа постоянно контролирует объем свободной оперативной памяти, и если он оказывается меньше некоторой величины, то неиспользуемые участки памяти сбрасываются в файл подкачки и освобождается недостающий объем оперативной памяти. В итоге в системе в любой момент времени оказывается доступным некоторый фиксированный объем свободной оперативной памяти, необходимой приложениям. Это приводит к уменьшению времени отклика и наиболее заметно при одновременном запуске нескольких приложений и частых переключениях между ними.

Рис. 3. Статистика CleverCache в окне Cache Monitor

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

CacheBoost Professional Edition 4

Разработчик: Systweak

Размер дистрибутива: 898 Кбайт

Способ распространения: shareware

Цена: 29,95 долл.

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

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

Рис 4. Вариант настройки параметров кэширования вручную

CacheBoost контролирует наличие свободной оперативной памяти, распределение ее между приложениями и активность использования дискового кэша, наглядно отображая статистику на графике (рис. 5). Программа дефрагментирует системную память для быстрого доступа к ней (рис. 6), восстанавливает утечку памяти в плохо оптимизированных приложениях и периодически освобождает часть оперативной памяти, помещая неиспользуемые данные в swap-файл. Это освобождает свободную оперативную память, необходимую для приложений, и тем самым повышает устойчивость работы системы, позволяет активным приложениям быстрее реагировать на действия пользователя. По желанию пользователя возможно принудительное очищение памяти, занятой дисковым кэшем. Реализованная в программе технология Data Safe обеспечивает полную безопасность кэшируемых данных.

Рис 5. График использования оперативной памяти и дискового кэша

Рис 6. Автоматическая оптимизация оперативной памяти

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

CachemanXP 1.12

Разработчик: Outer Technologies

Размер дистрибутива: 1,25 Мбайт

Способ распространения: shareware

Цена: 25 долл.

Работа под управлением: Windows NT/2000/XP

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

Утилита работает в фоновом режиме, а иконка программы отображается в системном трее. Программа непрерывно контролирует загрузку процессора, объем свободной оперативной памяти и то, как ее расходуют различные запущенные процессы. Процессы, потребляющие свыше 10% загрузки центрального процессора, отображаются в информационном окне синим цветом, а процессы, которые потребляют свыше 80% загрузки процессора, показаны красным. При необходимости приоритет выполнения любого из соответствующих процессов можно изменить (рис. 7). CachemanXP позволяет вручную настраивать параметры дискового кэша (рис. 8), а также задавать размеры кэша DNS, кэша иконок и кэша Internet Explorer, хотя может сделать это и автоматически - в режиме автооптимизации. Кроме того, программа может периодически или по команде пользователя освобождать часть оперативной памяти, перемещая из нее часть не используемых в данный момент приложений из оперативной памяти на жесткий диск в файл подкачки. Дополнительно программа позволяет проводить тонкую настройку некоторых системных параметров.

Кэш память – это сверх быстрая память, которая по сравнению с оперативной памятью имеет повышенное быстродействие.

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

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

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

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

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

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

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

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

Эксклюзивная кэш-память

Эксклюзивная кэш-память предполагает уникальность информации, находящейся в L1 и L2.
При считывании информации из ОЗУ в кэш - информация сразу заносится в L1. Когда L1 заполнен, то, информация переносится из L1 в L2.
Если при считывании процессором информации из L1 нужная информация не найдена, то она ищется в L2. Если нужная информация найдена в L2, то кэши первого и второго уровня обмениваются между собой строками (самая "старая" строка из L1 помещается в L2, а на ее место записывается нужная строка из L2). Если нужная информация не найдена и в L2, то обращение идет к оперативной памяти.
Эксклюзивная архитектура применяется в системах, где разность между объемами кэшей первого и второго уровня относительно невелика.

Инклюзивная кэш-память

Инклюзивная архитектура предполагает дублирование информации, находящейся в L1 и L2.
Схема работы следующая. Во время копирования информации из ОЗУ в кэш делается две копии, одна копия заносится в L2, другая копия - в L1. Когда L1 полностью заполнен, информация замещается по принципу удаления наиболее "старых данных" - LRU (Least-Recently Used). Аналогично происходит и с кэшем второго уровня, но, поскольку его объем больше, то и информация хранится в нем дольше.

При считывании процессором информации из кэша, она берется из L1. Если нужной информации в кэше первого уровня нет, то она ищется в L2. Если нужная информация в кэше второго уровня найдена, то она дублируется в L1 (по принципу LRU), а затем, передается в процессор. Если нужная информация не найдена и в кэше второго уровня, то она считывается из ОЗУ.
Инклюзивная архитектура применяется в тех системах, где разница в объемах кэшей первого и второго уровня велика.

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

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

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

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

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

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

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

Для того чтобы ускорить HDD существует два способа: создание RAM-диска и использование программного кэширования.

С RAM-диском вроде как всё ясно - при его использовании SSD по скоростям и рядом не «валяется», но существенный недостаток в том, что требуется от 16Гб RAM (чтобы "серьёзный" софт влезал) и система при этом грузится довольно медленно, по сравнению с SSD.

В этой статье мы рассмотрим малоизвестный программный метод кэширования данных в оперативной памяти. Что для этого надо? Из аппаратных требований желательно от 8Гб RAM с учётом ускорения нескольких HDD в рамках одной системы (если они есть). В обычных случаях, выделения оперативной памяти в размере 2Гб вполне достаточно.

Теперь давайте немного поговорим о программах, с помощь которых можно реализовать вышеуказанный метод:

Если говорить о программе Super Cache, то в глаза сразу бросается жирный минус – она платная. При этом конечно же быстрее работает, но говорят её инсталляция сродни подвигу – одна ошибка и компьютер не грузится, так что для неопытного пользователя это точно не самый лучший вариант.

А вот вторая программа – Fancy Cache, для поставленной задачи подходит довольно неплохо. Текущая версия 0.8.0 находится тут (на английском языке): http://www.romexsoftware.com/en-us/fancy-cache/download.html Есть 2 версии Volume Edition и Disk Edition - соответственно на раздел или весь диск. Ставьте ту, которая вам нужна. Ключи разработчики раздают бесплатно всем желающим на каждые 180 дней, тут: http://www.romexsoftware.com/bbs2/en-us/viewforum.php?f=24&sid=

Итак, устанавливаем программу и регистрируем её, запускаем. Интерфейс программы одновременно прост и сложен для понимания:


Перейдём к делу. Выбираем раздел или диск, в зависимости от программы.

Block Size - рекомендуемое программой значение, в зависимости от размера диска или раздела. Cache Size - рекомендую 2048 Гб для одного HDD, можете поэкспериментировать с бОльшими и мЕньшими значениями. Algorithm - не трогаем, по умолчанию LFU-R. Caching Strategy - оставляем по умолчанию Read/Write.

Ставим галку на Defer-Write. Ставим задержку от 300 секунд. Внимание, в случае перебоев электроэнергии, если нет ИБП, возможна потеря данных! Здесь ставим галку на Release After Write для того, чтобы кэш данных уничтожался в памяти после записи на диск. Можно не ставить, если эти данные читаются. No Write-Flush At Shutdown и Averaging Write Amount не трогаем, это специальные режимы. Overcome HDD C1 Issue - владельцам SSD не надо ставить, остальным думаю стоит, если используется замедление HDD для экономии энергии (я это так понял).

Level-2 Cache - используется только владельцами 32-битных систем, чтобы программа могла увидеть оперативную память за пределами 3,5 Гб. Одно из немногих решений, позволяющее это сделать. Владельцам 64-битных систем Level-2 Cache ставить не нужно.

Жмём Start Caching (потом она переименуется в Configure Caching) и перезагружаемся.

А теперь красивые циферки, ради чего всё и затеяно, при настройке Defer-Write в 3000 сек:


Профит. Как видим любой SSD плачет горючими слезами:) Но для владельцев SSD тоже актуально, т.к. в 2Гб сокращает количество запросов к HDD/SSD в 2 раза, что не может не влиять на надёжность дисков в лучшую сторону.

В общем экспериментируйте, разработка того стоит:)

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

Для управления кэшированием записей на диске откройте Панель управления - Диспетчер устройств .

В разделе Дисковые устройства дважды щелкните нужный диск.

Перейдите на вкладку Политики

Быстрое удаление

Это значение обычно является оптимальным выбором для устройств, которые может понадобиться часто отключать от системы, таких как USB-устройства флэш-памяти, SD, MMC, Compact Flash или аналогичные карты памяти и другие внешние подключаемые устройства хранения.

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

Оптимальная производительность

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

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

Запись кэша на диск

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

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

Как изменить для устройства параметры кэширования записей?

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

Дополнительные сведения о предотвращении потери данных

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

Также следует осторожно удалять съемные устройства хранения, такие как USB-устройства флэш-памяти, карточки памяти SD, MMC или Compact Flash, внешние диски. При использовании параметра Безопасное удаление Windows сможет защитить данные пользователя в большинстве сценариев. Но определенные драйверы или приложения могут не соответствовать модели Windows, что может привести к потере данных при удалении подобных устройств. По возможности перед удалением из системы любого внешнего устройства хранения следует вызвать приложение «Безопасное удаление».

Источники: справочная документация Windows.