Использование SSD-накопителей в качестве кэш-памяти дисковой подсистемы сервера. Гибридные жёсткие диски SSHD. За и против

Рассмотрим несколько различных вариантов построения дисковой подсистемы сервера с целью сравнения их по цене и быстродействию. В качестве величины полезной емкости дискового хранилища выберем значение 10TB. Во всех вариантах предполагается использование аппаратного RAID-контроллера с кэш-памятью 2GB.

Бюджетный вариант - два жестких диска 3,5" объемом 10TB с интерфейсом SATA и скоростью вращения шпинделя 7200 об./мин., объединенных в массив RAID1. Быстродействие такого массива не превысит 500 операций в секунду (IOPS) при чтении и 250 IOPS при записи. Дополнительный плюс этого решения – возможность кратного увеличения емкости хранилища за счет добавления новых дисков в свободные отсеки дисковой корзины сервера.

Производительный вариант - 12 HDD 2,5" 10’000RPM емкостью 1,8TB в RAID10 (RAID5 или RAID50 в два раза медленнее на операциях записи). Здесь мы получим на чтении около 5’000 IOPS, а на записи 2’500 IOPS - в 10 раз больше по сравнению с первым вариантом. Однако и обойдутся эти диски примерно в шесть раз дороже.

Максимальное быстродействие обеспечит массив RAID10 из SSD-накопителей, например, 12 штук Intel DC S4600 1,9TB. Производительность такого массива составит 800’000 IOPS на операциях чтения и 400’000 IOPS на операциях записи, то есть быстрее второго варианта в 160 раз, но дороже по сравнению с ним в 4 раза, а с первым вариантом – в 24 раза. Выбор SSD-накопителей большего размера даст примерно такие же цифры по стоимости и немного ниже – по производительности.

Вариант
массива
Чтение
(IOPS)
Запись
(IOPS)
Во сколько
раз быстрее
Во сколько
раз дороже
HDD 10TB x 2 500 250
HDD 1,8TB x 12 5’000 2’500 X 10 X 6
SSD 1,9TB x 12 800’000 400’000 X 1600 X 24

В общем, чем дороже, тем быстрее. И даже скорость обгоняет цену.

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

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

Идея SSD-кэширования основана на концепции «горячих» данных.

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

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

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

Технология SSD-кэширования применяется как для операций чтения, так для операций записи.

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

Когда сервер посылает контроллеру запрос на чтение блока данных

Если да, контроллер читает блок из SSD-кэш.

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

Когда сервер посылает контроллеру запрос на запись блока данных , контроллер проверяет, находится ли данный блок в SSD-кэш.

Если да, контроллер записывает данный блок в SSD-кэш.

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

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

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

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

Если SSD-кэширование планируется использовать для чтения и записи, то «горячие» данные будут храниться только в кэш-памяти на SSD. В этом случае необходимо обеспечить резервирование таких данных, для чего использовать в качестве кэш-памяти два или более SSD-накопителей, объединенных в RAID-массив с избыточностью, например, RAID1 или RAID10.

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

Тестирование

Основной дисковый массив: RAID10 из шести HDD SATA 3,5" 1TB. Полезный объем массива 2,7TB.

SSD-кэш: RAID1 из двух SSD Intel DC S4600 240GB. Полезный объем массива 223GB.

В качестве «горячих» данных мы использовали первые 20 миллионов секторов, то есть 9,5GB, основного массива RAID10. Выбранный небольшой объем «горячих» данных принципиально ничего не меняет, но позволяет значительно сократить время тестирования.

Тестируемые контроллеры: Adaptec SmartRAID 3152-8i и BROADCOM MegaRAID 9361-8i (LSI).

Нагрузка на дисковую подсистему создавалась при помощи утилиты iometer. Параметры нагрузки: размер блока 4K, случайный доступ, глубина очереди 256. Мы выбрали большую глубину очереди, чтобы сравнивать максимальные показатели производительности, не обращая внимания на время задержки.

Производительность дисковой подсистемы фиксировались при помощи системного монитора Windows.

Adaptec (Microsemi) SmartRAID 3152-8i с технологией maxCache 4.0

Этот контроллер по умолчанию поддерживает технологию SSD-кэширования maxCache 4.0 и имеет 2GB собственной кэш-памяти c защитой от потери питания в комплекте.

При создании основного массива RAID10 мы использовали установки контроллера по умолчанию.

Массив RAID1 кэш-памяти на SSD был установлен в режим Write-Back, чтобы включить SSD-кэширование на чтение и запись. При установке режима Write-Through все данные будут записываться на жесткий диск, поэтому мы получим ускорение только на операциях чтения.

Картина тестирования:

График 1. Тестирование Adaptec maxCache 4.0

Красная линия - производительность дисковой подсистемы на операциях записи.

В первый момент наблюдается резкий всплеск производительности до значения 100’000 IOPS – данные записываются в кэш контроллера, который работает со скоростью оперативной памяти.

После заполнения кэш производительность падает до обычной скорости массива жестких дисков (примерно 2’000 IOPS). В это время блоки данных записываются на жесткие диски, поскольку этих блоков в кэш-памяти на SSD еще нет и контроллер не считает их «горячими». Копия данных записывается в SSD-кэш.

Постепенно все больше блоков записывается повторно, такие блоки уже есть в SSD-кэш, поэтому контроллер считает их «горячими» и записывает только на SSD. Производительность операций записи при этом достигает 40’000 IOPS и стабилизируется на этой отметке. Поскольку в SSD-кэш данные защищены (RAID1), нет необходимости перезаписывать их в основной массив.

Отметим, кстати, что заявленная производителем скорость записи для используемых нами здесь SSD-накопителей Intel DC S4600 240GB составляет как раз 38’000 IOPS. Поскольку мы записываем один и тот же набор данных на каждый накопитель из зеркальной пары массива RAID1, можно сказать, что SSD-накопители работают на максимально возможной для себя скорости.

Синяя линия - производительность дисковой подсистемы на операциях чтения. Левый участок – чтение данных из массива жестких дисков со скоростью примерно 2’000 IOPS, в кэш-памяти на SSD пока нет «горячих» данных. Одновременно с чтением блоков жестких дисков выполняется их копирование в кэш-память на SSD. Постепенно скорость чтения немного растет, поскольку начинают «попадаться» блоки, ранее считанные в SSD-кэш.

После записи в SSD-кэш всех «горячих» данных их чтение выполняется оттуда со скоростью более 90’000 IOPS (второй синий участок).

Фиолетовая линия - комбинированная нагрузка (50% чтение, 50% запись). Все операции выполняются только c «горячими» данными на SSD. Производительность в районе 60’000 IOPS.

Резюме

Контроллер Adaptec SmartRAID 3152-8i отлично справится с организацией SSD-кэширования. Поскольку контроллер уже включает поддержку maxCache 4.0 и защиту кэш-памяти, необходимо приобрести только SSD-накопители. Контроллер удобен и прост в настройке, установки по умолчанию обеспечивают максимальный уровень защиты данных.

Видео с записью тестирования Adaptec maxCache 4.0:

LSI (BROADCOM) MegaRAID 9361-8i

Этот контроллер поддерживает технологию SSD-кэширования CacheCade 2.0. Для ее использования необходимо приобрести лицензию стоимостью около 20’000 рублей.

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

Установки контроллера для основного массива: кэш контроллера в режиме Write-Through; режимы чтения Direct IO, No Read Ahead.

Кэш-память на SSD-накопителях (массив RAID1) в режиме Write-Back для кэширования операций чтения и записи.

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

График 2. Тестирование LSI CacheCade 2.0

Последовательность тестирования такая же, картина похожая, но производительность CacheCade 2.0 несколько выше, чем maxCache.

На операциях записи «горячих» данных мы получили производительность почти 60’000 IOPS против 40’000 у Adaptec, на операциях чтения – почти 120’000 IOPS против 90’000 IOPS, на комбинированной нагрузке – 70’000 IOPS против 60’000 IOPS.

Здесь нет «всплеска» производительности в начальный момент тестирования операций записи, поскольку кэш контроллера работает в режиме Write-Through и не используется при записи данных на диски.

Резюме

У контроллера LSI более сложная настройка параметров, требующая понимания принципов его работы. Для использования SSD-кэширования не требуется обязательное наличие защиты кэш-памяти контроллера. В отличие от Adaptec возможно использование SSD-кэш для обслуживания сразу нескольких RAID-массивов. Более высокая производительность по сравнению с контроллерами Adaptec. Требуется покупка дополнительной лицензии CacheCade.

Видео с записью тестирования LSI CacheCade 2.0:

Заключение

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

Вариант
массива
Чтение
(IOPS)
Запись
(IOPS)
Во сколько
раз быстрее
Во сколько
раз дороже
HDD 10TB x 2 500 250
HDD 1,8TB x 12 5’000 2’500 X 10 X 6
SSD 1,9TB x 12 800’000 400’000 X 1600 X 24
HDD 10TB x 2 + SSD 960GB x 2, maxCache 90’000 40’000 X 160 X 2,5
HDD 10TB x 2 + SSD 960GB x 2, CacheCade 120’000 60’000 X 240 X 3

При кэшировании записи всегда используйте в качестве SSD-кэш массивы с избыточностью (RAID1 или RAID10).

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

Ресурс SSD-накопителей для кэш-памяти должен соответствовать нагрузке на подсистему хранения сервера по объему записываемых данных. Ресурс накопителя обычно определяется параметром DWPD (Drive Writes Per Day) – сколько раз в день можно полностью перезаписать накопитель на протяжении 5 лет. Накопители с ресурсом 3 DWPD и более обычно будут подходящим выбором. Измерить реальную нагрузку на дисковую подсистему можно при помощи системного монитора.

В случае, если возникнет необходимость перенести все данные из кэш-памяти на SSD-накопителях на основной массив, нужно переключить режим работы SSD-кэш с Write-Back на Write-Through и подождать пока данные полностью не перепишутся на жесткие диски. По окончании этой процедуры, но не ранее, контроллер «позволит» удалить том SSD-кэширования.

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

Здравствуйте админ! Хочу купить жёсткий диск объёмом 1-2 Тб, один знакомый компьютерщик посоветовал купить диск SSHD (гибрид жёсткого диска и твердотельного накопителя SSD), так как он работает заметно быстрее обычного HDD, но не такой дорогой, как твердотельный накопитель SSD. Что вы можете сказать о таких дисках?

Привет друзья! Очень хороший вопрос. Да, гибридный жёсткий диск SSHD (Solid State Hybrid Drive) работает быстрее обычного жёсткого диска на 30 %, и дороже примерно на столько же. Если обычный жёсткий диск на 1 Тб стоит 4 000 рублей, то SSHD можно купить за 5 400 рублей. Выпускаются такие диски, как для обычных компьютеров, так и для ноутбуков.

Во-первых, ч то из себя представляет гибридный жёсткий диск

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

Во-вторых, почему гибридный жёсткий диск SSHD работает быстрее обычного жёсткого диска

В гибридных дисках SSHD от Seagate применяется технология самообучения - Seagate Adaptive Memory , исследующая с первых секунд работы установленную на диске операционную систему, в результате чаще всего используемые программы и файлы копируются на флеш-память диска SSHD, к таким файлам относятся прежде всего элементы участвующие в загрузке операционной системы, а значит Windows со второго, третьего раза будет загружаться быстрее, ведь загрузка винды будет происходить уже из флеш-памяти. Например, на моём компьютере загрузка Windows 8.1, установленной на обычный HDD, происходит в течении 35-40 секунд, а на SSHD - 20 секунд, на обычном твердотельном накопителе SSD - 15 секунд. Тоже самое относится к постоянно используемым вами приложениям, запускаться они будут несколько быстрее. Возьмём например, требовательную к ресурсам компьютера современную игру, в которую вы постоянно играете, по моим наблюдениям, загружаться такая игра будет в три раза быстрее, чем на обычном HDD.

Гибридные жёсткий диск SSHD, это золотая середина

Вообще, идеальный вариант конфигурации накопителей в системном блоке обычного домашнего пользователя выглядит так: покупается два накопителя, первый - твердотельник SSD (объём 120-240 Гб) под установку операционной системы, а второй - обычный HDD для хранения файлов (объём) 2-3 ТБ, нужно на всё это примерно 10 000 рублей. А если вы приобретёте один гибридный диск SSHD на 1 ТБ, то он обойдётся вам в 5 400 рублей, а SSHD на 2 ТБ - 7 000 рублей. Конечно летать всё (как в случае с SSD) не будет, но может вам такие скорости и не нужны. Выходит гибридный диск SSHD, это золотая середина - за небольшие деньги вы приобретаете хорошее быстродействие и большой объём дискового пространства.

Какой SSHD купить

До недавнего времени гибридные диски SSHD производила компания, которая их и разработала - Seagate. Всего сейчас на рынке присутствуют три модели Seagate Desktop SSHD объемом 1, 2, 4 Тбайт.

Seagate Desktop SSHD ST1000DX001 1 Тб

Seagate Desktop SSHD ST2000DX001 2 Тб

Seagate Desktop SSHD ST4000DX001 4 Тб

Также с недавнего времени SSHD стала выпускать Western Digital, но на рынке они представлены мало, а та модель, которая попалась мне - WD Blue SSHD, WD40E31X объёмом 4 Тб ничем не отличалась по скоростным характеристикам от аналогичной модели Seagate ST4000DX001 4 Тб.

Предлагаю вам в сегодняшней статье рассмотреть модель Seagate Desktop SSHD ST2000DX001 объём 2 Тб и вот почему. Если взять модель Seagate Desktop SSHD 1 Тб, то размера дискового пространства 1 Тб уже мало для современного пользователя компьютера. Если взять модель Seagate Desktop SSHD 4 Тб, то наоборот, большой объём 4 Тб дискового пространства не всем нужен, да и цена его достаточно высокая (11 500 рублей), и что ещё немаловажно - скорость вращения шпинделя этого накопителя: 5900 об/мин, то есть он чуть медленнее, чем другие SSHD объемом 1 и 2 Тбайт (скорость вращения шпинделя 7200 об/мин) и на быстродействии операционной системы это обязательно скажется.

Итак, я вас уговорил и перед нами модель Seagate Desktop SSHD ST2000DX001 2 Тб

При ближайшем рассмотрении гибридный диск Seagate Desktop SSHD ST2000DX001 2 Тб оказался обычным жёстким диском, только вот написано на нём SSHD.

Объем дискового пространства - 2 Тб

Объем SSD буфера - 8 Гб

Объем кэш-памяти - 64 Мб

Скорость вращения шпинделя - 7200 rpm

На обратной стороне накопителя видим специальную печатную плату Adaptive Memory, с распаянными 8 Гбайт быстрой MLC-памяти и контроллером «гибрида».

Очень просто устанавливаем накопитель в системный блок.

SMART винчестера в программе CrystalDiskInfo и Виктории.

Гибридный диск новый и отработал 0 часов.

Тесты на чтение и запись

Чтобы убедиться в том, что наш диск на самом деле хорош, произведём несколько тестов на чтение и запись с помощью специальных программ: CrystalDiskMark 2.0, ATTO Disk Benchmark и SiSoftware Sandra. Данные утилиты произведут последовательные чтение и запись информации на наш гибридный диск небольшими блоками, затем покажут нам результат.

CrystalDiskMark 2.0

Самая простая и часто используемая в этом отношении программа, скачать можно на моём Яндекс.Диске

Утилита очень простая, выберите только нужную букву диска (в нашем случае E:)

И нажмите AII , начнётся тест SSHD диска на производительность.

1. Тест последовательного чтения и записи большими блоками данных;

2. Тест случайного чтения и записи блоками 512 Кб;

3. Тест случайного чтения и записи блоками 4 Кб;

Могу сказать, что результат очень достойный, особенно можно отметить запись блоками 512 Кб и 4 Кб.

ATTO Disk Benchmark

Протестируем гибридный диск ещё одной программой - ATTO Disk Benchmark .

Выбираем букву диска гибридного накопителя SSHD и жмём Start.

Результат.

SiSoftware Sandra

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

В итоге, наш диск опережает 94% результатов. Отличная производительность.

Недостатки SSHD

По моему мнению, единственный минус SSHD, это небольшой объём встроенной флеш -памяти 8 Гб, было бы здорово, если бы её размер вырос до 32 Гб, тогда в кэш твердотельника помещалось больше работающих программ и быстродействие Windows было бы точно таким, как если бы она была установлена на SSD.

Введение

По мере развития бизнеса возможности приложений с интенсивными рабочими потоками часто ограничиваются характеристиками жестких дисков (HDD). Несмотря на то, что емкости HDD резко возросли, скорость выполнения операций произвольного ввода/вывода (I/O) не увеличивалась в том же темпе. Однако, теперь возможно ускорить обработку потоков с интенсивным чтением данных, таких, как при онлайн транзакциях (On-Line Transaction Processing - OLTP), в сетевых и файловых серверах, базах данных, применяя новую технологию кэширования, Infortrend SSD Cache, которая использует высокую скорость и малую задержку твердотельных дисков для повышения скорости считывания часто требующихся жизненно важных данных. Скорость чтения для SSD значительно выше по сравнению с HDD и, следовательно, SSD Cache может существенно улучшить характеристики произвольного чтения и снизить время отклика.

Применимость настоящего документа

Семейство EonStor DS

Что такое SSD Cache?

Кэш-память - это компонент, который прозрачно накапливает данные, так что следующие обращения к ним могут обслуживаться более эффективно. Он имеет решающее значение для хранилища, особенно в применениях с интенсивным чтением данных. Без включения SSD Cache емкость кэш-памяти контроллера ограничена. SSD Cache позволяет использовать быстрые SSD для наращивания пула кэш-памяти системы хранения и накапливания часто запрашиваемых данных. С увеличением емкости SSD Cache частота попадания в кэш также увеличивается. Другими словами, все больше и больше “горячих” данных будет храниться в SSD Cache, будущие обращения к этим данным будут обслуживаться более эффективно и, следовательно, характеристики чтения будут улучшаться.

Почему Infortrend SSD Cache?

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

1.Улучшение характеристик чтения

SSD Cache использует интеллектуальный алгоритм, чтобы ускорить обработку интенсивных потоков с произвольным чтением данных, таких, как OLTP и обращения к базам данных. В таких ситуациях SSD Cache может существенно увеличить общую скорость чтения. Например, SSD Cache может в 2,5 раза увеличить значение IOPS при OLTP по сравнению с той же системой без SSD Cache. В то же время задержки также уменьшаются и, следовательно, степень улучшения характеристик зависит от действительных рабочих потоков приложения и поведения пользователя.

2.Интеллектуальное ПО и алгоритм управления

Интеллектуальное ПО автоматически анализирует модель доступа к данным и распознает последовательные и произвольные операции чтения/записи. Данные последовательного чтения или записи не заносятся в пул SSD Cache, в нем накапливаются только данные произвольного чтения, чтобы SSD использовались наиболее эффективно. Если более точно, то встроенное ПО автоматически перемещает копии наиболее часто требующихся данных из кэш-памяти контроллера в пул SSD Cache в соответствующее время. Эти “горячие” данные впоследствии будут считаны из SSD Cache, если система получит запрос на их чтение. Разработанны Infortrend алгоритм оптимизирует цикличность копирования данных в SSD, так что для этой цели можно применять и сравнительно дешевые SSD. Это решение не только улучшает характеристики чтения, но и продлевает срок службы жестких дисков за счет уменьшения количества циклов чтения и записи.

3.Простой интуитивный интерфейс пользователя

Функции SSD Cache полностью интегрированы в Infortrend SANWatch и RAIDWatch GUI. Они очень просто настраиваются, управляются и обслуживаются. Например, пользователь может наблюдать за состоянием пула SSD Cache и легко проверять оставшийся срок службы для каждого SSD.

Infortrend SSD Cache

Как работает Infortrend SSD Cache

Если SSD Cache включено и работает в течение некоторого времени, интеллектуальное встроенное ПО собирает статистику и немедленно обновляет записи о “температуре” данных в кэш-памяти контроллера. Основываясь на этих записях, встроенная программа автоматически копирует в соответствующее время небольшие фрагменты случайных часто требующихся данных из кэш-памяти контроллера в пул SSD Cache, используя метод последовательной записи, чтобы избежать интенсивных операций с SSD и, следовательно, увеличить срок их службы. Пока пул SSD Cache Pool не заполнится “горячими” данными, генерируемыми приложениями на хосте, метод предварительного копирования блоков на SSD с помощью зонного предсказания ускоряет операции чтения. Если размер блока данных меньше или равен 16 KB, данные копируются прямо в пул SSD, даже если они считываются только однократно. Если размер блока больше 16 KB, и программа распознает его как “горячие” данные (считываются несколько раз), то они классифицируются как часто требующиеся и сохраняются в пуле SSD. Для этих “горячих” данных будет хранится две копии - одна в SSD Cache и одна на жестких дисках.

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

Что нужно для работы SSD Cache

1. Требования к программному обеспечению и SANWatch

ПО версия 512F12 или выше

SANWatch версия 3.0.h.14 или выше

2. Лицензия на SSD Cache

SSD Cache доступно по лицензии. Infortrend также предоставляет 30-дневную пробную лицензию.

3.Соотношение между емкостью кэш-памяти контроллера и максимальным размером пула SSD Cache:

Если в системе разрешена работа SSD Cache, то кэш-память контроллера будет использовать некоторую часть пространства для сохранения “горячих” данных, и размер “горячих” записей в кэше контроллера будет определять максимальный поддерживаемый размер пула SSD. Для начальной комбинации (2 GB на контроллер) максимальный поддерживаемый размер пула SSD Cache равен 150 GB для одиночного контроллера и 300 GB для моделей с двойным избыточным контроллером.

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

4.Сброс контроллера(ов) для запуска SSD Cashe

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

5.Требования к SSD

В настоящее время один контроллер поддерживаеи до 4 SSD. Если вы хотите использовать функцию SSD Cache, проверьте, пожалуйста, числится ли выбранная вами модель SSD в квалификационном списке Infortrend Qualified Vendor List (QVL). Только SSD из нашего QVL могут применяться для улучшения характеристик хранилища, как описано в этом документе.

Заключение

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

Полный текст статьи с иллюстрациями вы можете скачать в виде pdf файла.

Детальное исследование влияния SSD-кэширования на производительность жестких дисков

Почти два года назад в свет вышел топовый на тот момент чипсет Intel Z68 , а вместе с ним дебютировала и технология Smart Response. Казалось бы, новая, но на деле имеющая глубокие корни - идея совместить в одной системе сильные стороны традиционных винчестеров и твердотельных накопителей давно витала в воздухе. Что для этого нужно? Нужно к винчестеру добавить некоторый объем флэша в качестве кэш-буфера. В идеальном случае в него со временем должны попасть секторы, к которым система обращается чаще всего, что и приведет к серьезному повышению производительности - доступ к SSD осуществляется быстрее. А на винчестере будут просто лежать данные и редко выполняемый код, благо его емкости для такого достаточно, а скорость запуска редко используемых программ не слишком критична. Еще более идеальным вариантом, конечно, является использование SSD большой емкости, но это решение идеально лишь с точки зрения производительности - стоимость хранения информации на твердотельных накопителях в разы выше, чем на винчестерах. А гибридизация позволяет обойтись относительно небольшим количеством флэша, что недорого и, в идеале, почти столь же быстро, как и использование одного только SSD.

Производители винчестеров подошли к решению вопроса со своей стороны, встраивая флэш-буфер прямо в винчестеры. С такими решениями мы уже знакомились и, в общем и целом, пришли к выводу, что они оправданы. Правда, до последнего времени они встречались лишь среди ноутбучных моделей, в чем есть большой смысл: сделать в условиях ноутбука гибридную систему своими руками (т. е. из нескольких накопителей) не всегда возможно. Поэтому надо ужиматься в один корпус, причем такой, который поместится в ноутбук, что всегда заставляло идти на компромиссы. В частности, те же Seagate Momentus XT содержали лишь 4 ГБ флэш-памяти в первом поколении и 8 ГБ - во втором. А вот в настольном компьютере гибкость больше. Можно, в общем-то, и просто поставить SSD гигабайт так на 240, чтоб туда все программы влезли, и большой винчестер для данных. А можно взять SSD поменьше и воспользоваться Smart Response. Тем более, что год назад количество «пригодных» чипсетов сильно увеличилось : к Z68 добавились новые Z77, H77 (несколько более дешевый), корпоративный Q77 и некоторое количество ноутбучных модификаций. Словом, есть где развернуться.

Поэтому сегодня мы решили более подробно исследовать работу технологии Smart Response. Вкратце-то мы с ней уже познакомились когда изучали Z68, но именно, что вкратце. А вот теперь - посмотрим подробно: что ускоряет, как ускоряет, что замедляет…

Что ускоряем?

В качестве рабочего тела мы решили взять Western Digital Green WD30EZRX, уже знакомый нам по одной из предыдущих статей . Очень хороший, как нам кажется, объект - «зеленая» серия (стало быть, не самая высокая производительность), да и в ее рамках накопитель не самый выдающийся из-за использования пластин низкой (с точки зрения современности) плотности. В общем, как мы уже убедились, использование его в роли системного и единственного - не слишком оправдано. Но может быть, Smart Response позволит нам переломить ситуацию?

Чем ускоряем?

Производители SSD постепенно раскачались, и сегодня выпускают уже немалое количество специальных кэширующих серий накопителей. Хотя, в принципе, подходят и обычные. Тем более, у многих энтузиастов остались некогда купленные твердотельные накопители емкостью 32-64 ГБ (на что, очень может быть, в Intel и рассчитывали, запуская Z68). Но мы решили подойти к вопросу «честно» и взяли кэширующий SSD AData Premier Pro SP300. Впрочем, ориентацию на подобное применение в основном выдает только его емкость в 32 ГБ и интерфейс mSATA. А так - вполне типичный твердотельный накопитель на базе уже немного устаревшего контроллера LSI SandForce SF-2141 с прошивкой версии 5.0.2a. В общем, если кому-то нужен небольшой SSD с таким интерфейсом (например, к такой вот плате в пару), то можно пользоваться. Мы же сегодня используем SP300 по прямому назначению:)

Как ускоряем?

Для работы технологии требуется плата на соответствующем чипсете, как минимум Windows Vista, установленный Intel Rapid Storage и RAID-режим дискового контроллера. Абсолютно все эти условия нашим стандартным тестом выполняются. В том числе, и RAID-режим, который мы используем всегда (даже для одиночных накопителей) как раз ради совместимости (т. е. пригодности для сравнения) результатов.

А дальше - все просто. Обнаружив наличие свободного SSD после загрузки компьютера, Intel Rapid Storage предлагает включить «ускорение работы». Далее нужно выбрать SSD, кэшируемый накопитель (если их несколько, как в нашем случае), определиться с выделяемой для кэширования емкостью (20 ГБ или весь объем SSD, но не более 64 ГБ - это полезно, если хочется «откусить» кусочек от большого накопителя, а оставшуюся часть использовать «нормальным» образом) и, самое главное, выбрать режим кэширования. Последних два: Enhanced и Maximized, отличающихся подходом к записи. Первый (который и выбран по умолчанию) ее, фактически, не кэширует - данные попадают на SSD только по решению драйвера: в основном по критерию частоты использования. Второй же, по сути, встраивает SSD между винчестером и системой: практически все операции записи перенаправляются именно на твердотельный накопитель, а на винчестер копируются уже с него - большими порциями и спустя определенный промежуток времени. Понятно, что вести они должны себя по-разному: в первом случае остается больше места для быстрого запуска программ, зато второй в теории должен позволять сильно ускорить операции записи со случайным доступом. Однако в нем больше вероятность вытеснения полезных данных чем-нибудь, что планировалось просто «сбросить и забыть», да к тому же есть определенная вероятность потерять данные: а вдруг SSD выйдет из строя до того, как успеют обновиться файлы на винчестере? В общем, Intel рекомендует использовать Enhanced, но мы, естественно, проверили оба режима.

Методика тестирования

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

Тестирование

Буферизованные операции



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

Время доступа

Запросы идут по всем 3 терабайтам винчестера, так что нет ничего удивительного, что в SSD они ничего не находят. Но хоть медленнее не становится - и то хорошо.

Здесь хорошо видно отличие режима Maximized ото всех остальных: записали на SSD, получили ответ о том, что операция выполнена успешно, и можно к следующим операциям переходить, а не ждать ответа именно от винчестера, что, как видим, требует в 50 раз больше времени.



В AS SSD та же картина. Только запись ускорилась сравнительно с Everest в «обычных» режимах, но не в Maximized - там уже и улучшать-то нечего:)

Последовательные операции

С определенного момента читать начинаем с SSD, а не с винчестера, а первый у нас пошустрее (хоть и не какая-нибудь модель «реактивной» производительности), так что все ускоряется. А вот в Maximized все плохо из-за усложненной логики: сначала драйвер проверяет, не были ли эти данные недавно записаны на SSD, а потом уже обращается к винчестеру, так что порцесс замедляется.

При записи картина обратная - тут уже режим Maximized способен немного увеличить производительность. Особенно на небольших блоках, что для SSD является более удобной операцией. А вот Enhanced лишь замедляет процесс: ведь нужно не только записать данные на винчестер, но и провести анализ, не стоит ли их сразу же и в кэш поместить.

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

Случайный доступ

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

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




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

Производительность в приложениях

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

На трассе «защитника» выигрыш в скорости уже приблизился к трехкратному.

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

И звездный час технологии - тут даже порядок величин разный. Одиночный SSD, конечно же, в пару раз быстрее (если говорить о высокопроизводительных моделях), но это уже разы. А от «обычных» винчестеров гибридную систему отделяет уже порядок величин.

На «игровой» трассе прирост скромнее, но он все-таки есть. Причем такой, что, опять же, даже самым быстрым винчестерам нечего ловить рядом с «зеленой» моделью, ускоренной при помощи Smart Response.

Приехали. Даже если не обращать внимание на то, что Maximized «завалил» работу на шаблоне ContentCreation (это-то легко поддается объяснению), остальные результаты оптимизма тоже не вызывают. Почему же так различается поведение PCMark7 и NASPT? А они работают по-разному. В PCMark7 есть семь записанных трасс, имеющих не такой уж большой суммарный объем. Причем прогоняются они по три раза, и первый - столь же медленный, как и при использовании винчестера. Однако ко второму все данные уже оказываются на SSD, так что тестируем мы по большей части именно его. Причем, заметим, три трассы все равно ускорить не удалось.

В NASPT тоже используется многократный запуск тестов, но всех - включая и шаблоны, «ворочающие» файлами по 32 ГБ. Таким образом, между двумя исполнениями «рабочих» шаблонов в обе стороны успевает «пролететь» пара сотен гигабайт. И каким бы умным ни был драйвер, в подобном раскладе, судя по всему, его мыслительных способностей недостаточно для того, чтобы разобраться, что надо держать в кэше, а что «записали и забыли». Если немного изменить методику тестирования, «прогоняя» несколько раз только группы из указанных шаблонов, подыграв тем самым технологии, все становится замечательно - начиная со второго раза скорость резко возрастает. Однако очевидно, что в реальной жизни бывает всякое: и «хорошие» ситуации, и «плохие», так что неудивительно, что и в тестировании оказались и те, и другие.

Эту диаграмму мы помещаем, скорее, из озорства, однако раз уж у нас есть результаты, то почему бы на них не посмотреть? А пример весьма показательный и открытым текстом намекающий на то, что пытаться ускорить при помощи Smart Response несистемные диски смысла не имеет. Впрочем, остановимся на этом вопросе чуть более подробно.

Работа с большими файлами

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

При записи данных Smart Response сильно замедляет работу. В максимальной степени - при использовании режима Maximized, что понятно: попытка реализовать отложенную запись 32 ГБ данных при помощи флэшки на те же 32 ГБ изначально обречена на провал. Ну а в режиме Enhanced этой проблемы нет, но есть другая: драйверу надо данные не только записывать, но и анализировать для последующего (возможного) использования. Так что неудивительно, что «прямая запись» оказывается самой быстрой - тут-то никаких сложностей нет.

Вот что иногда может улучшиться - так это производительность псевдослучайной записи одновременно с чтением. И то - незначительно. При последовательном же доступе к информации Smart Response немного замедляет работу. Тоже - незначительно.

Общий средний балл

Несмотря на все виденное выше, мы получили вполне уверенный прирост от Smart Response в среднем. Почему? Ну, как мы видели, в том же PCMark7 выигрыш очень весомый, что оказалось лишь частично скомпенсировано проигрышем в других тестах. К тому же низкоуровневая синтетика часто ведет себя очень интересным образом, причем далеко не все выкрутасы SR были показаны выше. Для примера рассмотрим пару шаблонов AS SSD, активно используемых нами в тестах SSD, но обычно «спрятанных с глаз» при тестировании винчестеров.

Все просто - тест работает с файлом размером 1 ГБ, который, естественно, мгновенно оказывается на SSD, так что в режиме Enhanced мы, практически, SSD и измерили. Maximized из-за своей специфики медленно работает с одним потоком чтения (накладные расходы сравнимы с основными), хотя даже тут «ускоряет» винчестер в 4 раза. Ну а на 64 потоках - во все 20 раз.

Запись практически ничего не дает Enhanced, поскольку данные все равно приходится записывать в файл на винчестере, зато если выбрать режим Maximized, получаем подтверждение рекламы Smart Response: ваш HDD будет работать как SSD! :) Такие результаты, естественно, тоже сказались на среднем балле, хотя, как видим, общий итог не такой уж и внушительный.

С подробными же результатами всех тестов, как мы и обещали, можно познакомиться, скачав таблицу в формате Microsoft Excel .

Итого

Анонс Z68 и Smart Response заинтересовал многих красотой идеи: берем маленький и дешевый SSD, емкий винчестер и… Получаем быструю гибридную систему хранения данных, собравшую в себе плюсы обеих технологий. Многим нравилось, что SSD вроде как будет кэшировать весь винчестер, что казалось преимуществом по сравнению с использованием SSD и HDD по отдельности - когда дисковая система четко разделена на «быструю» и «медленную» части. Словом, сплошной профит. Однако реальное положение дел оказалась чуть-чуть более сложным и неоднозначным.

Во-первых, как мы видим, от кэширования всего жесткого диска больше вреда, чем пользы - многие «типично винчестерные» операции замедляются, а не ускоряются. Во-вторых, дала трещину концепция «маленький и дешевый», поскольку сильно упали цены на твердотельные накопители. Работать над Smart Response в Intel начали порядка трех лет назад (может, двух с половиной, но не меньше - два года назад уже готовые продукты появились), когда стоимость 1 ГБ информации на твердотельном накопителе составляла порядка 3 долларов. Сейчас она упала ниже одного доллара, причем, поскольку снижение происходило в основном за счет увеличения плотности новых микросхем, цена от объема зависит нелинейным образом - чем больше, тем относительно дешевле. В практическом смысле это приводит к тому, что сегодня твердотельные накопители на 32 и 128 ГБ по цене различаются всего в два раза, а в абсолютных цифрах вся экономия скукоживается до примерно 50 долларов. А что такое 128 ГБ? Это емкость, достаточная для операционной системы и большого количества прикладных программ. У многих пользователей еще и на хранение данных при этом место останется. Ну а для той информации, скорость доступа к которой не критична, в настольной системе можно просто использовать винчестер большого объема. Самое же главное, что такой подход дает предсказуемость, которой не может похвастаться Smart Response, т. е., независимо от сценариев работы, программы всегда запускаются быстро . А не как получится:) В гибридной же системе может быть почти так же быстро, как с SSD, а может быть и столь же медленно, как при использовании одного лишь винчестера. Говоря простым языком, если какой-нибудь геймер день за днем играет в одну и ту же игру, то от Smart Response он получит такой прирост, как мы выше видели на трассе «Gaming» PCMark7 - ускорение в весомые два-три раза. А вот если у него установлен десяток игр, и каждый раз он выбирает из них одну случайным образом (что называется, «под настроение»), то получит он… шиш с маслом, который нам продемонстрировал NASPT: данные в флэш-кэше будут постоянно меняться, так что загрузка уровней, к примеру, останется столь же медленной, как и при использовании только винчестера: ведь, в основном, именно он и будет работать.

С другой стороны, назвать технологию бесполезной мы тоже не можем - все зависит от сценария использования. В том же игровом компьютере может быть интересной схема с двумя SSD и винчестером. Просто потому, что современные игры велики по объему, и держать их на основном твердотельном накопителе накладно - слишком большой и дорогой требуется. Но проблем можно избежать. К примеру, ставим SSD на 128 ГБ - под систему и основные приложения. Для игр и прочих «тяжелых» программ, которые не поместятся на первом накопителе, используем быстрый винчестер относительно небольшой емкости, дополнительно ускоренный при помощи SSD на 32 ГБ. А для хранения всяких мультимедийных данных, типа фильмов и прочего (что нынче нередко «живет» в больших количествах и на игровых компьютерах) - еще один винчестер. Большой по объему, низкооборотистый (стало быть, экономичный) и безо всяких «бустеров», которые при таком сценарии использования могут только помешать, но не помочь. Сложно? Дорого? Да, но вполне реализуемо. И такой способ использования разных технологий как раз и позволяет получить тот максимум, на который они способны.

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