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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

К сожалению я спешу вас огорчить — именно это невозможно, потому как сама плата кэша установлена внутри диска, и мы к ней доступа не имеем. Но кэш жесткого диска можно увеличить, сделать это достаточно просто, вот только проблема в том, что для этого нужно пожертвовать частью ОЗУ. Программа на уровне драйвера (это означает, что система этот кэш видеть не будет, она будет видеть только программу, которая много заняла ОЗУ и все) будет кэшировать не файлы, что очень важно, а блоки!.

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

Программа платная, но есть тестовый период в 60 дней, которого достаточно чтобы оценить эффект.

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

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

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

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

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

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

Еще добавлю то, что система кэширует не блоки, а сами файлы. А PrimoCache кэширует именно блоки файловой системы, ему все равно что это за файл. Поэтому например Windows 10 лично у меня работает быстрее, так как в кэш попадает много блоков, которые использует непосредственно сама система.

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

Доброго, уважаемым читателям!

О чем разговор?

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

Где это встречается?

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

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

Что делать?

Стандартное решение данной ситуации известно широко – заменив в настольном или портативном компьютере системный носитель информации с механического HDD на т.н. твердотельный SDD удавалось достичь разительного реального и субъективного ускорения работы дисковой системы и соответственно компьютера в целом. Мы не углубляемся в сценарии работы пользователей т.к. те, кому это было критически нужно для работы, произвели замену уже давно. Никаких сомнений в правильности этого шага нет т.к. даже при использовании самого простого и «медленного» SSD скорость работы с ним для системы росла на порядок – т.е. в 10 раз.

Все ли настолько нарядно?

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

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

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

    SSD диски ранее подозревались в ограниченности ресурса перезаписи. Технически они имеют таки конечный ресурс, но на практике обычному пользователю любого современного диска хватит на годы. Многие тесты подтвердили, что ресурс рассматриваемого нами условного 256Гб экземпляра достаточен, чтобы не думать об этом. Привожу график японского коллеги, который задался целью протереть мой дежурный Crucial BX100. Как видно из картинки к 2,7 Пета!байта перезаписей диск был еще жив. Ботающие на мунспике приглашаются перевести пояснения к графику от автора.

Достаточен, но все же конечен и с каждым витком технологий (SLC, MLC, TLC, QLC и т.п.) и утончением техрпроцесса производства этот ресурс, внезапно, не растет, а падает. Для SLC заявлялись порядка 100 000 перезаписей, а для TLC уже меньше 1 000. Посмотрим на табличку В. Стеркина

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

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

Так ставить или нет?

Ставить, но не нахрапом, а степенно и с пониманием спустившись в долины!

Это как? И почем хоккей с мячом?

А вот так. Если мы возьмем средний очень SOHO из 3 условных компьютеров с HDD, где 1 – настольный и 2 портативных, то улучшение пользовательского опыта работы с ними обойдется в стоимость 3 SSD и время работы 1 «тыжпрограммиста» для внедрения решения. Сделать все можно за условный рабочий день, если не спешить и нет необходимости переносить что-то типа специализированного бухгалтерского, например, ПО и т.п. В деньгах это может стоить примерно от 210 до много USD в зависимости от выбранного SSD. Сумма в общем-то небольшая, но тоже вполне себе нигде не лишняя + вышеописанные риски.

Можно ли сэкономить?

Оказывается можно и рассмотреть такую возможность нужно. Как уже условились есть много компьютеров, где в целом железная часть вполне неплоха для решаемых им задач. Многие офисные машины, будучи купленными до сильного падения цен на SSD, в общем-то еще вполне актуальны для своих задач, если не играть в А-проекты, не монтировать видео, не вести огромные по объему базы данных и т.п. К слову, на этих машинах может вполне стоять 32-bit операционная система и какое-то узкое ПО.

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

В общем надо что-то решать – либо ставить таки SDD либо…

Либо посмотреть в сторону кеширующего ПО типа PrimoCache от Romex. Долго расписывать преимущества смысла нет, а коротко они выглядят так.

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

    Программа умеет создавать указанный буфер в памяти, невидимой для системы! Это актуально для 32битных систем, где замена на 64битные по каким-то причинам нежелательна. Если у Вас в машине физически стоит (или Вы можете поставить) 4 гб ОЗУ, то 3-3,5 примерно будут видимы системе, а из остальных можно создать буфер для HDD. Это очень крутая «фича». Во многих ноутбуках до сих пор есть техническая возможность установить не более 4 гб ОЗУ при 32битных системах. Лишний гигабайт можно смело пускать на кэш старого диска. Улучшения будут заметны сразу. И Гамлетовский вопрос 32 или 64 бит при 4 гб ОЗУ отпадает сам по себе в этом конкретном случае.

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

Но причем тут SSD?

А вот при чем.

4.Программа умеет из подключенного к системе любого SDD создать кэш 2 уровня для медленного HDD! С быстрой флешки тоже умеет.

И? Как это работает?

Авторы программы описывают это подробно, но если коротко, то все, что является активночитаемым на HDD дублируется на SSD и при повторном обращении читается не с HDD, а SSD со его высокими скоростями. При этом запись на медленный диск продолжает идти отсроченно через буфер в ОЗУ (который чем больше отведете, тем лучше). Внешне это выглядит как разительное "ускорение" старого диска при физическом продолжении использования его как основного, а по сути он обложен с 2х сторон подпорками из быстрого кэша на чтение и на запись.

Вот как это выглядит в теории

Вот как это выглядит у меня на рабочем ноутбуке с 4 гб ОЗУ и 32бит Windows 10.

Как видно из статистики моя работа за некоторый период состояла на 88% из работы с кэшем и 43% - прочитано c кэширующего SSD.

Зачем вообще кэшировать HDD? Может сразу SSD установить системным?

Дело в том, что для хорошего пользовательского результата от кэширования таким образом достаточно небольшого и недорогого SSD. Перед написанием материала я использовал для кэширования HDD в своем ноутбуке SSD размером всего в 16гб. Вот он.

Оказалось, что активных данных у меня всего-то гигабайт 7. 16 гигабайтный SSD можно купить менее чем за 10 у.е. и его будет достаточно. При этом PrimoCache ведет статистику и у меня попадание в кэш составляет при обычной работе около 90% т.е. старый HDD не только разгружен на 90%, а еще и используется через буфер. В итоге нагрузка на него даже при запуске браузера с 50 вкладками редко бывает 100% длительно. В основном значительно меньше и очень кратковременно полностью. Вот как выглядит работа нагруженной системы с 4 браузерами, офисным пакетом, скайпом и вайбером, а также редактором картинок с кэшированием ее через SSD. При этом сохраняется отзывчивость и работоспособность.

Диск 0 - это медленный HDD. Диск 1 - 16 гб SSD, изображенный выше. SSD занял место CD-RW через лоток, которых сегодня за 4 доллара полно на разных площадках. Тысячи их (с)

В настольном ПК SSD можно подключить напрямую.

Пользовательский опыт изменился драматически в хорошем смысле этого слова. Из задумчивой системы ноутбук стал очень отзывчивым. В последних версиях PrimoCache научили кэшировать и файл подкачки windows, что на грани заполнения ОЗУ радикально меняет работоспособность системы. Кто попадал в ситуацию, когда swap пилит HDD (а попадали все) поймет о чем речь. Здесь же можно спокойно продолжать работать. Картинки Вы видели. При этом надо трезво оценивать техническую сторону решения и понимать, что картинка может иметь и вот такой, например, вид. В этом случае нагрузка на HDD большая, но плечо подставляет кэш. В конкретном случае речь может идти о сбросе кеша на диск и на работе этот процесс может вообще не особо отразиться.

Конечно чистый SDD принесет больше позитива, но и цена будет больше.

Какие же преимущества?

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

    В случае непредвиденного выхода SDD из строя данные на HDD не пострадают никак.

    Это дешевле.

Так же принято в подобных темах показывать результаты известного теста скорости работы с накопителями. Не будем изменять традиции! Без кэширования и с ним.

Надо отметить, что тест делался при развернутых других программах. Размер в 500 мб взят как адекватный профилю работы. На больших объемах скорости упадут, но, как мы уже уточняли, при копировании папки с видео большинству не особо важно будет это длится 22 минуты или полчаса. Главное - мы получаем тактическое улучшение взаимодействия с системой. На самом же деле тест показывает насколько быстро можно работать с данными в рамках отведенного буфера , но если у Вас много мелких файлов в работе, то их обработка в реальности станет таки сильно быстрее до исчерпания буфера, а если обычный объем файлов в работе меньше буфера или они поступают неспешно, то мы получим некий аналог RAMDRIVE. Результат будет отложенно записан на HDD и прочитан из дубля на SSD. Для поддержки скорости браузеров это реально хорошо работает.

Особенности работы?

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

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

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

Есть ли риски?

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

Насколько же все-таки дешевле?

Математика проста. Как Вы помните, мы пишем об условных 3 машинах в семье или маленьком офисе. SSD на все обойдется от 210 долларов + работа.

Самые доступные 256gb (а мы условились, что это как раз актуальный размер в случае прямой замены HDD) SSD стоят сегодня примерно столько.

В случае же с кеширующим ПО 16 гигабайтный SSD для кэша может быть совершенно любым и стоит менее 10 у.е. PrimoCache на 3 компьютера стоит 70 у.е. с будущими обновлениями (мы за легальное, особенно интеллектуальное, ПО - warez нам не коллега). Лотки для дисков вместо оптического привода еще 10 у.е.

Итого: 100 у.е. против 210 у.е. навскидку и делать можно постепенно не особо прерывая привычную работу поскольку PrimoCache имеет аж 60!-дневный пробный период. Т.е. в этой части предлагается рискнуть для пробы всего лишь 10 у.е. за маленький SSD и если что-то не устроит никаких будущих трат и возвратов. Но Вам скорее всего понравится.

Канадская торговая?

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

Самый умный, что ли?

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

Самым свежим примером того, как подобные конструкции продвигают на рынок (продвигают, к слову, с опозданием лет на 10 т.к. это надо было делать до массового удешевления SSD) является представленная недавно технология кэширования с использованием новой памяти OPTANE от Intel. Идея сама по себе не нова и является итерацией более старых решений типа Smart Response, но актуальна для Intel сегодня именно она.

Концептуально все очень похоже. Детали реализации, конечно, отличаются. Предельные скорости - тоже. Как и цена.

Примерно так будут выглядеть результаты кэширования традиционного HDD технологией с использованием OPTANE от Intel. Исследование на днях появилось на 3Dnews Неправда ли немного похоже на наш опыт? И скорости передовых SSD для сравнения работы с мелкими файлами есть.


В случае c Intel сама технология доступна только в технической связке конкретного чипсета, процессора и непосредственно самого накопителя.

Все это стоит недешево, а в случае с современными быстрыми SSD – почти бессмысленно, как видно из графиков.

А вот для связки OPTANЕ+HDD результат получается интересным. Проблема только в том, что если пользователь приобрел систему, способную работать с OPTANE, то системным диском HDD там вероятнее всего уже не будет.

Мы же строим функциональный почти аналог своими руками на любом железе c минимальным бюджетом и реально ощутимым результатом здесь и сейчас, причем недорого!

А что все-таки с ресурсом кэширующего SSD ?

Хороший вопрос и я его исследовал. В экспериментальном ноутбуке на процессоре T9500, 4гб ОЗУ, HDD и windows 10 32бит, который работает часто и всегда имеет открытыми 3-4 браузера с 40-50 вкладками в каждом, работающим офисным пакетом и прочими полуофисными задачами кеширующий 16гб диск перезаписывается при сильных нагрузках раз в день, что при ресурсе даже самой слабой памяти в 1000 перезаписей обеспечит 3+ года беспроблемного ускорения. В случае же моего конкретного SSD на 16gb это MLC память с заявленными 3000 циклов (которых в реальности может быть и сильно больше), что уже подводит срок работы кэша к 10+ годам!

Итого?

Важно понимать, что мы поставили задачу сделать ультрабюджетный boost компьютеру с HDD, а не преобразовать его в mainfarame за 5 коп. Те пользователи, которые понимают все плюсы SDD и таковой им нужен для рабочих или игровых задач, скорее всего либо уже работают с ним либо планируют бюджет на него в одной из современных версий. В итоге с поставленной в заголовке задачей мы, уверен, справились таки ультрабюджетно.

Если же ваша работа носит офисный характер и возможности полноценно перейти на SSD ограничены, то такое решение, как мне кажется, имеет полное право на жизнь. Тем более, что в случае приобретения PrimoCache его вполне в будущем можно использовать для работы SSD, что только доплнительно улучшит пользовательский опыт выравниванием нагрузки на уже SSD через ОЗУ. Как мы уже заметили выше - входной порог это всего-то примерно 10 у.е. или даже меньше.

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

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

Андрей Зинченко, доктор философии в области экономики, доцент кафедры финансов Национального университета кораблестроения, магистр государственного управления (МРА)