Использование твердотельных накопителей SSD для повышения производительности СХД. Дисковая система: HDD, SSD и NVMe

Использование твердотельных накопителей SSD для повышения производительности СХД. Дисковая система: HDD, SSD и NVMe

Введение

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

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

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

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

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

Мы протестируем девять наиболее популярных SSD-твиков для операционной системы Windows 7:

  1. Отключение System Restore.
  2. Отключение индексации данных.
  3. Отключение файла подкачки.
  4. Отключение гибернации.

Режим AHCI и команда TRIM

Прежде, чем приступить к тонким системным твикам, необходимо удостовериться, что SATA-контроллер переведён в режим AHCI, а команда TRIM поддерживается Windows 7. Обе данные настройки, строго говоря, нельзя отнести к разряду оптимизаций для SSD – скорее, это требование к конфигурации компьютера, в котором используется твердотельный накопитель.

Режим AHCI (Advanced Host Controller Interface) - это специфический режим SATA-контроллера, который позволяет пользоваться горячей заменой дисков SATA и технологией NCQ (Native Command Queuing - встроенная очередь команд). Использование NCQ обеспечивает более высокое быстродействие дисковой подсистемы.

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

Не стоит забывать и о ещё одном важном аргументе в пользу AHCI: только в этом режиме работы контроллера вы можете воспользоваться поддержкой команды TRIM, которую обеспечивает операционная система Windows 7. Поддержка TRIM необходима для SSD-дисков, так как она помогает сохранять высокую производительность накопителя в течении длительного периода времени.

Согласно Википедии, TRIM - команда, позволяющая операционной системе уведомить твердотельный накопитель о том, какие блоки данных больше не используются и могут быть очищены накопителем самостоятельно. Применение TRIM позволяет устройству SSD уменьшить влияние "сборки мусора" (garbage collection), которая в противном случае в дальнейшем обернётся снижением скорости записи в затронутые секторы. Поддержка TRIM обеспечивает более стабильную скорость записи, а также снижает износ свободных ячеек памяти.

Как проверить, что контроллер SATA работает в режиме AHCI

Режим AHCI контроллера SATA можно выставить в настройках BIOS или UEFI вашей материнской платы. В большинстве современных материнских плат он устанавлен по умолчанию, но удостовериться в правильной настройке BIOS следует именно перед установкой Windows, а не после. Если Windows уже установлена, необходимо проверить, включён ли режим AHCI:

  • В меню "Пуск" выбираем "Панель управления".
  • На вкладке "Просмотр" выбираем режим отображения "Мелкие значки".
  • Выбираем "Диспетчер устройств".
  • В "Диспетчере устройств" находим ветку "IDE ATA/ATAPI контроллеры", разворачиваем её и ищем контроллеры AHCI.
  • Если AHCI-контроллер есть в списке, то система работает в режиме AHCI.
  • Если контроллеры AHCI в списке отсуствуют, то система запущена без поддержки AHCI.

  • Если вместо AHCI используется режим Legacy IDE, то рекомендуется переключится в режим ACHI. Однако при установленной ОС сделать это будет уже немного сложнее. Подробнее об этом описано в статье техподдержки на сайте Microsoft .

Как проверить, что включена команда TRIM

Если поддержка TRIM включена в Windows 7, то операционная система оправляет соответствующие команды SSD-накопителю. Убедиться, работает ли TRIM, также довольно просто:

  • В меню "Пуск" в поле поиска вводим cmd.
  • Кликаем правой кнопкой мыши по исполняемому файлу cmd.exe и выбираем "Запуск от имени администратора".
  • В командной строке вводим "fsutil behavior query DisableDeleteNotify" (без кавычек).
  • Если компьютер выдаёт DisableDeleteNotify = 0, поддержка TRIM включена.
  • Если выводится сообщение DisableDeleteNotify = 1, поддержка TRIM отключена.

Отключение System Restore

Перейдём к описанию более тонких системных оптимизаций. Первой из них на очереди стоит отключение System Restore - встроенной в Windows системы отката (восстановления) системы, использующей принцип "контрольных точек".

Отключение System Restore решает две задачи. Во-первых, вы снижаете число операций записи на SSD, что повышает его долговечность. Сегодня есть разные мнения относительно того, стоит ли волноваться об излишних операциях записи на SSD. Количество циклов перезаписи - основной параметр, который говорит нам о долговечности ячеек памяти, на основе которых создаются твердотельные накопители. Некоторые пользователи считают, что волноваться не стоит: вы вряд ли увидите тот день, когда ячейки памяти вашего SSD-накопителя прекратят хранить данные. Другие пользователи, напротив, делают всё, чтобы минимизировать количество циклов перезаписи. Однозначного ответа, кто из них прав, пока нет. Но если вы не полагаетесь на случай и относите себя к тем, кто не хочет рисковать, то отключение System Restore - это хороший вариант уменьшить нагрузку на ячейки памяти. Добавим, что "контрольные точки" System Restore недоступны для команды TRIM и регулярное использование данной функции Windows потенциально способно привести со временем к снижению производительности накопителя.

Вторая причина отказаться от восстановления системы - экономия свободного места на системном диске. Контрольные точки, созданные System Restore, хранятся на самом системном диске и "отъедают" недешёвое дисковое пространство на SSD. При этом далеко не всегда они обеспечивают полноценный откат системы. Как правило, безопаснее иметь полноценный образ системы, созданный с помощью специализированной утилиты (Norton Ghost, Acronis True Image). "Развернуть" такой образ на диск можно за считанные минуты и у вас будет уверенность, что получится вернуться к рабочей системе. Кроме того, не нужно хранить такой образ на самом системном диске - для этих целей можно использовать обычный винчестер или внешний диск.

Как отключить восстановление системы

  • Кликаем правой кнопкой мыши по значку "Компьютер" в меню "Пуск" и выбираем "Свойства".
  • Выбираем вкладку "Защита системы".
  • Кликаем по кнопке "Настроить".
  • Устанавливаем флажок напротив пункта "Отключить защиту системы".

Отключение индексации данных

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

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

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

Как отключить идексацию

  • Кликните левой кнопкой мыши по пункту "Компьютер" в меню "Пуск".
  • Кликните правой кнопкой по иконке вашего SSD-накопителя и выберите "Свойства".
  • Снимите флажок "Разрешить индексирование содержимое файлов на этом диске в дополнение к свойствам файла".
  • Должно появиться окно предупреждения - отменять индексацию только для выбранного диска либо для всех вложенных папок и каталогов. Выбираем второй вариант, нажимаем ОК.

Отключение файла подкачки

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

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

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

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

Как отключить файл подкачки

  • Кликните правой кнопкой по значку "Компьютер".
  • Выберите "Свойства".
  • Выберите "Дополнительные параметры системы".
  • Перейдите на вкладку "Дополнительно" и кликните по кнопке "Параметры" в разделе "Быстродействие".
  • Появится окошко "Параметры быстродействия". В нём нужно выбрать вкладку "Дополнительно" и в разделе "Виртуальная память" кликнуть по кнопке "Изменить".
  • Появится диалоговое окно "Виртуальная память". В нём нужно снять галочку с параметра "Автоматически выбирать объём файла подкачки".
  • Выбираем "Без файла подкачки", нажимаем кнопку "Задать".
  • Нажимаем OK, чтобы сохранить изменения и перезагружаем компьютер.

Отключение гибернации

Согласно справке Microsoft: "Режим гибернации - это режим пониженного потребления электроэнергии, разработанный в первую очередь для ноутбуков. При переходе в спящий режим все открытые документы и параметры сохраняются в памяти и компьютер переходит в режим пониженного потребления электроэнергии, а при переходе в режим гибернации все открытые документы и программы сохраняются на жёстком диске и затем компьютер выключается".

Эти данные сохраняются в скрытом системном файле Hiberfil.sys, который находится в корневой папке того диска, где установлена операционная система Windows. Служба Windows Kernel Power Manager создаёт этот файл в ходе установки Windows. Размер файла гибернации точно соответствует размеру оперативной памяти компьютера.

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

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

Как отключить режим гибернации

  • В строке поиска меню "Пуск" введите cmd.
  • Кликните правой кнопкой по исполняемому файлу cmd.exe и выберите "Запуск от имени администратора".
  • В командной строке введите "powercfg -h off" (без кавычек).
  • После завершения операции командная строка вернётся к состоянию ожидания новой команды.

Отключение Prefetch и SuperFetch

SuperFetch (Супер-выборка) - служба, осуществляющая кэширование наиболее часто используемых файлов. Учитывая минимальное время доступа SSD-накопителя, её можно отключить. При установке Windows 7 на твердотельный накопитель SuperFetch должна быть отключена автоматически.

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

Как отключить Prefetch и SuperFetch

  • Наберите Regedit в строке поиска меню "Пуск".

  • В реестре Windows необходимо найти ветку "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters".
  • Дважды кликните по ключу EnablePrefetcher.
  • В строке "Значение" поменяйте значение на 0 и нажмите ОК.
  • То же самое повторите с ключом EnableSuperfetch.
  • Перезагрузите компьютер.

Отключение очистки буфера кэша записей Windows

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

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

Как отключить очистку буфера кэша записей

  • Кликните правой кнопкой по значку "Компьютер" в меню "Пуск", затем нажмите "Свойства".
  • Выберите "Диспетчер устройств".
  • Разверните ветку "Дисковые устройства".
  • Кликните правой кнопкой мыши по SSD-накопителю и выберите "Свойства".
  • На вкладке "Политика" установите флажок напротив "Отключить очистку буфера кэша записей Windows для этого устройства".

Отключение SuperFetch и Windows Search через "Службы"

О назначении SuperFetch мы уже писали ранее, а здесь лишь предложим ещё один вариант отключения данной функции через "Службы" Windows.

Что касается Windows Search, то смысл данной функции ясен из названия. Windows Search индексирует файлы и папки на вашем ПК. Этот индекс расположен в скрытой папке C:\ProgramData\Microsoft\Search и занимает около 10% самих файлов, индексированных системой. Когда вы ищите что-либо на компьютере, используя встроенный поиск Windows, часть индекс-файла загружается в оперативную память, что существенно ускоряет случайный поиск. Но если система установлена на быстрым SSD-накопителе, то увеличение производительности от использования данной функции вряд ли будет заметно и есть смысл освободить место на жёстком диске, отключив службу Windows Search.

Как отключить SuperFetch и Windows Search

  • Нажав комбинацию клавиш Windows + R, вызовите диалоговое окно "Выполнить".
  • Наберите "services.msc" (без кавычек), нажмите Enter.
  • В появившемся окошке "Службы" найдите Superfetch и кликните по названию дважды мышкой.

  • В меню "Тип запуска" выберите "Отключена", затем нажмите OK.
  • В списке служб найдите Windows Search, кликните дважды мышкой.
  • Кликните по кнопке "Остановить", в списке "Тип запуска" выберите "Отключена", затем нажмите ОК.

Отключение ClearPageFileAtShutdown и LargeSystemCache

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

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

Если вы установили Windows 7 на SSD, есть большая вероятность, что обе данные функции были автоматически отключены при установке системы, но на всякий случай можно проверить это и просмотреть соответствующие ветки реестра:

  • Нажав комбинацию клавиш Windows + R, вызовите диалоговое окно "Выполнить" (Run).
  • Наберите "regedit" (без кавычек) и нажмите Enter.

  • Откройте ветку реестра "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management"
  • Дважды кликните по ключам ClearPageFileAtShutdown и LargeSystemCache, установив значение 0 для каждого из них.
  • Перезагрузите компьютер.

Настройка плана электропитания

Данная настройка позволит SSD в режиме ожидания обрабатывать "сборку мусора", даже если работа за компьютером не производится:

  • Заходим в "Панель управления".
  • Выбираем "Электропитание", затем разворачиваем список "Показать дополнительные планы электропитания".
  • Выбираем профиль "Высокая производительность".
  • Кликаем мышью по "Настройке плана электропитания", кликаем по "Изменить дополнительные параметры электропитания".
  • В появившемся диалоговом окне разворачиваем список "Жёсткий диск".
  • В окошке "Отключать жёсткий диск через" вводим 0, что означает "Никогда".
  • Нажимаем ОК.


Тестовая конфигурация

Тестовое оборудование
Процессор Intel Core i7-920 (Bloomfield), 45 нм, 3,2 ГГц, 8 Мбайт кэша L3
Материнская плата (LGA 1366) EVGA 132-BL-E758-TR, чипсет Intel X58 Express/ICH10R, версия BIOS: 6.00 PG
Оперативная память 6 Гбайт (3x2 Гбайт) DDR3-1600 OCZ Platinum (OCZ3P1600LV6GK)
Жёсткий диск Samsung Spinpoint F3 1 Тбайт (103SJ), прошивка 1AJ10001
SSD-накопители Intel X25-M G2 80 GB (SSDSA2M080G2GC), прошивка 2CV102M3

OCZ Vertex 2 240 GB (P75HAVO6H3N8E278), прошивка 1.29

Видеокарта EVGA SuperClocked 01G-P3-1563-AR GeForce GTX 560 Ti (Fermi) 1 Гбайт 256-bit GDDR5 (SLI)
Блок питания Corsair CMPSU-850TX

Программное обеспечение и драйверы
Операционная система Windows 7 Ultimate 64-Bit
Драйвер SATA Intel Rapid Storage Technology Driver 10.1.0.1008

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

Для тестирования "чистой" Windows без оптимизаций перед установкой Windows 7 мы использовали Secure Erase для каждого из принимавших участие в тесте SSD-накопителей.

Между тестами выдерживался промежуток в два дня, чтобы избежать снижения производительности диска вследствие многочисленных операций записи и накопления "сборки мусора", способной существенно снизить скоростные характеристики накопителя OCZ на базе контроллера SandForce SF-1200.

Кроме того, мы разметили накопитель OCZ Vertex 2 таким образом, чтобы система видела 74,4 Гбайт. Это необходимо, чтобы обеспечить равную ёмкость с накопителем второго поколения Intel X25-M и увеличить область "перекрытия" данных на OCZ Vertex 2.

CrystalDiskMark 3.0

Для начала, посмотрим на производительность в CrystalDiskMark 3.0 x64, обратив внимание на скорость чтения и записи. Ещё раз повторим, о каких настройках идёт речь:

  1. Отключение System Restore.
  2. Отключение индексации данных.
  3. Отключение файла подкачки.
  4. Отключение гибернации.
  5. Отключение prefetching (упреждающее чтение).
  6. Отключение очистки кэша записей Windows.
  7. Отключение SuperFetch (Супервыборка) и Windows Search.
  8. Отключение ClearPageFileAtShutdown и LargeSystemCache.
  9. Настройка плана электропитания.

Чтобы избежать большого количества подробных графиков, мы объединили системные твики: вначале применялись только первые четыре, а потом - все вместе. Естественно, на графиках присутствуют и результаты "чистой" Windows 7 (без применения твиков), установленной на диск, который был предварительно очищен с помощью Secure Erase.


Посмотрев на графики, мы видим, что в тесте на чтение оба SSD-накопителя демонстрируют незначительную разницу в производительности до и после применения твиков.


В тесте на производительность записи картина несколько интереснее. На этот раз, разница в производительности после применения твиков действительно есть. Но результаты сами по себе весьма неоднозначны. С одной стороны, скорость OCZ Vertex 2 в тесте на запись случайных блоков по 4 килобайта выросла на 20 Мбайт/с. Но в случае с Intel X25-M наблюдается резкое снижение производительности в случае применения всех оптимизаций. Результаты применения только первых четырёх твиков мало отличаются от "чистого" диска, так что проблема, по всей видимости, находится в твиках из второй половины списка - возможно, это связано с отключением очистки кэша записей Windows.

Увеличение ёмкости накопителя

Нас совсем не удивило, что первые четыре оптимизации не оказывают принципиального воздействия на производительность SSD в CrystalDiskMark. Эти настройки, скорее, ориентированы на очистку дискового пространства. Но можно ли рассчитывать, что они действительно помогут увеличить объём доступного пространства на диске?

При применении твиков из первой группы, объём доступного дискового пространства увеличивается на 10 Гбайт и примерно одинаков для обоих накопителей. Для SSD-накопителя небольшого объёма, который используется в качестве системного, этот результат весьма ощутимый - из расчёта нынешней стоимости гигабайта дискового пространства SSD, вы съэкономите около $25. Освободившегося на диске места вполне хватит для установки одной-двух игр.

Iometer

При работе с базами данных "чистые" SSD превосходят "оптимизированные". Intel X25-M пострадал от оптимизаций больше, чем накопитель OCZ: его производительность падает в два раза практически при любом значении глубины очереди. Результаты, показанные Vertex 2, совпадают на глубине от 1 до 2 и от 16 до 64, но на отрезке от 4 до 8 системные твики немного снижают производительность.

Схожую картину мы наблюдается в серверном сценарии Iometer. Производительность Intel X25-M снижается более чем в два раза (за исключением глубины очереди 4, где результаты странным образом совпадают), в то время как "оптимизированный" накопитель OCZ демонстрирует примерно такую же производительность, как и "чистый".

В сценарии "веб-сервер" различия между дисками до и после "оптимизации" незначительны. Intel X25-M впервые показывает небольшой прирост производительности, OCZ Vertex 2 – наоборот, после применения твиков работает немного медленнее.

В сценарии нагрузки рабочей станции результаты практически повторяют графики сценария файл-сервера. Производительность Intel X25-M падает почти вдвое на всех значениях глубины очереди, кроме 4. Графики OCZ Vertex 2 до и после применения твиков совпадают, за исключением глубины очереди от 4 до 16, где "оптимизированный" накопитель демонстрирует чуть лучший результат.

Iometer Streaming


Графики потокового чтения напоминают графики сценария "веб-сервер". Intel X25-M показывает небольшое увеличение производительности на любой глубине очереди, а OCZ Vertex 2, после применения твиков, несколько уступает "чистому" диску на глубине от 8 до 16.


В тестах на потоковую запись графики средней скорости и количества операций ввода/вывода показывают одинаковую картину. Производительность OCZ Vertex 2 после применения твиков не изменяется. "Оптимизированный" Intel X25-M почти в два раза медленнее на всех значениях глубины очереди, кроме 2 и 32.

Чтение и запись случайных блоков по 4 кбайт

В тесте на случайное чтение Intel X25-M вновь демонстрирует небольшой прирост производительности, в то время как OCZ Vertex 2 после твиков работает несколько медленнее.

В тесте на потоковую запись блоками по 4 кбайт накопитель OCZ до и после применения твиков показывает идентичный результат на всех значениях глубины очереди. "Оптимизированный" Intel X25-M G2 на глубине от 1 до 4 работает медленнее "чистого" диска.

PCMark Vantage Storage


Общая оценка производительности дисковой подсистемы в PCMark Vantage, после применения всех твиков, чуть выше для накопителя OCZ, но заметно (почти в два раза) ниже для Intel X25-M. В сценарии загрузки приложений негативное воздействие "оптимизаций" на производительность касается уже обоих накопителей. В случае OCZ Vertex 2 скорость загрузки приложений снижается на 18 Мбит/с, а Intel X25-M работает в два раза медленнее.

В игровой производительности OCZ вновь теряет 10 Мбайт/с. Intel X25-M, напротив, показывает увеличение производительности примерно на 10 Мбайт/с после применения всех твиков.

В редактировании видео с помощью Windows Movie Maker мы вновь видим, что "оптимизации" негативно отражаются на производительности обоих накопителей. Для OCZ разница незначительна, но диск Intel работает значительно медленнее: скорость падает с 130,54 Мбайт/с до 48,47 Мбайт/с.

Тест на производительность Windows Defender в очередной раз демонстрирует снижение скоростных характеристик. Оба диска работают медленнее после применения твиков, хотя ситуация с Intel X25-M не столь печальна, как в предыдущем испытании.

Не меняется ситуация и в Windows Media Center. Производительность Intel X25-M снижается почти в два раза, OCZ Vertex 2 показывает снижение скорости на 30 Мбайт/с.

В сценарии добавления музыки в библиотеку Windows Media Player мы видим снижение производительности Intel X25-M примерно в три раза(!). Для накопителя OCZ применение твиков привело к снижению скорости на 6,72 Мбайт/с, что намного менее критично.

В сценарии импортирования изображений в библиотеку Windows Photo Gallery мы видим более интересную картину. Диск OCZ по-прежнему работает немного медленнее после "оптимизаций", но в данном случае разница незначительна. Зато Intel X25-M, наоборот, демонстрирует ощутимый прирост производительности.

Сценарий загрузки Windows Vista повторяет результаты, которые мы наблюдали в нескольких более ранних тестах. Снижение производительности для OCZ Vertex 2 незначительно, но накопитель Intel после всех "оптимизаций" работает ощутимо медленнее - скорость снижается с 198,33 Мбайт/с до 107,52 Мбайт/с.

Что не так с отключеним очистки буфера кэша записей?

Основываясь на результатах наших тестов становится понятно, почему Intel рекомендует не отключать очистку буфера кэша записей Windows для своих SSD. Чтобы визуализировать негативное влияние данного твика, мы повторно запустили тест на запись бенчмарка CrystalDiskMark 3.0 x64 с тремя конфигурациями настроек:

  1. "Чистая" установка Windows на диск после Secure Erase.
  2. Windows cо всеми твиками включая отключённую очистку буфера кэша записей.
  3. Windows со всеми твиками, кроме очистки буфера кэша.

Таким образом, мы увидим, влияют ли на снижение производительности все остальные "оптимизации", рекомендуемые для владельцев SSD.

Когда применены все твики, включая очистку буфера кэша, производительность Intel X25-M G2 существенно снижается. Наиболее печальную картину мы видим в тестах на запись блоков данных по четыре килобайта: здесь скорость записи падает до 4 Мбайт/с. Если же применить все оптимизации, за исключением очистки буфера, то производительность накопителя Intel возвращается примерно к тому же уровню, что и в случае "чистой" Windows. Несомненно, необходимо следовать рекомендации Intel и отказаться от отключения буфера кэша записей, если в вашем распоряжении есть твердотельный накопитель данного производителя.

Выводы

Понятно, что схема оптимизации SSD с помощью системных твиков не настолько проста и логична, чтобы её можно было представить в виде краткой "инструкции для чайников". Некоторые твики приводят к снижению производительности. Некоторые, напротив, её повышают. Некоторые увеличивают доступное пространство на диске. Часть из них автоматически производятся при установке Windows 7 на SSD-накопитель.

Наиболее интересный момент тестирования производительности накопителя до и после применения "оптимизаций" заключается в том, что мы можем получить количественную оценку воздействия того или иного твика на производительность. Например, теперь мы точно знаем, что отключение очистки буфера кэша записей Windows на накопителях Intel является однозначно плохой идеей. OCZ Vertex 2, напротив, вполне нормально отреагировал на любой из девяти твиков. Вопрос, который мы приберегли для заключительной части нашей статьи, заключается в том, какой выигрыш даёт оптимизация SSD при помощи системных твиков для компьютерных энтузиастов, всегда стремящихся извлечь максимальную выгоду из потраченных на подобный накопитель денег.

Возможно, самый главный мотив, чтобы всё-таки оптимизировать работу SSD, заключается в увеличении доступного места на диске. Возможность освободить сколько-нибудь места на диске можно только приветствовать. На диске объёмом 40 или 60 Гбайт, уже заполненном под завязку операционной системой и приложениями, даже несколько "дополнительных" гигабайт станут более чем ощутимым бонусом. В нашем тесте мы смогли освободить 10 Гбайт на SSD-накопителе объёмом 80 Гбайт, используя несколько системных твиков. И хотя эти настройки являются самыми спорными с точки зрениях их воздействия на производительность, они, без сомнений, найдут применение в руках опытного пользователя, который понимает, что делает.

Мы предполагаем, что наибольшее отторжение наш материал вызовет у тех пользователей, которые просто не могут зайти дальше отключения файла подкачки. Есть серьёзные аргумент как за, так и против данной "оптимизации". Мы пока воздержимся от того, чтобы рекомендовать отключение файла подкачки или, наоборот, советовать воздержаться от этого. Отметим лишь то, что отключение файла подкачки имеет смысл лишь на тех машинах, где имеется достаточное количество оперативной памяти. Если вы хотите защитить себя от сбоев системы, работая без файла подкачки, то при пиковой загрузке должно оставаться от 25 до 50 процентов от общего объёма оперативной памяти. Иными словами, если в системе установлено 6 Гбайт оперативной памяти, то в ситуации пиковой загрузки должно оставаться свободным 3,5-4 гигабайта. Если это не так, перед отключением файла подкачки имеет смысл подумать об увеличении объёма оперативной памяти, в противном случае существует риск нестабильной работы компьютера и потери данных.

Помимо увеличения свободного дискового пространства, ещё одним мотивом оптимизации SSD является минимизация операций записи на диск. Применяемая в твердотельных накопителях MLC-память имеет ограниченное число гарантированных циклов перезаписи и есть вполне реальная вероятность, что после определённого числа операций перезаписи ячейка просто откажется принимать новые данные. Хотя мы не располагаем каким-либо инструментом, с помощью которого можно было бы определить состояние ячеек на диске прямо сейчас, шумиха вокруг потенциальной ненадёжности такого рода накопителей намного больше, чем реальная ненадёжность. Чтобы убедиться в этом, достаточно, для примера, изучить спецификации Intel. Несмотря на переход в серии SSD 320 к потенциально менее стойкой MLC-памяти, изготовленной по техпроцессу 25 нм, компания Intel увеличила срок гарантии с трёх до пяти лет. С учётом этого факта, оптимизация диска с целью уменьшения числа циклов перезаписи не представляется нам необходимой.

В конечном итоге, именно вам решать, какие из перечисленных твиков стоят того, чтобы применить их на вашей системе. Компания Microsoft несколько облегчила данную задачу для пользователей Windows 7, так как некоторые из оптимизаций автоматически применяются при установке системы на SSD, так что повторно настраивать их вручную уже нет необходимости. Если вы готовы взять на себя определённый риск, то остаётся возможность освободить немного места на SSD, однако на прирост производительности в результате таких оптимизаций рассчитывать не стоит.

Детальное исследование влияния 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, понять, что именно вы собираетесь сделать и как это должно работать. Впрочем, это верно для всех современных технологий.

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

КЭШИРОВАНИЕ ПРИ ЧТЕНИИ-ЗАПИСИ

Операция чтения при отсутствии данных в кэш-памяти происходит следующим образом:

  1. Данные считываются с HDD.
  2. Выполняется операция наполнения SSD.

Операция чтения при наличии данных в кэш-памяти:

  1. Приложение подает запрос на чтение данных.
  2. Данные считываются с SSD.
  3. Запрошенные данные возвращаются приложению.
  4. При сбое SSD данные считываются с HDD.

Действия приложения при записи данных:

  1. Приложение подает запрос на запись данных.
  2. Данные записываются на HDD.
  3. Приложению возвращается статус операции.
  4. Выполняется операция наполнения кэш-памяти на SSD.

НАСТРОЙКА КЭШ-ПАМЯТИ SSD

Чтобы приложение использовало кэш-память на SSD максимально эффективно, ее можно настроить. Основные параметры - размер блока кэш-памяти, пороговые значения наполнения при чтении и при записи.

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

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

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

Как можно видеть, увеличение или уменьшение каждого параметра имеет свои положительные и отрицательные последствия. Очень важно понимать «локальность» приложения. Кроме того, полезно протестировать систему на реальных нагрузках и посмотреть, при каких параметрах она показывает лучшие результаты.

ПРИМЕР КОНФИГУРАЦИИ КЭША НА БАЗЕ SSD

В тесте моделировалась типовая ситуация ввода-вывода (произвольное чтение 90% + запись 10%) для определения выигрыша, который дает использование SSD-кэша. При тестировании применялась система AegisSAN Q500 в следующей конфигурации:

  • HDD: Seagate Constellation ES, ST1000NM0011, 1 Тбайт, SATA 6 Гбит/с (x8);
  • SSD: Intel SSD DC 3500, SSDSC2BB480G4, 480 Гбайт, SATA 6 Гбит/с (x5);
  • RAID-группа: RAID 5;
  • тип ввода-вывода: Database Service (8 Кбайт);
  • режим ввода-вывода: блоки по 8 Кбайт.

Время «разогрева» вычисляется по следующей формуле:

T = (C × P) / (I × S × D),

где T - время «разогрева», I - средняя производительность в IOPS одного HDD при произвольном чтении, S - размер блока ввода-вывода, D - число HDD, C - совокупная емкость всех SSD, P - пороговое значение наполнения кэш-памяти при чтении или записи. На практике «разогрев» кэша может занять больше времени.

Для данной конфигурации оно составит:

Т = (2 Тбайт × 2) / (244 × 8 Кбайт × 8) = 275 036,33 сек = 76,40 ч.

Без кэширования на SSD средняя производительность составила 962 IOPS. При включении кэширования она выросла до 1942 IOPS, то есть улучшение после «разогрева» кэша оказалось двукратным - 102%. Согласно расчетной формуле время разогрева равно 76,4 ч, в тесте после 75 ч производительность в IOPS достигла максимальной величины и оставалась после этого стабильной.

ЗАКЛЮЧЕНИЕ

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

Бартек Митник - директор по продажам компании Qsan Technology в регионе EMEA.

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


    Поэтому в этой статье рассмотрю три неплохих варианта использования SSD-дисков для ускорения подсистемы хранения.

    Почему просто не собрать массив из SSD – немного теории и рассуждений на тему

    Чаще всего твердотельные накопители рассматривают просто как альтернативу HDD, с большей пропускной способностью и IOPS. Однако, такая замена "в лоб" часто стоит слишком дорого (брендовые диски HP, например, стоят от $2 000), и в проект возвращаются привычные накопители SAS. Как вариант, быстрые диски просто используются точечно.


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


    В серверах используют SSD с интерфейсом SATA, либо более производительные SAS и PCI-E. Большинство представленных на рынке серверных SSD с интерфейсом SAS продаются под брендами HP, Dell и IBM. К слову, даже в брендовых серверах можно использовать диски OEM-производителей Toshiba, HGST (Hitachi) и других, которые позволяют сделать апгрейд максимально дешевым при схожих характеристиках.


    С широким распространением SSD был разработан отдельный протокол доступа к дискам, подключенным к шине PCI-E – NVM Express (NVMe). Протокол разработан с нуля и значительно превосходит своими возможностями привычные SCSI и AHCI. С NVMe обычно работают твердотельные диски с интерфейсами PCI-E, U.2 (SFF-8639) и некоторые M.2, которые быстрее обычных SSD более чем вдвое . Технология относительно новая, но со временем она обязательно займет свое место в самых быстрых дисковых системах.


    Немного про DWPD и влияние этой характеристики на выбор конкретной модели.

    При выборе твердотельных дисков с интерфейсом SATA следует обращать внимание на параметр DWPD, который определяет долговечность диска. DWPD (Drive Writes Per Day) – это допустимое количество циклов перезаписи всего диска в сутки на протяжении гарантийного периода. Иногда встречается альтернативная характеристика TBW/PBW (TeraBytes Written, PetaBytes Written) – это заявленный объем записи на диск на протяжении гарантийного периода. В SSD для домашнего использования показатель DWPD может быть меньше единицы, в так называемых "серверных" SSD - 10 и более.


    Такая разница возникает из-за разных типов памяти:

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

      MLC NAND . В каждой ячейке хранится уже два бита информации – самый популярный тип памяти.

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

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

    Таким образом, при точечной замене обычных дисков твердотельными логично использовать MLC-модели в RAID 1, что даст отличную скорость при том же уровне надежности.


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

    По-прежнему высокая стоимость твердотельных накопителей заставляет задуматься об альтернативном их использовании, помимо точечной замены или использования СХД на базе одних лишь SSD.

    Расширяем кэш RAID-контроллера

    От размера и скорости кэша RAID-контроллера зависит скорость работы массива в целом. Расширить этот кэш можно с помощью SSD. Технология напоминает решение от Intel.


    При использовании подобного кэша данные, которые используются чаще, хранятся на кэширующих SSD, с которых производится чтение или дальнейшая запись на обычный HDD. Режимов работы обычно два, аналогично привычному RAID: write-back и write-through.


    В случае write-through ускоряется только чтение, а при write-back – чтение и запись.


    Подробнее об этих параметрах вы можете прочитать под спойлером.

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

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

    Для работы обычно требуется специальная лицензия или аппаратный ключ. Вот конкретные названия технологии у популярных на рынке производителей:

      LSI (Broadcom) MegaRAID CacheCade. Позволяет использовать до 32 SSD под кэш, суммарным размером не более 512 ГБ, поддерживается RAID из кэширующих дисков. Есть несколько видов аппаратных и программных ключей, стоимость составляет около 20 000 р;

      Microsemi Adaptec MaxCache. Позволяет использовать до 8 SSD в кэше в любой конфигурации RAID. Отдельно лицензию покупать не нужно, кэш поддерживается в адаптерах серии Q;

    • HPE SmartCache в серверах ProLiant восьмого и девятого поколения. Актуальная стоимость доступна по запросу.

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


    В качестве иллюстрации работы RAID-кэша на базе SSD можно привести следующие графики:



    StorageReview – сравнение производительности разных массивов при работе с базой данных: использованы обычные диски и их альтернатива на базе LSI CacheCade.


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

    Быстрый кэш без контроллера

    Помимо программного RAID существует и программный SSD-кэш. В Windows Server 2012 появилась интересная технология Storage Spaces, которая позволяет собирать RAID-массивы из любых доступных дисков. Накопители объединяются в пулы, на которых уже размещаются тома данных – схема напоминает большинство аппаратных систем хранения. Из полезных возможностей Storage Spaces можно выделить многоярусное хранение (Storage Tiers) и кэш записи (write-back cache).



    Storage Tiers позволяет создавать один пул из HDD и SSD, где более востребованные данные хранятся на SSD. Рекомендованное соотношение количества SSD к HDD 1:4-1:6. При проектировании стоит учитывать и возможность зеркалирования или четности (аналоги RAID-1 и RAID-5), так как в каждой части зеркала должно быть одинаковое количество обычных дисков и SSD.


    Кэш записи в Storage Spaces ничем не отличается от обычного write-back в RAID-массивах. Только здесь необходимый объем "откусывается" от SSD и по умолчанию составляет один гигабайт.

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


    Поэтому в этой статье рассмотрю три неплохих варианта использования SSD-дисков для ускорения подсистемы хранения.

    Почему просто не собрать массив из SSD – немного теории и рассуждений на тему

    Чаще всего твердотельные накопители рассматривают просто как альтернативу HDD, с большей пропускной способностью и IOPS. Однако, такая замена "в лоб" часто стоит слишком дорого (брендовые диски HP, например, стоят от $2 000), и в проект возвращаются привычные накопители SAS. Как вариант, быстрые диски просто используются точечно.


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


    В серверах используют SSD с интерфейсом SATA, либо более производительные SAS и PCI-E. Большинство представленных на рынке серверных SSD с интерфейсом SAS продаются под брендами HP, Dell и IBM. К слову, даже в брендовых серверах можно использовать диски OEM-производителей Toshiba, HGST (Hitachi) и других, которые позволяют сделать апгрейд максимально дешевым при схожих характеристиках.


    С широким распространением SSD был разработан отдельный протокол доступа к дискам, подключенным к шине PCI-E – NVM Express (NVMe). Протокол разработан с нуля и значительно превосходит своими возможностями привычные SCSI и AHCI. С NVMe обычно работают твердотельные диски с интерфейсами PCI-E, U.2 (SFF-8639) и некоторые M.2, которые быстрее обычных SSD более чем вдвое . Технология относительно новая, но со временем она обязательно займет свое место в самых быстрых дисковых системах.


    Немного про DWPD и влияние этой характеристики на выбор конкретной модели.

    При выборе твердотельных дисков с интерфейсом SATA следует обращать внимание на параметр DWPD, который определяет долговечность диска. DWPD (Drive Writes Per Day) – это допустимое количество циклов перезаписи всего диска в сутки на протяжении гарантийного периода. Иногда встречается альтернативная характеристика TBW/PBW (TeraBytes Written, PetaBytes Written) – это заявленный объем записи на диск на протяжении гарантийного периода. В SSD для домашнего использования показатель DWPD может быть меньше единицы, в так называемых "серверных" SSD - 10 и более.


    Такая разница возникает из-за разных типов памяти:

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

      MLC NAND . В каждой ячейке хранится уже два бита информации – самый популярный тип памяти.

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

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

    Таким образом, при точечной замене обычных дисков твердотельными логично использовать MLC-модели в RAID 1, что даст отличную скорость при том же уровне надежности.


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

    По-прежнему высокая стоимость твердотельных накопителей заставляет задуматься об альтернативном их использовании, помимо точечной замены или использования СХД на базе одних лишь SSD.

    Расширяем кэш RAID-контроллера

    От размера и скорости кэша RAID-контроллера зависит скорость работы массива в целом. Расширить этот кэш можно с помощью SSD. Технология напоминает решение Smart Response от Intel.


    При использовании подобного кэша данные, которые используются чаще, хранятся на кэширующих SSD, с которых производится чтение или дальнейшая запись на обычный HDD. Режимов работы обычно два, аналогично привычному RAID: write-back и write-through.


    В случае write-through ускоряется только чтение, а при write-back – чтение и запись.


    Подробнее об этих параметрах вы можете прочитать под спойлером.

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

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

    Для работы обычно требуется специальная лицензия или аппаратный ключ. Вот конкретные названия технологии у популярных на рынке производителей:

      LSI (Broadcom) MegaRAID CacheCade. Позволяет использовать до 32 SSD под кэш, суммарным размером не более 512 ГБ, поддерживается RAID из кэширующих дисков. Есть несколько видов аппаратных и программных ключей, стоимость составляет около 20 000 р;

      Microsemi Adaptec MaxCache. Позволяет использовать до 8 SSD в кэше в любой конфигурации RAID. Отдельно лицензию покупать не нужно, кэш поддерживается в адаптерах серии Q;

    • HPE SmartCache в серверах ProLiant восьмого и девятого поколения. Актуальная стоимость доступна по запросу.

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


    В качестве иллюстрации работы RAID-кэша на базе SSD можно привести следующие графики:



    StorageReview – сравнение производительности разных массивов при работе с базой данных: использованы обычные диски и их альтернатива на базе LSI CacheCade.


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

    Быстрый кэш без контроллера

    Помимо программного RAID существует и программный SSD-кэш. В Windows Server 2012 появилась интересная технология Storage Spaces, которая позволяет собирать RAID-массивы из любых доступных дисков. Накопители объединяются в пулы, на которых уже размещаются тома данных – схема напоминает большинство аппаратных систем хранения. Из полезных возможностей Storage Spaces можно выделить многоярусное хранение (Storage Tiers) и кэш записи (write-back cache).



    Storage Tiers позволяет создавать один пул из HDD и SSD, где более востребованные данные хранятся на SSD. Рекомендованное соотношение количества SSD к HDD 1:4-1:6. При проектировании стоит учитывать и возможность зеркалирования или четности (аналоги RAID-1 и RAID-5), так как в каждой части зеркала должно быть одинаковое количество обычных дисков и SSD.


    Кэш записи в Storage Spaces ничем не отличается от обычного write-back в RAID-массивах. Только здесь необходимый объем "откусывается" от SSD и по умолчанию составляет один гигабайт.



    © 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows