Тестируем массив из SSD на RAID-контроллерах нескольких поколений

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

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

Участники тестирования

Новых накопителей в этот раз не будет. Все они уже участвовали в . Разница лишь в их количестве.

OCZ Vertex 3 Max IOPS, 128 Гбайт


Одиночный Vertex 3 Max IOPS был протестирован в обзоре Vertex 4 . Здесь он выступает в роли «среднего среди лучших» в весовой категории 128 Гбайт.

Прошивка перед тестированием в массивах была обновлена до версии 2.22. Кстати, CrystalDiskInfo 5.0 научился видеть параметры дисков внутри RAID.

Crucial M4, 64 Гбайта


Данный SSD участвовал в статье о накопителях Plextor и проявил себя как весьма шустрый для такого объема накопитель. Основная задача – проверить, как массив из маленьких дисков справится с одним большим.

Использовалась последняя доступная прошивка, а именно 000F.

WD Caviar Blue, 500 Гбайт


Этот уже в полном смысле слова ветеран был протестирован в обзоре кэширующих SSD , а знакомство с линейкой AAKX состоялось еще в 2010м году. Несмотря на то, что Western Digital уже вовсю осваивает терабайтные «блины», этот жесткий диск еще не снят с производства. Возраст же работающих у людей «винчестеров» достигает десятка лет, многие не меняют их до момента поломки, так что можно утверждать, что модель двухлетней давности будет быстрее среднестатистического диска. Если это ваш случай, можете прикинуть, насколько SSD будут быстрее.

Значения S.M.A.R.T. с момента прошлого знакомства «подросли», тем не менее, накопитель в хорошем состоянии.

Сводная таблица технических характеристик

Модель OCZ Vertex 3 Max IOPS Crucial M4 WD Caviar Blue
Номер модели VTX3MI-25SAT3-120G CT064M4SSD2 WD5000AAKX-001CA0
Объем, Гбайт 120 64 500
Форм-фактор 2.5” 2.5” 3.5”
Интерфейс SATA-III SATA-III SATA-III
Версия прошивки 2.15 0309 15.01H15
Устройство Контроллер SandForce SF-2281
+ Toshiba 34 нм синхр.
Toggle Mode FLASH
Контроллер Marvell 88SS9174
+ Micron 25 нм синхр.
ONFI FLASH
1 пластина 500 Гбайт,
7200 об/мин
+ 2 головки
Кэш, Мбайт Нет 128 16

Тестовый стенд и методика тестирования

Тестовый стенд:

  • Материнская плата: ASRock Z68 Extreme7 Gen3 (BIOS 1.30);
  • Процессор: Intel Core i7-2600K, 4.8 ГГц (100 х 48);
  • Система охлаждения: GELID Tranquillo Rev.2;
  • Оперативная память: G.SKILL Ripjaws Z, F3-17000CL9Q-16GBZH (1866 МГц, 8-10-9-26 1N) 2x4 Гбайта;
  • Жесткий диск: WD Caviar Blue, WD3200AAKX-001CA0, 320 Гбайт;
  • Видеокарта: ASUS GTX 580 DirectCu II, 1.5 Гбайт GDDR5;
  • Блок питания: Hipro HP-D6301AW, 630 Вт.

Запись процесса загрузки системы и внутриигровых видео осуществлялась через HDMI с помощью ТВ-тюнера AVerMedia AVerTV CaptureHD на другом ПК.

Системное ПО:

  • Операционная система: Windows 7 x64 SP1 Ultimate RUS;
  • Обновления операционной системы: все на 08.03.2012, включая Direct X;
  • Драйвер для видеокарты: NVIDIA GeForce 295.73;
  • Драйвер для SATA контроллера: Intel RST 11.1, контроллер работает в режиме RAID.

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

Глобальные настройки:

  • В ОС не установлен никакой антивирус, способный влиять на результаты замеров, Windows Defender отключен.
  • По той же причине отключены служба индексирования файлов, служба обновлений и плановая дефрагментация.
  • Отключен Windows UAC, который делал невозможным работу некоторых тестовых программ.
  • Отключены System Restore и гибернация – экономия места на диске.
  • Отключен Superfetch.
  • Файл подкачки – 1 Гбайт.
  • Профиль электропитания – высокая производительность. Отключать диски – никогда.
  • В момент снятия замеров не используются программы фонового мониторинга типа Crystal Disk info, HWMonitor, счетчиков perfmon и прочих.
  • Кэш записи дисков включен, если не указано иное (в диспетчере устройств в свойствах диска на вкладке «политика» поставлена галка «разрешить кэширование записей для этого устройства»). «Повышенная производительность» не активирована. Включен TRIM (DisableDeleteNotify=0). Обычно диск по умолчанию настроен так, но все же нужно удостовериться.
  • Все накопители подключались к порту SATA-III, если не указано иное.

Набор тестовых приложений следующий:

  • Crystal Disk Mark 3.0 x64. Завоевавший популярность тест, который позволяет измерить скорость диска в восьми режимах: чтение и запись при последовательном доступе, в случайном режиме крупными блоками по 512 Кбайт, мелкими блоками по 4 Кбайта и те же 4-Кбайтные запросы при длине очереди к диску в 32 запроса (проверка эффективности работы NCQ и механизмов распараллеливания нагрузки). Использовались настройки по умолчанию, а именно пятикратный прогон несжимаемых данных на участке 1000 Мбайт.

  • PCMark 7 x64. Последняя версия тестового пакета Futuremark.

  • Intel NAS Performance Toolkit 1.7.1. NASPT – очень мощный тест, сопоставимый по функционалу с IOMeter и разработанный прежде всего для тестирования сетевых накопителей. Вполне пригоден и для тестирования локальных дисков.

  • FC-test 1.0 build 11. Программа работала над двумя NTFS разделами, представляющими собой все доступное для форматирования пространство, разделенное пополам. Перед началом каждого замера компьютер перезагружался, весь процесс полностью автоматизирован.

    В качестве тестовых наборов использовались шаблоны Install (414 файлов общим объемом 575 Мбайт), ISO (3 файла общим объемом 1600 Мбайт) и Programs (8504 файла общим объемом 1380 Мбайт). Для каждого набора измерялась скорость записи всего набора файлов на диск (тест Сreate), скорость чтения этих файлов с диска (Read), скорость копирования файлов внутри одного логического диска (Copy near) и скорость копирования на второй логический диск (Copy far). Агрессивное кэширование записи Windows искажает результаты в тесте Create, а два способа копирования на SSD ничем не отличаются, поэтому ограничусь обнародованием двух оставшихся результатов для каждого шаблона.


  • WinRAR 4.11 x64. В этом и всех последующих тестах накопители были системными: эталонный образ Windows, включающий все необходимые программы и дистрибутивы, заливался с помощью Acronis True Image 12. Тестовым файлом служила заархивированная папка Windows 7. 83 000 файлов суммарным объемом 15 Гбайт были сжаты стандартным способом до 5.6 Гбайт. Измерение показало , что на скорость запаковки диски влияют минимально, поэтому для экономии времени тестировалась только распаковка в соседнюю папку.

  • Microsoft Office 2010 Pro Plus. Измерялось время инсталляции из дистрибутива, представляющего собой ISO копию оригинального DVD, смонтированной в Daemon Tools.

  • Photoshop CS5. Всеми любимый графический редактор инсталлировался из ISO образа, подключенного с помощью Daemon Tools. Устанавливались обе версии (x32 и x64) с английским интерфейсом и замерялось время установки. В качестве бенчмарка использовалась схема с этого специализированного форума, а именно - данный скрипт, создающий изображение 18661x18661 пикселей и выполняющий с ним несколько действий. Замерялось общее время выполнения без пауз между операциями. По-хорошему, для подобных вещей нужен громадный объем оперативной памяти, так что тест накопителей, по сути, сводится к проверке скорости работы с scratch-файлом и файлом подкачки Windows. Photoshop’у было дозволено занимать 90% памяти, остальные настройки оставались по умолчанию.
  • Измерялись три отрезка времени: интервал с момента нажатия кнопки power до появления логотипа Windows, время до появления рабочего стола Windows и время до окончания загрузки приложений: в автозагрузке были расположены Word 2010, Excel 2010, Acrobat Reader X и Photoshop CS5, открывающие соответствующие файлы. Помимо этого, в фоновом режиме стартовали Daemon tools и Intel RST. Окончанием загрузки считалось появление фотографии в Photoshop, остальные приложения запускались раньше.
  • Запуск программ. В уже загрузившейся ОС запускался bat файл, запускающий одновременно вышеупомянутые Word, Excel, Acrobat Reader и Photoshop с их документами, а также WinRAR, открывающий тестовый архив с Windows. Самая долгая операция – чтение файлов в архиве и подсчет их количества.

  • Crysis Warhead. Популярный в прошлом шутер использовался для проверки скорости инсталляции и загрузки (с момента покидания рабочего стола до начала 3D сцены). Ранее выяснилось , что дискозависимость у этой игры одна из самых сильных, поэтому в качестве бенчмарка для накопителей она отлично подходит. Установка производилась из оригинального DVD, распакованного на системный диск в виде набора папок. Запуск осуществлялся через утилиту Crysis Benchmark Tool 1.05 со следующими настройками:
    - Quality Settings: Very High;
    - Display resolution: 1280 x 1024;
    - Global settings: 64 bit, DirectX 10;
    - AntiAliasing: no AA;
    - Loops: 1;
    - Map: ambush flythrough;
    - Time of Day: 9.

  • World of Tanks. Известная MMORPG. Игры подобного рода сильно зависят от скорости сети, поэтому все замеры проводились в будни утром на сервере WOT RU2, когда на нем находились 30-35 тысяч человек. Интернет канал 100 Мбит, пинг в игре 20-30 мс. Загружалась карта Химмельсдорф, позиция 1, тренировочный бой 4-8 человек, танк МС-1. Разрешение 1280 x 1024, сглаживание отключено, качество графики очень высоко.

  • Lineage II. Другая известная и очень дискозависимая MMORPG. Использовалась русская официальная версия Goddess of Destruction: Chapter 1 Awakening и два данных реплея . Методика их воспроизведения взята с форума 4game.ru . Замерялось время установки дистрибутива, а также был проведен анализ журнала Fraps frametimes на основе этой методики. Все настройки, кроме разрешения экрана, сделаны в соответствии с рекомендацией:
    - Разрешение: 1280 x 1024, 32bit, 60 Гц, полноэкранный режим;
    - Текстуры, Детализация, Анимация, Эффекты: Низ.;
    - Местность, Персонажи: Очень широко;
    - Лимит PC/NPS: Макс;
    - Погода, Сглаживание, Отражения, Графика, Тени, Детализация земли, Улучшенные эффекты: нет.

Интегрированные RAID контроллеры сейчас присутствуют на любой уважающей себя системной плате. Это подталкивает нас к возможности по увеличению производительности дисковой системы путем сбора массива RAID 0 из пары SSD. Давайте рассмотрим масштабируемость данного решения ssd raid с использованием накопителя Kingston HyperX 3K.

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

Данный подход можно использовать в отношении дисковой подсистемы. Достаточно простым способом по увеличению скорости ее работы будет формирование RAID массива из двух или большего числа жестких дисков. В массивах с чередованием 0 уровня (stripe) предполагается дробление на небольшие равные части всей сохраняемой информации. Эти части распределяются по разным физическим накопителям. В теории, при обеспечении параллельного выполнения дисковых операций с несколькими накопителями одновременно, можно в несколько раз повысить рабочую скорость системы в сравнении с одним диском.

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

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

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

Пока только в отдаленной перспективе виден выход на переход к более скоростным интерфейсам типа PCI Express или SATA Express. Поэтому оптимальным и единственным путем к получению более высокой производительности, чем конфигурация SSD с SATA 6 Гбит/с, будет применение RAID массивов. Собирать их требуется на основе обычных твердотельных массовых накопителей. Сейчас повсеместно распространены RAID контроллеры. Их встраивают в огромнейшее количество наборов системной логики. Для сборки RAID массивов не потребуется никакое специальное оборудование, кроме нескольких SSD.

Немного про RAID 0 из SSD


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

Суммарная емкость RAID 0 массива равняется сумме объемов накопителей, которые входят в него. Для его создания можно применять 2, 3 или большее число дисков. Из-за отсутствия потерь в емкости и явного масштабирования, RAID 0 остается наиболее популярным видом RAID массива.

Большинство системных плат в ценовой категории среднего и высшего уровня поддерживают массивы RAID 0 уровня. Наиболее лучшим вариантом для создания RAID 0 из SSD будут системные платы, созданные на базе чипсетов Интел последнего поколения.

Преимущества Intel Z87, B87 и H87:

  1. Поддержка более двух SATA портов 6 Гбит/с.
  2. Работа с помощью драйвера Intel Rapid Storage Technology (RST).

Данный драйвер отличается специальной оптимизацией для массивов RAID 0 из SSD. Сейчас предлагаются уникальные возможности драйвера:

  1. Поддержка TRIM команды.
  2. Наличие прямого доступа к накопителям у обслуживающих и диагностических утилит, которые входят в массив.

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

При сборе массива RAID 0 с применением встроенных контроллеров Intel чипсетов 8-ой серии, нет надобности в беспокойстве про относительную деградацию SSD, когда они переходят из нового в использованное состояние. Здесь не теряются возможности по наблюдению за физическим состоянием накопителей, входящих в массив. Это имеет огромное практическое значение.

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

Современные флеш-диски имеют обширные средства самодиагностики. Им сообщается набор S.M.A.R.T параметров, который обеспечивает хорошую достоверность слежки за здоровьем и жизненным циклом. Имеющаяся возможность в Intel RST по обращению к S.M.A.R.T, находящихся в массиве накопителей, будет достаточно полезной. Это сможет предотвратить сбои и потерю данных, а также будет простым способом самоуспокоения.

Выбор SSD для RAID: Kingston HyperX 3К

Если учитывать особенности массивов с чередованием, то наиболее логичным выбором для них будут стабильные и испытанные SSD. От данных накопителей не будет никаких неприятных сюрпризов. Подобных вариантом не очень много. При проведении непрерывной слежки через S.M.A.R.T за состоянием работы флеш-памяти, не гарантируются отказы SSD, которые происходят из-за ошибок в прошивках и контроллерах. Наилучшим выбором для RAID массивов будут те твердотельные накопители, которые на рынке представлены достаточно продолжительное время. Важно, чтобы они были проверенными на практике в надежности, а производители могут проявившиеся проблемы исправить.

Неплохим вариантом будут накопители, которые построены на SandForce контроллерах. Данные модели являются опробованными многочисленными владельцами. Свойственные им ошибки были исправлены на аппаратном и программном уровне.

Флеш-диски с SF-2281 контроллерами отличаются следующими важными преимуществами:

  1. Набор S.M.A.R.T параметров у подобных моделей достаточно подробен и сильно превосходит параметры других SSD. Это помогает получить про состояние флеш-памяти доскональную картину.
  2. Мощнейший набор технологий (в частности, RAISE и DuraWrite), которые ориентированы на продление долговечности флеш-памяти.

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

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

Если выбирать из большого количества поставщиков SSD, имеющих базу на SF-2281 контроллере, то остановится необходимо на самых авторитетных и крупных. Для кого-то предпочтительными будут твердотельные Intel накопители, кому-то подойдут Kingston HyperX 3K флеш-приводы по более низкой цене. Серия накопителей Kingston HyperX 3K является отличным решением на базе SandForce контроллеров второго поколения. Флеш-приводы данной серии отличаются высокой надежностью сборки и привлекательным внешним видом.

Модель Kingston HyperX 3K с показателем емкости 480 Гб является заметно медленней, чем 240-гигабайтная модификация. SF-2281 контроллер показывает наивысшую производительность при четырехкратном чередовании NAND устройств в каждом канале. Восьмикратное чередование, нужное для получения емкости 480 Гб, будет вносить некоторые задержки. Использование флеш-памяти с Toggle Mode интерфейсом усугубило данный момент. Модель Kingston HyperX 3K на 240 Гб стала немного быстрее, чем предшественница с памятью Intel, но 480-гигабайтная модификация потеряла в показателях быстродействия.

Накопители, основанные на SandForce контроллерах, и не кажутся свежим решением, но они неплохо подходят для RAID массивов. Данные SSD очень надежны и всесторонне проверенные. Они имеют достаточно привлекательную цену. Показатели производительности показывают, что массив из двух приводов SandForce уровня RAID 0 даст фору любым однодисковым конфигурациям. Быстродействие последовательных операций не ограничивается 6 Гбит/с – полосой пропускания интерфейса SATA.

Коллеги с соседнего отдела (UCDN) обратились с довольно интересной и неожиданной проблемой: при тестировании raid0 на большом числе SSD, производительность менялась вот таким вот печальным образом:

По оси X - число дисков в массиве, по оси Y - мегабайтов в секунду.

Я начал изучать проблему. Первичный диагноз был простой - аппаратный рейд не справился с большим числом SSD и упёрся в свой собственный потолок по производительности.

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

Ситуация для меня была необычной - я никогда не гонялся за чистым bandwidth рейдов. IOPS"ы - наше всё. А тут - надо многомногомного в секунду и побольше.

Адские графики

Я начал с определения baseline, то есть производительности единичного диска. Делал я это, скорее, для очистки совести.

Вот график линейного чтения с одной SSD.

Увидев результат я реально взвился. Потому что это очень сильно напоминало ухищрения, на которые идут производители дешёвых USB-флешек. Они помещают быструю память в районы размещения FAT (таблицы) в FAT32 (файловой системе) и более медленную - в район хранения данных. Это позволяет чуть-чуть выиграть по производительности при работе с мелкими операциями с метаданными, при этом предполагая, что пользователи, копирующие большие файлы во-первых готовы подождать, а во вторых сами операции будут происходить крупными блоками. Подробнее про это душераздирающее явление: lwn.net/Articles/428584

Я был уверен в том, что нашёл причину и корень всех проблем и уже готовил язвительное послание (см. подписи на картинке), объясняющее, какое унылое некачественное оборудование класса «удобрение» оказалось на тесте, и многие другие слова, которые лучше не повторять.

Хотя меня смутила версия ядра на стенде - 3.2. По своему предыдущему опыту зная прискорбные особенности LSI, меняющие в драйверах (mpt2sas) от версии к версии буквально всё, я подумал, «а вдруг»?

Немного предыстории. mpt2sas - драйвер LSI для HBA. Живёт невероятно бурной жизнью, начав с версии с версии v00.100.11.15 через версии 01.100.0x.00 дойдя аж до версии 16.100.00.00 (интересно, что означает цифра «100»?). За это время драйвер отличился перестановкой имён букв дисков при обновлении минорной версии ядра, отличающемся от аносируемого биосом порядком дисков, падениями на «неожиданных» конфигурациях LUN"ов, на таймаутах бэкплейна, на неожиданном числе дисков, логгинг ошибок в dmesg со скоростью бесконечного цикла в самом ядре (де-факто это эквивалент зависания системы) и тому подобные весёлые вещи.

Обновились, запустили тест. И этот «вдруг» случился. Вот как выглядит тот же график на 3.14. А ведь я чуть-чуть было не забраковал невинные SSD"шки.

После того, как производительность дисков стабилизировалась, был проведён второй тест: на все диски запустили независимые тесты параллельно. Цель была проста - проверить, нет ли бутылочного горлышка где-то на шине или HBA. Производительность дисков оказалась вполне приличной, «затыка» по шине не было. Основная задача была решена. Однако, график производительности всё-таки отличался. Не сильно, но явно с намёком на хуже чем линейную скорость записи.

Почему запись так себя ведёт по мере увеличения числа дисков в массиве? График (в начале статьи) очень сильно напоминал график производительности многопоточных приложений по мере роста числа потоков, на которые обычно показывают программисты и Intel"овцы, когда говорят о проблемах у взаимных блокировок тредов…

Во время теста в blktop наблюдалось что-то странное: часть дисков загружена в потолок, часть почти простаивает. Причём загружены в потолок те, кто показывает низкую производительность, а «быстрые» диски простаивают. Более того, диски иногда меняются местами - то есть раньше загруженный на 100% диск вдруг показывает бОльшую скорость и меньшую загрузку, и наоборот, диск, который был загружен на 50%, вдруг оказывается загружен на 100% и при этом показывает меньшую скорость. Почему?

И тут до меня дошло.

raid0 зависит от latency худшего из дисков

Если мы пишем много данных, то запись обычно идёт большими кусками. Эти куски разделяются на меньшие куски драйвером raid0, который записывает их одновременно на все диски из raid0. За счёт этого мы получаем N-кратное увеличение производительности. (В raid0 на N дисков).

Но давайте рассмотрим запись подробнее…

Допустим, у нас raid использует chunk"и размером в 512k. В массиве 8 дисков. Приложение хочет записать много данных, и мы пишем на raid кусками по 4Мб.

Теперь следите за руками:

  1. raid0 получает запрос на запись, делит данные на 8 кусков по 512кб каждый
  2. raid0 отправляет (параллельно) 8 запросов на 8 устройств по записи 512кб (каждый своё)
  3. raid0 ожидает подтверждение от всех 8 устройств о завершении записи
  4. raid0 отвечает приложению «записал» (то есть возвращает управление из вызова write())
Представим теперь, что у дисков запись произошла за такое время (в милисекундах):
Диск 1 Диск 2 Диск 3 Диск 4 Диск 5 Диск 6 Диск 7 Диск 8
4.1 2.2 1.9 1.4 1.0 9.7 5.4 8.6

Вопрос: за какое время произойдёт запись блока в 4Мб на этот массив? Ответ: за 9.7 мс. Вопрос: какая будет в это время утилизация у диска №4? Ответ: порядка 10%. А у диска №6? 100%. Заметим, для примера я выбрал наиболее экстремальные значения из лога операций, но и при меньшем расхождении проблема будет сохраняться. Сравните график чтения и записи (привожу ту же картинку ещё раз):


Видите, как неровно гуляет запись в сравнении с чтением?

У SSD дисков latency на запись очень неровная. Связано это с их внутренним устройством (когда за раз записывается блок большого размера, при необходимости, перемещая и перенося данные с места на место). Чем больше этот блок, тем сильнее пики latency (то есть сиюминутные провалы в производительности). У обычных магнитных дисков графики совсем другие - они напоминают ровную линию практически без отклонений. В случае линейного последовательного IO эта линия проходит высоко, в случае постоянного случайного IO - постоянно низко, но, ключевое - постоянно. Latency у жёстких дисков предсказуема, latency у SSD - нет. Заметим, это свойство есть у всех дисков. У самых дорогих latency оказывается смещена (либо очень быстро, либо очень-очень быстро) - но разнобой всё равно сохраняется.

При подобных колебаниях latency производительность у SSD, в среднем, отличная, но в отдельные моменты времени запись может занять чуть больше, чем в другое время. У тестируемых дисков она падала в этот момент до позорных величин порядка 50Мб/с (что ниже, чем линейная запись у современных HDD раза в два).

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

Но если запись зависит от всех дисков в массиве? В этом случае, любой «тормознувший» диск тормозит всю операцию целиком. В результате, чем больше дисков массиве, тем больше вероятность, что хотя бы один диск отработает медленно. Чем больше дисков, тем больше кривая производительности их суммы в raid0 начинает приближаться к сумме производительности их минимумов (а не средних значений, как хотелось бы).

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


В случае 7 дисков различия составили около 10%.

Простое математическое симулирование (с данными по latency реального диска для ситуации множества дисков в массиве) позволило предсказать, что по мере увеличения числа дисков деградация может дойти до 20-25%.

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

Что лучше - HDD или SSD?

Сразу скажу: худшее ожидание от SSD оказывается лучше, чем постоянное от HDD (если прозвучало слишком сложно: SSD лучше, чем HDD).

Другое дело, что массив из 20-30 HDD - это нормально. 30 SSD в raid0 вызовут слюнки у гиков и приступ печёночной колики у финансового отдела. То есть обычно сравнивают множество HDD c несколькими SSD. Если же мы отнормируем цифры по IOPS"ам (охохо), то есть добьёмся от HDD тех же попугаев, что от SSD, то цифры станут, внезапно, другими - массив из большого числа HDD будет сильно обгонять массив из нескольких SSD по скорости записи.

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

А raid1/5/6?

Легко понять, что для всех этих массивов проблема с ожиданием «самого медленного» сохраняется, и даже слегка усиливается (то есть проблема возникает при меньшем размере блока и меньшей интенсивности нагрузки).

Заключение

Админское: Не люблю LSI. При обнаружении каких-либо нареканий в работе дисков при участии LSI в системе отладку следует начинать с сравнения поведения разных версий дравйера mpt2sas. Это как раз тот случай, когда смена версии может влиять на производительность и стабильность самым драматичным образом.

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

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

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

ВведениеДублирование устройств и распараллеливание нагрузки – достаточно популярная идея на современном рынке персональных компьютеров. Энтузиасты нередко прибегают к созданию видеоподсистем, в которых используется две или большее количество графических карт, а те пользователи, которые нуждаются в непревзойдённой вычислительной производительности, зачастую делают ставку на многопроцессорные рабочие станции. Подобный подход можно применить и в отношении дисковой подсистемы: достаточно простой способ увеличения скорости её работы – это формирование RAID-массива из пары (или большего количества) жёстких дисков. Массивы уровня 0 (stripe) предполагают дробление всей сохраняемой информации на равные части, которые равномерно распределяются по нескольким физическим накопителям. В результате, за счёт параллельного чтения и записи данных сразу на несколько накопителей скорость работы такой системы по сравнению с одним диском может быть повышена в несколько раз.

Собственно, на заре распространения SSD потребительского класса были достаточно популярны рассуждения о том, RAID-массив из какого количества винчестеров сможет обеспечить производительность, сравнимую со скоростью флэш-накопителя. Конечно, сейчас эти времена уже безвозвратно ушли. Внедрение стандарта SATA 6 Гбит/сек и появление нового поколения контроллеров для твердотельных накопителей привело к тому, что скорости современных SSD ушли слишком далеко от того уровня быстродействия, который могут обеспечить традиционные магнитные диски. Однако возник другой не менее интересный вопрос: можно ли дополнительно увеличить производительность дисковой подсистемы, если в массив RAID 0 собрать несколько SSD?

Действительно, причин, по которым технология RAID не должна оказывать положительный эффект в случае с SSD, на первый взгляд не видно. Твердотельные накопители показывают хорошее быстродействие при работе с небольшими блоками данных, а чипсетные RAID-контроллеры предлагают прямую связь с процессором с пропускной способностью, вполне достаточной для получения скоростей, превосходящих SATA 6 Гбит/сек в несколько раз. Так что существенного увеличения производительности работы можно ожидать и от RAID 0 на базе SSD. Идея кажется особенно привлекательной ещё и потому, что она не сопряжена ни с какими дополнительными затратами. Общая ёмкость массива RAID 0 представляет собой сумму ёмкостей входящих в него накопителей, а стоимость SSD прямо пропорциональна их ёмкости. То есть, если для создания массива пользоваться «бесплатным» RAID-контроллером встроенным в чипсет материнской платы, то в итоге мы получим примерно такую же стоимость хранения гигабайта информации, как и в случае одиночного диска большего размера.

Учитывая кажущуюся привлекательность создания RAID 0 массивов из твердотельных накопителей, мы решили проверить их работу на практике. Компания Kingston любезно согласилась предоставить нам на тесты два 120-гигабайтных и один 240-гигабайтный SSD своей топовой серии HyperX, что и дало возможность прямого сравнения RAID 0 массива из двух дисков с одиночным накопителем аналогичного объёма.

Подробнее о Kingston HyperX SSD

Накопители серии Kingston HyperX SSD – это типичные решения на базе контроллеров SandForce второго поколения, нацеленные на энтузиастов. Они базируются на хорошо знакомом нам чипе SF-2281 и комплектуются 25-нм синхронной NAND-памятью производства компаний Intel или Micron. Проще говоря, накопители HyperX используют производительный вариант актуальной платформы SandForce и по своим внутренностям аналогичны таким популярным моделям как Corsair Force Series GT или OCZ Vertex 3.

Выделяет Kingston HyperX SSD в ряду подобных SandForce-накопителей разве только более броский дизайн корпуса, да и фирменная программа Toolbox, позволяющая просматривать различную информацию о диске, включая значение атрибутов S.M.A.R.T.

Утилита эта поразительно похожа на OCZ Toolbox с вырезанной функцией обновления прошивки (для этого у Kingston предлагается специализированная программа) и без возможности Secure Erase.



Как и у всех других накопителей с контроллерами SandForce, диски Kingston HyperX SSD с ёмкостью 120 и 240 Гбайт отличаются по производительности. В официальных спецификациях это отражается следующим образом:



Причина различий состоит в количестве используемых в составе SSD оконечных NAND-устройств. Так как 25-нм кристаллы MLC флэш-памяти имеют объём 8 Гбайт, 120-гигабайтный диск содержит 16 флэш-устройств, в то время как более ёмкая модификация укомплектована 32 устройствами. Учитывая, что контроллер SandForce SF-2281 имеет восьмиканальную архитектуру, накопители с разной емкостью вынуждены использовать для каждого канала технику чередования обращений к флэш-устройствам с разной кратностью. Так, в случае 120-гигабайтного SSD чередование двукратное, а в случае 240-гигабайтного накопителя – четырёхкратное. Большая кратность чередования гарантирует более высокую производительность, так как вместо ожидания готовности NAND-устройства после очередной операции контроллер имеет возможность перейти к обслуживанию следующего устройства. По сути это похоже на реализацию подхода RAID 0, но внутри накопителя, на уровне контроллера SandForce.

Тестовая система

Для тестирования SSD-накопителей мы собрали специальную систему, построенную на материнской плате с набором логики Intel H67, который, как известно, обладает парой SATA 6 Гбит/сек портов. Именно на этих портах мы и испытываем твердотельные накопители.

В целом, тестовая конфигурация включает следующий набор оборудования:

Процессор – Intel Core i5-2400 (Sandy Bridge, 4 ядра, 3.1 ГГц, технологии EIST и Turbo Boost –отключены);
Материнская плата - Foxconn H67S (версия BIOS A41F1P01);
Память - 2 x 2 GB DDR3-1333 SDRAM DIMM 9-9-9-24-1T;
Системный накопитель – Crucial m4 256 Гбайт (CT256M4SSD2);
Тестовые накопители:

Kingston HyperX 120 Гбайт (SH100S3/120G, прошивка 332);
Kingston HyperX 240 Гбайт (SH100S3/240G, прошивка 332);

Операционная система - Microsoft Windows 7 SP1 Ultimate x64;
Драйверы:

Intel Chipset Driver 9.2.0.1030;
Intel HD Graphics Driver 15.22.1.2361;
Intel Management Engine Driver 7.1.10.1065;
Intel Rapid Storage Technology 10.8.0.1003.

Проблемы конфигурирования RAID 0 из SSD

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

Наша стандартная тестовая платформа основывается на LGA1155-процессоре и системной плате с чипсетом H67, SATA-контроллер которого имеет встроенную поддержку RAID-массивов. Для её активации необходима смена режима работы SATA-контроллера с AHCI на RAID в BIOS. Однако простое изменение соответствующей опции в BIOS Setup приведёт скорее всего к неработоспособности операционной системы, выражающейся в возникновении «синего экрана» на этапе загрузки. Причина состоит в том, что драйвер RAID в Windows по умолчанию отключен. Обойти эту проблему можно двумя путями. Либо заново, уже в RAID-режиме, переустановить Windows, и тогда необходимый драйвер автоматически включится при установке. Либо, непосредственно перед изменением настроек SATA-контроллера в BIOS, установить в 0 значение переменной Start, находящейся в системном реестре в ветке HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Iastorv, а затем переустановить драйвер SATA-контроллера Intel Rapid Storage Technology (RST) уже в RAID-режиме.

После включения режима RAID и внедрения в систему необходимых драйверов, можно переходить непосредственно к формированию массива. Он создаётся средствами драйвера Intel RST. В процессе потребуется лишь указать диски для включения в массив и его режим работы – RAID 0.



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



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

И хотя скорость одиночного Kingston HyperX SSD 120 Гбайт при работе с блоками данных растёт при увеличении размера блока, это ещё ничего не значит.


Драйвер Intel Rapid Storage Technology (RST) способен достаточно интеллектуально обращаться с очередью запросов, обеспечивая высокую скорость RAID 0-массива из SSD и при использования небольших страйп-блоков. В доказательство этого мы оценили базовые характеристики производительности RAID 0-массива из пары Kingston HyperX SSD 120 Гбайт с разными размерами страйпа.

Data stripe size = 4 KB:



Data stripe size = 8 KB:



Data stripe size = 16 KB:



Data stripe size = 32 KB:



Data stripe size = 64 KB:



Data stripe size = 128 KB:



Как показывают результаты AS SSD Benchmark, скоростные показатели массива со страйп-блоками разного размера достаточно близки. Тем не менее, зависимость скорости последовательных операций, а также скорости работы с мелкими блоками при высокой глубине очереди от размера страйпа прослеживается. Наилучшее сочетание показателей производительности массива достигается при использовании 32-килобайтных блоков, так что, очевидно, настройки по умолчанию не являются оптимальными. Так как меньший размер страйпа более выгоден при работе с небольшими файлами, в случае использования дисков, основанных на платформе SandForce второго поколения, мы рекомендуем использовать размер блока в 32 Кбайта. Именно с такой настройкой мы создавали и используемый в основной части тестирования массив.



При создании RAID-массивов важно иметь в виду и ещё одну немаловажную деталь. Как только массив сформирован, он начинает рассматриваться системой как единое целое, и прямой доступ к составляющим его накопителям становится невозможен. Это – достаточно неприятный момент, сулящий серьёзные практические неудобства. Имея RAID-массив из SSD дисков, вы не сможете ни обновить их прошивку, ни посмотреть параметры S.M.A.R.T., ни выполнить операцию Secure Erase. Но что самое неприятное, учитывая специфику такого массива, операционная система не сможет передать накопителям команду TRIM, посредством которой возможно эффективное противодействие деградации производительности SSD.

Производительность

Скорость случайного и последовательного чтения/записи «свежего» накопителя

Для измерения скорости случайного и последовательного чтения и записи мы используем тест CrystalDiskMark 3.0.1. Этот бенчмарк удобен тем, что позволяет измерять скоростные характеристики SSD-накопителей как на случайных несжимаемых данных, так и при использовании полностью сжимаемых шаблонных данных. Поэтому, на приводимых далее диаграммах приводится по два числа – максимальная и минимальная скорость работы накопителя. Реальные же показатели, соответственно, будут лежать внутри изображённых диапазонов в зависимости от того, как их сможет уплотнить контроллер SF-2281.

Заметим, что приведенные в этом разделе результаты тестов производительности относятся к «свежему» (FOB - Fresh Out-of-Box) недеградировавшему состоянию накопителя.


















С точки зрения практических показателей быстродействия 120-гигабайтный SSD работает существенно медленнее своего 240-гигабайтного собрата. Тем не менее, RAID 0-массив из пары 120-гигабайтных дисков всё же превосходит по скорости единичный накопитель ёмкостью 240 Гбайт. Как видим, технология RAID 0 позволяет получить выигрыш в скорости линейных операций и при работе с небольшими блоками при использовании очереди запросов большой глубины. Обычные случайные же операции с 4-килобайтными блоками не ускоряются, более того, наблюдается даже некоторое замедление, обусловленное задержками на необходимость дополнительного арбитража.

Деградация и производительность в устойчивом состоянии

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

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



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

Впрочем, картина катастрофического падения скорости, показанная на графике выше, несколько искусственна и характерна лишь для случая непрерывной и безостановочной записи. В реальности же, находясь в состоянии покоя, контроллеры современных SSD-дисков частично восстанавливают производительность, предварительно освобождая неиспользуемые страницы флэш-памяти. На это направлено два ключевых алгоритма: Idle-Time Garbadge Collection (сборка мусора) и TRIM. Однако в случае с массивом RAID 0 ситуация осложняется тем, что операционная система не имеет прямого доступа к SSD, в результате чего технология TRIM не работает. В связи с этим вполне вероятна ситуация, что спустя какое-то время эксплуатации единичный диск может оказаться существенно лучше RAID-массива.

Никто не мешает проверить это предположение. Для получения картины деградации дисков и RAID 0 массива мы, основываясь на методике SNIA SSSI TWG PTS, провели специальные тесты. Их суть состоит в том, что мы последовательно измерили скорость операций записи в четырёх случаях. Вначале - для «свежего» состояния массива и накопителей. Затем – после полного двукратного заполнения информацией накопителей и RAID-массива. Далее – после получасовой паузы, дающей контроллеру возможность частично восстановить производительность накопителя за счёт операции сборки мусора. И в завершение – после подачи команды TRIM.

Измерения выполнялись при помощи синтетического бенчмарка IOMeter 1.1.0 RC1, в котором мы отслеживали скорость случайной записи при работе с выровненными относительно страниц флэш-памяти блоками объёмом 4 Кбайт с глубиной очереди запросов 32 команды. При тестировании использовалось заполнение псевдослучайными данными.



Деградация производительности – это не пустой звук, а реально существующая проблема. Как видим, скорость накопителей действительно снижается в разы. Причём, как это ни прискорбно, но сборка мусора у накопителей на основе контроллера SF-2281 практически не работает. Несмотря на то, что накопители с этой архитектурой имеют резервную область, составляющую примерно 7 % от общей ёмкости, это им совершенно не помогает. Возвращает производительность к более-менее нормальному уровню лишь команда TRIM. Однако так как для RAID-массивов она не работает, в конечном итоге одиночные накопители могут предложить куда лучшее быстродействие на операциях записи, чем составленный из них массив.

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









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

Тесты в Futuremark PCMark 7

Известный тест PCMark 7 включает отдельный бенчмарк для измерения производительности дисковой подсистемы. Причём, он имеет не синтетическую природу, а, напротив, основывается на том, как работают с диском реальные приложения. Этот бенчмарк воспроизводит настоящие сценарии-трассы задействования диска в распространённых задачах и замеряет скорость их выполнения. Причём, воспроизведение потока команд делается не сплошняком, а так, как это происходит в реальности – с определёнными паузами, обусловленными необходимостью обрабатывать поступающие данные. Результатом теста является общий индекс производительности дисковой подсистемы и показатели скорости в отдельных сценариях в мегабайтах в секунду. Заметьте – производительность в сценариях в абсолютном выражении получается относительно невысокой, так как в неё вносят вклад те самые моделируемые паузы между отдельными операциями ввода-вывода. Иными словами, то, что выдаёт PCMark 7, – это скорость дисковой подсистемы со стороны приложения. Такие величины дают нам информацию не столько о чистой производительности накопителей, сколько о том, какой практический выигрыш способен привнести тот или иной SSD при реальной работе.

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



Интегральный показатель PCMark 7 – прекрасный ориентир для тех потребителей, кто не хочет вдаваться в подробности и довольствуется простой иллюстрацией относительной производительности накопителей. И, если верить в полученные рейтинги, массив RAID 0 обладает в целом лучшим быстродействием, чем одиночный диск аналогичной ёмкости. Если принять во внимание, что большинство жизненных сценариев использования дисковой подсистемы предполагает преобладание операций чтения, полученные результаты кажутся вполне логичными и заслуживающими доверия.

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





















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

Тесты в Intel NAS Performance Toolkit

Intel NASPT – это ещё один основанный на использовании реальных сценариев тест дисковой подсистемы. Также как и PCMark 7, он воспроизводит заранее подготовленные типовые шаблоны дисковой активности, попутно измеряя скорость их прохождения. Данный бенчмарк вместе с PCMark 7 позволяет получить отличную иллюстрацию производительности дисковой подсистемы в реальных задачах. Также как и в предыдущем случае, тестирование мы выполняли с накопителями, находящимися в устоявшемся «использованном» состоянии.



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




































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

Выводы

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

Создание массива RAID 0 – это один из традиционных путей для повышения производительности дисковой подсистемы. Этот приём вполне работает и для SSD, объединение в массив пары дисков действительно позволяет нарастить как линейные скорости, так и быстродействие операций над небольшими блоками с глубокой очередью запросов. Так, в процессе тестов нам удалось получить для массива поистине впечатляющие скорости последовательного чтения и записи, существенно превосходящие пропускную способность интерфейса SATA 6 Гбит/сек.

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

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

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

В этой статье не будет сложных технических терминов и запутанных описаний настроек БИОС (UEFI) — просто поделюсь личным опытом объединения двух дисков SSD в RAID 0 (это волшебный скоростной дисковый массив повышенной производительности), расскажу о целесообразности такого шага, моих впечатлениях и конечно же, произведу замер итоговой скорости работы всего этого «безобразия».

Два SSD в массив RAID 0

Давно хотел провести эксперимент по подключению нескольких (хотя бы двух) ssd в дисковый массив raid 0, но всё не было повода и особой надобности в покупке «лишних» быстрых накопителей информации для компьютера. Буквально три дня назад этот повод нашёлся сам собой, наконец-то.

В одном из наших семейных компьютеров (любимой жены) скоропостижно скончался, прослуживший пять лет, шустрый концентратор фоточек, музычки, фильмов, непонятных программ и файликов — ssd-диск HyperX 3K 120 ГБ.

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

Ещё бы, заставить накопитель в компьютере «летать» в два раза быстрее помимо его воли и возможности — это, я Вам скажу, очень поднимает настроение и вызывает бурю эмоций. Энтузиасты-оверлокеры меня поймут, хоть для них такой способ разгона компьютера на ровном месте уже давно пройденный этап и обычное дело.

Что такое RAID 0

Для начала разберёмся, что это за массив дисков такой сказочный. Вот, что нам говорит Википедия о самой технологии RAID…

…а вот определение именно для нулевого массива дисков…



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

Как работает массив дисков

Такую связку можно сделать и из обычных жёстких дисков (тоже повысится скорость считывания/записи данных), но парочка SSD в дисковом массиве RAID 0…

…да ещё и с подключением через двойной интерфейс SATA3 (2 х 6 Гб/s)…

Это особый и не слишком дорогой кайф!

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

Получается невероятная вещь — купив вместо одного SSD-диска на 240 Гб (с максимальной скоростью чтения данных 550 МБ/с и записи 460 МБ/с) два точно таких же, но по 120 Гб каждый (всего на 5 $ дороже в сумме), получаем массив дисков RAID 0, который операционная система видит одним накопителем…

…и работающий гораздо быстрее своего одинокого коллеги (чтение данных — 761 МБ/с и запись — !!!986 МБ/с!!!). Не верите? Вот мой личный замер скорости этой связки в программе CrystalDiskMark …

Да, такие позитивные обои я установил жене на рабочий стол 🙂 .

Создание RAID 0 из SSD

А вот про само создание RAID 0 из SSD я Вам рассказывать и не буду 🙂 . Дело в том, что это очень индивидуальная штука — у всех разные «материнки», накопители, БИОСы… Объять необъятное у меня не выйдет, как бы я не старался.

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

Заняла у меня эта операция минут пять (плюс примерно 15 минут на установку и первичную короткую настройку Windows 10 ). Жаль, что нет оценки производительности компьютера жены с предыдущим одним диском ssd — было бы здорово протестировать накопители и сравнить их индексы (до и после).

Чтоб найти инструкцию по созданию массива дисков именно с Вашими комплектующими воспользуйтесь поиском по сети Интернет. Забиваете название своей материнской платы с приставкой «RAID 0» и без проблем найдёте нужное Вам подробное описание процедуры. Ещё очень много описаний на YouTube — советую с него и начинать поиск.

Лично мне такой способ ускорения работы компьютера очень понравился — буду наблюдать за «сладкой парочкой» дисков и через годик ещё отпишусь (подредактирую статью).