Использовать ssd как кэш
Стоит ли включать кэширование на SSD диске?
Сегодня мы рассмотрим еще один часто запутанный вычислительный термин, который обещает обеспечить повышенную производительность при изящном использовании компактного SSD в качестве кэша. Пустрая трата денег или стоящее приобретение? Мы углубились в эту тему, чтобы пролить свет на все, что нужно знать о кэшировании SSD.
Что такое SSD Cache?
Кэш SSD, или, как его правильно называют, SSD-кэширование, представляет собой механизм управления данными, разработанный Intel в начале 2010-х годов, который использует небольшой твердотельный накопитель в качестве кэша для жесткого диска, как правило, большего размера.
Кэш-память — это аппаратная или программная память, предназначенная для хранения часто используемых данных для быстрого и быстрого доступа. В случае процессоров кэш состоит из флэш-памяти, доступ к которой быстрее, чем в стандартной системной памяти, а кэш-память браузера хранит компоненты с часто посещаемых сайтов, поэтому они загружаются быстрее, что исключает необходимость извлечения данных через Интернет с хост-сервера.
Таким образом, кэш позволяет системе получать доступ к данным гораздо быстрее, чем если бы они были извлечены и прочитаны из своего последнего места на жестком диске, что приводит к повышению производительности для задач, зависящих от памяти.
Для кэширования SSD основная концепция заключается в предоставлении более быстрого и отзывчивого SSD накопителя в качестве временного хранилища для часто запрашиваемых данных, таких как основные операционные сценарии ОС и файлы, которые хранятся на более медленном обычном жестком диске. Скорость твердотельного накопителя примерно в десять раз выше, чем у жесткого диска, для большинства задач с твердотельным накопителем существенно лучше для операций чтения с небольшого диска с произвольным доступом, которые определяют основную часть повседневных задач в ОС.
В реальном выражении кэширование SSD будет включать в себя SSD небольшого размера, скажем, 40 ГБ, в сочетании с большим традиционным жестким диском, например, с емкостью 1 ТБ.
SSD Кэширование — совместимость
Intel разработала технологию кэширования SSD Smart Response Technology (SRT), а запатентованная итерация этого механизма доступна только на материнских платах с поддержкой SRT и чипсетами Intel. Что еще хуже, Intel не использует технологию всех своих наборов микросхем, которая ограничивает аппаратные конфигурации, которые пользователь может ожидать, сохраняя при этом возможность кэширования SSD.
Системы с чипсетами AMD требуют, чтобы пользователь использовал стороннее программное обеспечение для эмуляции кэширования SSD, поскольку AMD до сих пор не разработала или не интегрировала конкурирующую технологию в свои чипсеты. К счастью, существует множество программных решений, таких как FancyCache и PrimoCache. Как общеизвестно, они ненадежны и имеют целый ряд проблем.
Ограничения SSD-кэширования
Кэширование SSD дает ощутимые преимущества только тогда, когда система находится в том состоянии, которое мы называем «чистым», таким как загрузка компьютера после его выключения, перезагрузка Windows или первоначальный запуск приложения после перезагрузки или выключения питания. Существует иерархия памяти, которая работает от кэша ЦП до ОЗУ, кэша SSD, затем HDD. Перезапуск очищает кэш ЦП и ОЗУ, превращая кэш SSD в место доступа к данным.
Причина этого заключается в том, что во всех других случаях есть вероятность, что критически важные, часто используемые данные уже хранятся в ОЗУ системы, и, поскольку ОЗУ быстрее любого жесткого диска, будь то SSD или HDD, кэширование SSD делает процесс заполнения оперативной памяти данными, намного быстрее. Ничто не улучшит скорость, как то, что данные уже доступны в оперативной памяти.
Как видите, главное преимущество кэширования SSD наиболее очевидно при загрузке Windows: ОС находится в работоспособном состоянии гораздо раньше, чем в кэшированной системе без SSD. Аналогично, запуск Steam и вашей любимой игры после перезагрузки будет намного быстрее с SSD-кэшированием. Если вы работали без перезапуска в течение нескольких часов и открыли, затем закрыли различные программы и решили открыть их еще раз, SSD ничего не сделает для ускорения процесса.
Продолжая тему ограничивающих факторов, внутренняя работа SRT является тщательно охраняемым секретом, и Intel не сообщает подробностей о том, как технология проверяет, какие данные заслуживают кэширования, хотя ощутимые тенденции предполагают, что существует определенный предел размера данных. это может быть кэшировано весом не более нескольких мегабайт.
В любом случае система вернется к медленному источнику жесткого диска для данных. Со стороны пользователя это означает, что программы, которые полагаются на небольшие пакеты данных, работают хорошо, в то время как те, которые зависят от емких носителей, таких как видео и высококачественные аудиофайлы, — нет.
Если вы одновременно запускаете множество приложений, преимущества будут очевидны, в то время как если вы будете запускать одну и ту же программу изо дня в день, обрабатывая файлы большого формата, преимущества будут незначительными.
Стоит ли включать кэширование SSD?
Как только SSD-кэширование запущено, оно само по себе позаботится о том, чтобы не было никакой его настройки от пользователя. Преимущества, если таковые имеются, пассивно производятся, что делает его удобным решением.
Однако настройка кэширования, даже с набором микросхем Intel SRT, является трудной задачей, которая включает в себя использование правильных драйверов, правильную настройку BIOS и запуск его в качестве настройки RAID, установку драйверов Windows и Rapid Storage Technology, управление режимами и т.д. Суть в том, что он значительно сложнее, чем использование SSD-накопителя большой емкости и простая установка Windows.
Кэширование SSD исторически стоило намного меньше, чем выделение для SSD разумного размера, но, поскольку технология становится все более распространенной, цена даже 100 ГБ или более SSD экспоненциально становится более доступной с течением времени. Следовательно, комбинация SSD-кэша и жесткого диска заменяется более крупными бюджетными твердотельными накопителями в качестве места для ОС, в то время как больший жесткий диск используется для хранения носителей, к которому редко обращаются.
Вывод
По нашей оценке, основная концепция кэширования SSD стоит задуматься. На практике результаты не являются достаточно явными, чтобы выбрать кэширование SSD, а не большие затраты на больший SSD и запускать все — от Windows до ваших любимых шутеров с того же самого диска и позволить ОЗУ делать свои задачи быстрее.
Использовать ssd как кэш
В процессе изучения рынка ноутбуков возникло несколько вопросов по использованию SSD в них. Буду благодарен за помощь.
Сейчас в ноутбуках есть два подхода.
1. Полноценный активный SSD. (Иногда вместо, иногда вместе с HDD)
2. SSD-Cache + HDD
1. В случае, если есть обычный SSD я сам могу установить туда ОС и самые необходимые программы.
В случае SSD-cache система сама кладет туда некие «часто используемые» на ее взгляд данные, а я не имею доступа к SSD диску.
Верно ли я понимаю?
2. Насколько эффективен SSD-cache? Быстрее ли грузится система? Программы? Как в целом с потребительской точки зрения?
3. Как вы оцениваете эффективность cache по сравнению с полноценным SSD?
цитата: yevlampy:
3. Как вы оцениваете эффективность cache по сравнению с полноценным SSD? Полноценный SSD, на котором и система и рабочие файлы, работает гораздо быстрее.
Дома есть старенький ноут Toshiba Satellite.
Замена в нем умершего HDD на твердотелый SSD совершенно его преобразила по быстродействию.
Даже не поверил, что старенький загнанный коняга начнет летать как молодой рысак.
цитата: Volk1975:
цитата: yevlampy:
3. Как вы оцениваете эффективность cache по сравнению с полноценным SSD? Полноценный SSD, на котором и система и рабочие файлы, работает гораздо быстрее.
Дома есть старенький ноут Toshiba Satellite.
Замена в нем умершего HDD на твердотелый SSD совершенно его преобразила по быстродействию.
Даже не поверил, что старенький загнанный коняга начнет летать как молодой рысак.
Ок. а с SSD-кэшем не пробовали работать? отзывы тоже самые положительные. Получается дёшево и средито. Но может быть есть там подвох? Подозрительно уж дёшево выходит, нежели обычный SSD.
цитата: yevlampy:
Ок. а с SSD-кэшем не пробовали работать? отзывы тоже самые положительные. Получается дёшево и средито. Но может быть есть там подвох? Подозрительно уж дёшево выходит, нежели обычный SSD. Думаю, что подвоха никакого нет.
Просто более дешевый вариант, дающий быстродействие в соответствии со своей ценой.
Полностью все на SSD — все равно быстрее будет.
По ходу, HDD и их гибриды доживают последние дни.
Сначала на моем UX32VD была связка HDD+SSD, после 9 месяцев использования был поставлен полноценный SSD. Так что на своем примере могу рассказать.
1) да, верно. Примечание — для корректной работы объем задействуемого кеша должен быть равен объему оперативной памяти девайса.
2) Система грузится за 26-28 секунд в более-менее чистом виде, при полезной нагрузке из кучи программ и игр (без шлака) — 34-36 секунд. Против 50+- секунд обычного харда. Это win7hp x64 с подчищенным реестром.
Программы — быстрее грузятся часто используемые и недавно использованные. В целом — улучшение есть по сравнению с обычным хардом, заметное, но не очень значительное. Отзывчивость системы увеличивается, но задержки заметны.
3) HDD+SSD кеш полноценному SSD проигрывает ровно столько же, насколько выигрывает у обычного HDD. Загрузка с программами 18-20 секунд (win7hp x64), просто-таки реактивная скорость работы и копирования файлов. Да, еще, SSD полностью бесшумен. А обычный винт, кэш или не кэш, стрекочет заметно. Особенно ночью чувствуется и раздражает, если бук не отключать.
Считаю, что с заменой HDD на SSD (кеш я просто-напросто отключил) я поступил правильно, выигрыш в скорости работы это дало заметный, и автономность чуть выросла — кушает только SSD, а не связка из харда и кеша. Да и раньше-внутренний-теперь-внешний хард (я свой воткнул в кейс-коробочку с переходником под USB) годится для хранения резервной копии системы и кучки медиафайлов.
Если в буке используется связка полноценных SSD и HDD — под систему и данные соответственно — если места в корпусе хватит, получится сравнительно недорогой вариант быстрой системы. Потому что мой M4 на 512 гиг стоил 13000 рублей (и был единственным вариантом — нужны были и объем, и скорость, и 1 диск. В 13,3″ буке 1 sata-разъем, и то место есть лишь под 7-мм диски).
SSD на 128 гиг стоят 2,5-3,5к, + хард на терик, еще 3 с половиной тысячи. Итого в два раза дешевле и в два раза больше места для хранения данных.
Использование твердотельных накопителей SSD для повышения производительности СХД
- Ключевые слова :
- ИТ-инфраструктура
- SSD
- Гибридные массивы
- Кэширование на SSD
- Многоуровневое хранение
Как известно, твердотельные накопители SSD, получающие все более широкое распространение, намного превосходят по производительности традиционные жесткие диски HDD. Однако их стоимость значительно выше, и поэтому использование одних лишь SSD в качестве корпоративного пула ресурсов хранения данных оказывается для большинства компаний невыгодным.
«Лучшей практикой» для многих корпоративных заказчиков является применение гибридных систем хранения SSD/HDD. Такое решение позволяет воспользоваться преимуществами обоих типов носителей — большой емкостью HDD и высоким быстродействием SSD в IOPS (количество операций ввода-вывода в секунду), — но при этом остается экономически привлекательным.
В гибридной системе хранения SSD/HDD основная емкость представлена недорогими жесткими дисками, а небольшой пул для «горячих», часто используемых данных — флеш-памятью. В рационально спроектированной гибридной СХД при небольшом количестве накопителей SSD достигается значительное ускорение операций с основным пулом хранения данных.
РЕАЛИЗАЦИЯ ГИБРИДНЫХ СХД
На практике применяются два основных метода ускорения — кэширование данных и их многоуровневое хранение (tiering). В обоих случаях для увеличения производительности ввода-вывода используется концепция «горячих» данных, но в действительности это совершенно разные подходы.
При кэшировании один или несколько накопителей SSD служат в качестве кэша для виртуального пула хранения, где основное хранилище реализовано на жестких дисках. SSD в этом случае не предоставляют дополнительной емкости — это невидимая для приложений «прослойка», увеличивающая производительность ввода-вывода. Информация всегда передается в основной пул хранения, однако «горячие» данные копируются и в кэш-память (на SSD). При последующих обращениях к этим или рядом размещенным данным вместо основного пула хранения используется кэш-память, за счет чего и достигается существенный выигрыш в производительности.
При многоуровневом хранении данные соответствующим образом сортируются и помещаются на уровень SSD или HDD (уровней может быть больше двух): «горячие» отправляются на флеш-память, а реже используемые — на жесткие диски.
ЧТО ЛУЧШЕ?
Многоуровневое хранение не предполагает избыточности данных, поэтому реализация RAID в этом случае становится более сложной — требуется покупка дополнительных SSD. Сама сортировка данных и распределение их по уровням негативно сказываются на производительности. Такие системы должны управлять данными, которые из «горячих» со временем превращаются в «холодные». Ввиду отсутствия избыточности, часто используемые данные нужно перемещать в основной пул, как только они становятся менее полезными. Эти фоновые процессы потребляют IOPS и сказываются на скорости операций ввода-вывода во время таких перемещений. С наибольшей эффективностью многоуровневое хранение функционирует в тех случаях, когда соответствующие алгоритмы адаптированы к требованиям и задачам заказчика. Для достижения идеальной производительности нужны постоянный мониторинг и подстройка алгоритмов.
В отличие от сложного многоуровневого хранения, кэширование на SSD в существующих СХД реализовать проще. Гибридные системы хранения с кэшированием на SSD не требуют дополнительного администрирования, а приложение воспринимает такую систему точно так же, как и любую другую сетевую СХД, только работает она намного быстрее. Реализация RAID и защита данных у нее аналогичные, и покупать для этого дополнительные SSD не потребуется.
На SSD помещаются копии данных, поэтому осуществлять их фоновое перемещение в основной пул хранения не придется. Не будет и связанных с этим издержек, влияющих на производительность. Кэширование на SSD необходимо, впрочем, подстраивать под конкретные корпоративные приложения, но простота системы кэширования означает, что администрирование системы будет значительно менее сложным, чем у сопоставимой СХД с многоуровневым хранением.
Издержки, связанные с инсталляцией СХД с многоуровневым хранением и ее сопровождением, будут оправданными только в очень крупных организациях, которые могут позволить себе как установку стоечных модулей SSD для организации выделенного пула флеш-памяти, так и увеличение штата системных администраторов для управления СХД. Для большинства компаний, не имеющих экстремально крупных пулов хранения, предпочтительным вариантом ускорения систем хранения будет кэширование на SSD.
ПРОБЛЕМА ЗАПИСИ
Будучи более производительными, накопители SSD имеют определенные ограничения на запись данных, и это нужно иметь в виду при выборе метода ускорения СХД. Хотя хранящиеся на флеш-накопителях данные можно считывать бесконечное число раз, их ячейки допускают ограниченное число циклов записи. Эта проблема осложняется необходимостью удалять весь блок даже при записи данных меньшего объема. Для ее решения в современных контроллерах флеш-памяти применяются методы распределенной записи, кэширования операций записи и фоновая «сборка мусора». Однако запись на SSD остается более сложной операцией, чем чтение. Слишком частое выполнение записи в одни и те же ячейки может привести к быстрой деградации флеш-памяти.
Если в клиентской системе операции записи на SSD можно распределить таким образом, что каждый отдельный блок носителя будет перезаписываться достаточно редко, то в гибридной СХД уровень SSD активно задействуется для хранения «горячих» данных всего дискового пула. При кэшировании и многоуровневом хранении операции с SSD станут очень интенсивными, и преимущества алгоритмов предотвращения износа носителя будут сведены на нет. Это означает, что в обоих случаях (кэширование и многоуровневое хранение) уровень SSD лучше всего задействовать для ускорения операций чтения, а не чтения и записи.
РЕАЛИЗАЦИЯ КЭШИРОВАНИЯ НА SSD
В системе с кэшированием на SSD операция ввода-вывода производится обычным образом: вначале выполняются чтение-запись на HDD. Если эта операция инициирует кэширование, данные также копируются с HDD на SSD. Тогда при любой последующей операции чтения того же логического блока он считывается непосредственно с SSD, что увеличивает общую производительность и уменьшает время отклика. Уровень SSD играет роль невидимого ускорителя ввода-вывода, и при любом отказе SSD данные все равно будут доступны в основном пуле хранения, защищаемом с помощью RAID.
НАПОЛНЕНИЕ КЭШ-ПАМЯТИ
Кэш, как и основная емкость хранения, разбивается на группы секторов равного размера. Каждая группа называется кэш-блоком, а каждый блок состоит из подблоков. Размер кэш-блока можно настраивать под конкретное приложение, например СУБД или Web-сервер.
Считывание данных с HDD и их запись в SSD называют наполнением кэш-памяти. Эта фоновая операция обычно выполняется вслед за основной операцией чтения или записи. Поскольку назначение кэша — хранение часто используемых данных, к его наполнению должна приводить не каждая операция ввода-вывода, а только та, для которой пороговое значение счетчика оказывается превышенным. Обычно счетчики наполнения применяются при чтении и при записи.
Таким образом, с каждым блоком основной емкости хранения ассоциируются счетчики чтения и записи. Когда приложение считывает данные из кэш-блока, значение его счетчика чтения увеличивается. Если данные в кэш-памяти отсутствуют, а значение счетчика чтения больше или равно значению наполнения при чтении, то параллельно с основной операцией чтения выполняется операция наполнения кэш-памяти (данные кэшируются). Если же данные уже есть в кэш-памяти, они считываются с SSD, а операция наполнения не осуществляется. Если значение счетчика чтения меньше порогового значения, оно увеличивается, а операция наполнения не выполняется. Для операции записи сценарий тот же. Подробнее он поясняется на иллюстрациях на предыдущем развороте.
Что происходит с содержимым кэша после его «разогрева»? Если на SSD есть свободное место, кэш продолжает заполняться «горячими» данными. Когда емкость SSD исчерпывается, применяется алгоритм перезаписи наименее используемых данных (Least Recently Used, LRU), то есть на место последних в кэш-памяти записываются новые «горячие» данные.
Если объем «горячих» данных превышает емкость SSD, процент считываемых из кэш-памяти данных уменьшается, соответственно, снижается и производительность. Кроме того, чем меньше емкость SSD (и чем больше объем горячих данных), тем интенсивнее обмен «горячих» данных. В результате SSD будет изнашиваться быстрее.
Специалисты Qsan рекомендуют использовать накопители Intel SSD DC S3500. Так, у SSD емкостью 480 Гбайт наработка на отказ (MTBF) составляет 2 млн ч. Что касается производительности, то типичная задержка у этих накопителей равна 50 мс, максимальная задержка при чтении — 500 мс (99,9% времени), а производительность при произвольном чтении блоками по 4 Кбайт достигает 75 тыс. IOPS, при записи — 11 тыс. IOPS. Это хороший вариант для SSD-кэширования.
КЭШИРОВАНИЕ ПРИ ЧТЕНИИ-ЗАПИСИ
Операция чтения при отсутствии данных в кэш-памяти происходит следующим образом:
- Приложение подает запрос на чтение данных.
- Данные считываются с HDD.
- Запрошенные данные возвращаются приложению.
- Выполняется операция наполнения SSD.
Операция чтения при наличии данных в кэш-памяти:
- Приложение подает запрос на чтение данных.
- Данные считываются с SSD.
- Запрошенные данные возвращаются приложению.
- При сбое SSD данные считываются с HDD.
Действия приложения при записи данных:
- Приложение подает запрос на запись данных.
- Данные записываются на HDD.
- Приложению возвращается статус операции.
- Выполняется операция наполнения кэш-памяти на SSD.
НАСТРОЙКА КЭШ-ПАМЯТИ SSD
Чтобы приложение использовало кэш-память на SSD максимально эффективно, ее можно настроить. Основные параметры — размер блока кэш-памяти, пороговые значения наполнения при чтении и при записи.
Размер блока. Большой размер блока кэш-памяти подходит для приложений, часто обращающихся к соседним (по физическому расположению) данным. Это называется высокой локальностью обращений. Увеличение размера блока также ускоряет наполнение кэш-памяти на SSD — ускоряется «разогрев» кэша, после которого приложения с высокой локальностью обращений будут демонстрировать весьма высокую производительность. Однако увеличение размера блока влечет за собой генерирование избыточного трафика ввода-вывода и увеличение времени отклика, особенно для отсутствующих в кэше данных.
Меньший размер блока хорош для приложений с менее локализованными данными, то есть когда доступ к данным осуществляется в основном случайным образом. Кэш-память на SSD будет «разогреваться» медленнее, но чем больше блоков, тем больше вероятность попадания в кэш нужных данных, особенно данных с низкой локальностью обращений. При небольших блоках коэффициент использования кэш-памяти ниже, но меньше будут и сопутствующие потери, так что при «промахе», когда нужных данных нет в кэш-памяти, производительность страдает меньше.
Пороговое значение наполнения. Порог наполнения кэша — это число обращений к данным, после которого соответствующий блок копируется в SSD-кэш. При большом значении кэшируются только часто используемые данные и уменьшается обмен данных в кэше, но увеличивается время «разогрева» кэш-памяти и растет эффективность ее использования. При меньшем значении кэш-память разогревается быстрее, но возможно ее избыточное наполнение. Для большинства приложений вполне достаточно порогового значения, равного 2. Наполнение при записи полезно в том случае, когда записываемые данные вскоре снова считываются. Подобное нередко случается в файловых системах. Другие приложения, например базы данных, не имеют такой особенности, поэтому наполнение при записи для них иногда лучше вовсе отключить.
Как можно видеть, увеличение или уменьшение каждого параметра имеет свои положительные и отрицательные последствия. Очень важно понимать «локальность» приложения. Кроме того, полезно протестировать систему на реальных нагрузках и посмотреть, при каких параметрах она показывает лучшие результаты.
Ускоряем жесткий диск. OCZ Synapse Cache как альтернатива Intel Smart Response
Традиционными способами ускорения ПК считаются апгрейд или разгон процессора и видеокарты, а также расширение объема оперативной памяти. При этом зачастую без внимания остается не менее важная часть компьютера — дисковая подсистема. Ее скорость влияет на быстродействие ПК не менее чем мощный CPU или пара лишних гигабайт ОЗУ — как-никак, если жесткий диск «тормозит», все сверхскоростные компоненты будут вынуждены терпеливо ждать его, а вместе с ними — и пользователь.
Способов ускорения дисковой подсистемы до недавнего времени было фактически три: замена HDD более быстрой моделью, сборка RAID-массива или переход на SSD, и у каждого из этих подходов есть свои недостатки. С выходом чипсета Intel Z68 процессорный гигант предложил пользователям ПК еще один путь — промежуточное кэширование данных, с которыми активно работает система, на небольшом SSD. Технология получила название Smart Response. К слову, мы не зря уточнили, что Intel предложила эту технологию именно для ПК: на самом деле SSD-кэширование было предложено еще в 2009 году компанией Adaptec для высокоуровневых серверных тяжелонагруженных RAID-массивов (Adaptec MaxIQ), а затем подобные решения представили и другие игроки рынка enterprise-СХД. Что характерно, как в корпоративном сегменте за первопроходцем последовали конкуренты, так и в пользовательском произошло то же самое, и сегодня мы рассмотрим один из аналогов Intel Smart Response на примере твердотельного накопителя OCZ Synapse Cache. Преимущество подобных гибридных систем над жесткими дисками очевидно: часто используемые данные переносятся на радикально более быстрый SSD. А относительно самостоятельных твердотельных накопителей эта модель использования более выгодна за счет того, что не приходится жертвовать емкостью — как-никак, стоимость гигабайта у SSD и HDD пока различается на порядок.
Участники тестирования
В качестве «точки отсчета» для оценки производительности традиционного жесткого диска будет выступать Western Digital VelociRaptor WD1500HLHX.
Это младшая 150-гигабайтная модель из последнего поколения «рапторов», отличающаяся поддержкой SATA 6 Гбит/с и буфером емкостью 32 МБ. Как и у всего семейства «хищников» WD, ключевая особенность данного диска — скорость вращения шпинделя 10000 об/мин и форм-фактор 2,5″ (хотя физически HDD установлен на крупный 3,5-дюймовый радиатор). За счет большей частоты вращения и меньшего размера пластин достигается рост линейной скорости и, в особенности, снижение времени доступа по сравнению с традиционными моделями на 7200 об/мин, не говоря уже о более медленных «зеленых» сериях. В итоге мы получаем самый быстрый из доступных на рынке SATA-накопителей для ПК и рабочих станций.
Вторым участником тестирования станет массив RAID-0 из двух VelociRaptor — посмотрим, какие дивиденды приносит простое приобретение второго диска к уже имеющемуся и сборка массива на чипсетном контроллере.
Третье устройство в тесте — SSD-накопитель OCZ Vertex 3 Max IOPS емкостью 120 ГБ.
На сегодняшний день это, фактически, самый быстрый твердотельный накопитель среди устройств в форм-факторе 2,5″ (маргинальные устройства с интерфейсами PCI Express x4 и HSDL в расчет брать не будем). SSD основан на топовой модификации контроллера SandForce второго поколения — SF-2281, использует 25-нанометровую память NAND производства Micron. Заявленная производительность составляет 550 МБ/с при линейном чтении, 500 МБ/с — при записи, время доступа — 0,1 мс. Максимальная производительность при обращении на запись 4-килобайтными блоками со случайной адресацией — до 85000 IOPS.
Четвертым и пятым участниками тестирования станут гибридные конфигурации Intel Smart Response из одиночного WD VelociRaptor в тандеме с OCZ Vertex 3 Max IOPS. Отличаться они будут лишь режимами работы кэширования. Что такое Intel Smart Response? Как мы уже упоминали выше, ее суть сводится к кэшированию на SSD активно используемых данных с жестких дисков (которые, как бы они ни были быстры и совершенны, в разы уступают твердотельным по ряду параметров). Система в фоновом режиме анализирует, к каким файлам ОС и ПО пользователя обращаются наиболее часто, и перемещает их на SSD-накопитель. К сожалению, маркетологи Intel не дают возможности воспользоваться этой опцией всем пользователям платформы компании — Smart Response доступна только на чипсете Z68. Для работы в составе подобных гибридных массивов компания предлагает собственный SSD Intel 311 (Larson Creek), оптимизированный специально для этих целей (он основан на SLC-чипах, которые стоят на порядок больше MLC, но и «живут» значительно дольше). К счастью, хотя бы тут ограничений нет, потому мы используем обычный OCZ Vertex 3.
Настройка Intel Smart Response
Процедура настройки Intel Smart Response довольно проста, хотя и не лишена «подводных камней». Первая сложность, с которой может столкнуться пользователь уже собранной и работающей системы, пожелавший ускорить свой HDD, — необходимость перевести контроллер в режим RAID. Естественно, без некоторых ухищрений безболезненно это проделать не удастся — ОС перестанет загружаться. Решается проблема либо заменой драйверов стандартными от Microsoft и правкой реестра, либо «инъекцией» драйверов RAID через установщик Windows 7 или Acronis True Image Plus Pack.
Вторая сложность — после вышеописанных процедур управляющая утилита Intel Rapid Storage все равно не отображает возможность организации Smart Response. Проблема решается переустановкой драйверов (и, вероятно, в будущем будет исправлена в новой версии пакета).
Итак, после установки в систему SSD в центре управления Intel Rapid Storage появляется вкладка Accelerate (ускорить), в которой можно выбрать, какой объем SSD мы хотим отдать под кэширование (13,6 ГБ или максимально возможные 64 ГБ), и в каком режиме будет работать Smart Response — улучшенном (Enhanced) или максимальном (Maximum). Отличаются они характером кэширования: улучшенный подразумевает буферизацию только тех данных, к которым производятся активные запросы на чтение (исполняемые файлы, библиотеки и т.п.), а максимальный кэширует еще и операции записи. Соответственно, значительно ускорится и работа со всевозможными временными файлами, контейнерами (например, scratch-файлом Adobe Photoshop или каталогом Lightroom), но в случае отключения питания или выхода SSD из строя данные неизбежно будут потеряны, т.к. физически, пока к ним не прекратится активный доступ, они не будут перенесены на HDD.
Если же настройку Smart Response предполагается осуществить с нуля, и потом ставить на гибридный массив ОС, то процедуру можно произвести и в конфигурационном меню дискового контроллера, которое выводится сразу после POST.
OCZ Synapse Cache 120GB
Наконец, шестой участник — OCZ Synapse Cache емкостью 120 ГБ.
От собрата под маркой Vertex (как и от серии Agility) он, фактически, отличается лишь прошивкой.
Основой данного накопителя все так же является SandForce SF-2281, однако firmware этой модели, в первую очередь, ориентирована на долговечную работу. Для этого степень over-provisioning (резервирования ячеек для подменного фонда на случай их постепенного выхода из строя) составляет целых 50%.
Фактически, у 120-гигабайтной модели доступны для работы только 60 ГБ, а у младшей модификации емкостью 60 ГБ — всего 30. Очевидно, что использовать Synapse Cache в качестве обычного SSD нет никакого смысла.
Изменения в прошивку внесены неспроста. Synapse Cache предназначен для работы с лицензированной OCZ утилитой Dataplex от американской компании NVELO. Как и драйвер Intel Rapid Storage, эта утилита «на лету» анализирует все дисковые операции, происходящие на компьютере, и в фоновом режиме переносит «горячие» данные на SSD. Однако, есть и отличия: во-первых, после ее установки SSD полностью пропадает из системы и становится недоступен пользователю. Во-вторых, Dataplex не требует работы в режиме RAID и, следовательно, совместима и с материнскими платами, контроллеры HDD которых не поддерживают эту технологию. Основной же «плюс» этого решения — полная совместимость со всеми чипсетами, а не только с Intel Z68.
К сожалению, без ограничений не обошлось: Dataplex работает только в Windows 7 и на данный момент не поддерживает жесткие диски емкостью свыше 2 ТБ (что планируется исправить до конца года). Кроме того, кэширует он только обращения к системному HDD, таким образом, если вы хотите установить ПО или игры на другой жесткий диск, они «ускоряться» не будут.
Особенность технологии в том, что она всегда кэширует и чтение, и запись данных. Безопасного промежуточного режима вроде Enhanced в Smart Response у нее нет. Естественно, это заставляет опасаться за сохранность пользовательских данных, однако поэтому-то у OCZ Synapse Cache и 50% резервной области, а не 6,25%, как у Vertex 3.
Прелесть Dataplex в невероятной простоте ее настройки: нужно лишь подключить SSD, загрузить с сайта OCZ утилиту (предварительно зарегистрировавшись), установить ее, введя код, расположенный на инструкции к накопителю и его корпусе, и перезагрузить ПК. Всё.
Поразительно, но больше никаких манипуляций производить не надо, никаких настроек у системы нет, и они не нужны. В меню «Пуск» есть только утилита проверки состояния Dataplex, которая бодро рапортует о том, что кэширование активно.
Что же, посмотрим, что окажется лучше.
SSD — кэширование
Введение
Традиционная система хранения подразумевает размещение данных на жестких дисках HDD и твердотельных дисках SSD. В последние годы емкости HDD растут стремительными темпами. Однако, скорость их при случайном доступе по-прежнему мала. Для некоторых приложений, таких как базы данных, облачные технологии или виртуализация, требуется как высокая скорость доступа, так и большой объем. Получается, что использование только HDD не приемлемо, а использование SSD неоправданно дорого. Использование SSD только в качестве кэша является лучшим соотношением цена/производительность для системы в целом. В этом случае сами данные будут располагаться на емких HDD, а дорогие SSD будут давать прирост производительности при случайном доступе к этим данным.
Чаще всего SSD-кэш будет полезен в следующих случаях:
- Когда скорость работы HDD в IOPS при чтении является узким местом.
- Когда операций ввода/вывода на чтение существенно больше, чем на запись.
- Когда объем часто используемых данных меньше размера SSD.
Решение
SSD-кэширование – это дополнительный кэш для увеличения производительности. Один или несколько SSD должны быть назначены виртуальному диску (луну) для использования в качестве кэша. Обратите внимание, что эти SSD будут недоступны для хранения данных. В настоящее время размер SSD-кэша ограничен 2.4ТБ.
Когда производится операция чтения/записи, копия данных помещается на SSD. В следующий раз любая операция с этим блоком будет производиться напрямую с SSD. В итоге это уменьшит время реакции и, как следствие, увеличит общую производительность. Если, к несчастью, SSD откажет, то данные не потеряются, т.к. в кэше содержится копия данных с HDD.
SSD-кэш делится на группы – блоки, каждый блок делится на субблоки. Характер операций ввода/вывода для виртуального диска определяет выбор размера блока и субблока.
Заполнение кэша
Чтение данных с HDD и запись их на SSD называется заполнением кэша. Эта операция выполняется в фоновом режиме сразу же после того, как хост производит операции чтения или записи. Работа кэша ограничена двумя параметрами:
- Populate-on-read threshold
- Populate-on-write threshold
Эти значения больше нуля. Если они равны нулю, то кэш на чтение или запись не работает. В соответствии с этими значениями каждый блок соотносится с его счетчиком чтения или записи. Когда хост производит операцию чтения, и данные расположены в кэше, счетчик чтения увеличивается. Если в кэше нет данных и счетчик чтения больше или равен значению Populate-on-read threshold, то данные копируются в кэш. Если же значение счетчика меньше Populate-on-read threshold, то данные читаются мимо кэша. Для операций записи ситуация аналогична.
Сценарии работы SSD-кэша
- Чтение данных, данные отсутствуют в кэше
- Хост присылает запрос на чтение данных
- Чтение данных с HDD
- Отправка данных на хост
- Копирование данных в кэш на SSD
- Чтение данных, данные присутствуют в кэше
- Хост присылает запрос на чтение данных
- Данные читаются с SSD
- Данные отправляются хосту
- Если данные невозможно считать с SSD из-за его поломки, то данные читаются с HDD

- Хост присылает запрос на запись данных
- Данные записываются на HDD
- Хосту отправляется подтверждение о совершенной операции
- Данные копируются на SSD
Тип ввода/вывода
Тип ввода/вывода определяет конфигурацию SSD-кэша. Эта конфигурация выбирается администратором и определяет параметры блока, субблока, populate-on-read threshold и populate-on-write threshold. Имеются три заранее определенные конфигурации согласно типам ввода/вывода: базы данных, файловая система и web-сервисы. Администратору необходимо выбрать конфигурацию SSD-кэша для виртуального диска. В процессе работы можно сменить тип конфигурации, но в этом случае содержимое кэша будет сброшено. Если предопределенные конфигурации не подходят под используемый профиль нагрузки, то имеется возможность задать собственные значения параметров.
Размер блока влияет на время «прогрева» кэша, т.е. когда наиболее востребованные данные переместятся на SSD. Если данные расположены на HDD близко друг к другу, то лучше использовать блок большого размера. Если же данные расположены хаотично, то логичнее использовать блок малого размера.
Размер субблока также влияет на время прогрева кэша. Больший его размер уменьшает время заполнения кэша, но увеличивает время реакции на запрос с хоста. Помимо этого, размер субблока также влияет на загрузку процессора, пропускную способность памяти и канала.
Для расчета примерного времени прогрева кэша можно воспользоваться следующим методом.
- Т – время прогрева кэша в секундах
- I – значение IOPS для HDD при случайном доступе
- S – размер блока ввод/вывода
- D – количество HDD
- C – полный объем SSD
- P — populate-on-read threshold или populate-on-write threshold
Тогда T = (C*P) / (I*S*D)
Для примера: 16 дисков с 250 IOPS, один SSD 480ГБ в качестве кэша, характер нагрузки – web-сервисы (64КБ) и populate-on-read threshold = 2.
Тогда время прогрева будет Т = (480ГБ*2) / (250*64КБ*16) ≈ 3932 сек ≈ 65.5 мин
Тестирование
Для начала рассмотрим процесс создания SSD-кэша
- После создания виртуального диска нажмите ↓, затем Set SSD Caching
- Выберите Enable
- Выберите конфигурацию из ниспадающего списка
- Нажмите Select Disks и выберите SSD, которые будут использоваться в качестве кэша
- Нажмите ОК
- Только SSD могут использоваться в качестве кэша
- SSD может быть назначен только одному виртуальному диску в каждый момент времени
- Поддерживается до 8 SSD на один виртуальный диск
- Поддерживается общий объем до 2.4ТБ SSD на систему
- Для SSD-кэширования требуется лицензия, которая приобретается отдельно от системы
Результаты
- HDD Seagate Constellation ES ST1000NM0011 1TB SATA 6Gb/s (x8)
- SSD Intel SSD DC3500, SSDSC2BB480G4, 480GB, SATA 6Gb/s (x5)
- RAID 5
- I/O Type Database Service (8KB)
- I/O pattern 8KB, random read 90% + write 10%
- Virtual disk 2TB
Согласно формуле время прогрева кэша T = (2ТБ*2) / (244*8КБ*8) ≈ 275036 сек ≈ 76.4 ч