Adata Falcon плюс Goodram PX500 - тестируем RAID из дешёвых NVME дисков
Вообще, вот если рассматривать жёсткие диски с точки зрения производительности, то там всё просто и понятно, и даже медленные «зелёные» модели на 5400 RPM не сильно отличаются от серверных на 10 и 15 тысяч RPM, если конечно производитель не намудрил с прошивкой. И в том и в другом случае скорость линейно снижается от начала диска к концу, контроллер буферизует однородные операции, и в общем, мы привыкли, что RAID можно собирать из любых разнородных накопителей. Даже смешивать SAS и SATA в одном массиве, в принципе, было не зазорно, а уж ставить в один массив диски разных вендоров для снижения вероятности одновременного отказа - это случай, описанный в Best Practice.
Совсем другое дело с SSD накопителями, в которых контроллер играет основную скрипку, прошивка зачастую полностью меняет поведение накопителя, а на скорость сильно влияет даже количество чипов на одной плате. И вот если у вас уже есть NVME накопитель, старый и медленный, а хочется больше скорости и больше объёма, поможет ли покупка второго 512 Гб диска и построение RAID ради скорости? Ну давайте проверим.
А как вообще дела с NVME RAID для формата M.2?
Дела с NVME RAID обстоят ужасно: этот формат по сравнению с PCI Express накопителями не воспринимается индустрией, как устройства, которыми набирается объём хранилища. Рынку нужны накопители объёмом 10 и более терабайт, а на маленькую плату формата 2280 столько чипов просто не вместится, поэтому по объёму они проигрывают SAS SSD и NVME SSD формата 2.5 дюйма.Что касается скорости, то принцип использования M.2 SSD прост: если вам нужна более высокая скорость - купите новый SSD на более быстром контроллере и не занимайтесь ерундой.
SSD формата M.2 занимают очень много места на материнской плате, в то время как SAS SSD устанавливаются где-то там, в корпусе компьютера, и ставить несколько таких накопителей можно через переходники, если материнская плата поддерживает разделение одного слота, ну например PCI Express 16x на 4 шины по 4x. В этом случае цена платы для установки 4-х SSD в один PCI Express 16x слот будет сравнительно дешёвой, а если материнка такой возможности не имеет, то нужно либо забивать PCI Express слоты по принципу «1 слот = 1 M.2 диск», либо покупать плату-переходник с активным PCI Express делителем, цена которой будет в районе 500$, что уже нецелесообразно.
Исходя из всего вышесказанного, судьба RAID M.2 сложилась следующим образом: их воспринимают как системные или кеширующие накопители, для которых либо избыточность вообще не нужна, либо хватит простых массивов типа «зеркало» или «stripe», ну в крайнем случае - RAID 10. Более сложные массивы уровней RAID 5 и RAID 6 можно реализовывать программно на базе TrueNAS или Windows Spaces.
Но даже аппаратно, через BIOS, казалось бы, в чём сложность собрать «зеркало» из M.2 дисков? А вот нет, такая технология есть у AMD для платформы Threadripper (NVME RAID) и у Intel для серверов (VROC), причём у «синих» для включения этой опции нужно покупать аппаратный ключ стоимостью 150$ за RAID 0/1 и 250$ за RAID 5/6, а у AMD оно хоть и без 5/6, зато бесплатно.
Причина таких проблем достаточно простая: NVME диски слишком быстры, и производительности процессоров не хватает для обработки XOR сумм сложных массивов. В RAID 0, 1, 10 таких расчётов нет, и этот массив почти что бесплатный с точки зрения скорости, а под RAID 5/6 полностью ложатся даже дорогие 16-ядерные процессоры.
Для рядового же пользователя самым простым способом создания RAID массивов становится инструмент средств администрирования Windows: он менее глючный, чем «дисковые пространства Windows» и поддерживается всеми материнскими платами.
Ну хорошо, вроде бы разобрались с причинами, и пришло время заняться практическими вопросами: все мы много раз видели тесты с одинаковыми SSD в массивах, но в разных будут разные SLC кэши, разные прошивки и разное число каналов.
AData Falcon
Бюджетный накопитель AData Falcon 512 построен на базе контроллера Realtek RTS5762, поддерживающий скорость записи до 3100 и скорость чтения до 1500 МБ/с соответственно. Интересно, что SSD не имеет набортного чипа DRAM памяти, а кеширование осуществляется в ОЗУ самого компьютера (технология HMB - Host Memory Buffer). В то же время, SLC кэш здесь присутствует, как и в большинстве других SSD с памятью TLC. Контроллер Realtek RTS5762DL имеет 4 канала памяти, поэтому на накопителе установлены 4 чипа 96-слойной 3D TLC от компании Micron.
С обратной стороны платы монтаж отсутствует, а сверху накопитель покрывает тонкая несъёмная пластина теплораспределителя. В нашем тесте это типичный представитель ультра бюджетного класса, без выделенного DRAM кэша и определённо для простых офисных / игровых задач.
GoodRam PX500
Пожалуй, последнее, что я хотел бы видеть в своём компьютере - это SSD на базе контроллера Silicon Motion SM2263XT, как в накопителе GoodRam PX500. В 2018 году мы подробно изучали поведение Transcend MT110S на базе этого контроллера, и тогда он смотрелся более-менее, но сейчас уже безнадёжно устарел.
Заявленная скорость линейного доступа у GoodRam PX500 составляет 2000 и 1600 МБ/с, встроенного DRAM кэша так же нет (здесь так же используется технология Host Memory Buffer), а SLC кэш занимает фиксированные 10% ёмкости накопителя. Память набрана 4 микросхемами 3D NAND TLC, скомпонованными с фронтальной стороны и закрытыми алюминиевой пластиной.
Тестирование
Первые же тесты показывают, что Adata Falcon значительно быстрее своего аналога Goodram PX500, хотя конечно объективных причин для такой разницы быть не должно. Это тем более интересно, что по скорости мы имеем RAID массивы из разных дисков.
Видно, что программная прослойка RAID вносит свою задержку, и почти не выправляет ситуацию с тормозным накопителем от Goodram. Совершенно иначе обстоят дела с записью, ведь как мы помним, оба накопителя используют технологию HBM и кешируют данные в ОЗУ компьютера. Так вот "зеркальный" массив работает медленнее самого медленного накопителя, а "чередующийся" видимо использует свой кэш в памяти, иначе я не могу объяснить столь ровное и быстрое реагирование на случайную запись. Кстати, обратите внимание насколько меньше точек данных для Goodram PX500 - все, что не поместились на графике, находятся сильно выше 0.7 мс, и можно сказать что накопитель очень сильно тормозит.
При последовательном чтении, например при операциях копирования больших файлов куда-то ещё, например на сетевой диск, и "Зеркало" и "Stripe" значительно выигрывают у простых накопителей, и можно сказать, что вот вам случай, когда просто добавив один хороший SSD к одному тормознутому, вы получите сильное увеличение скорости.
Но при записи "на" накопитель это уже не сработает: чистая RAW скорость памяти у Goodram PX500 и Adata Falcon примерно одинаковая, только у Adata Falcon как-то лучше работает кеширование, в результате чего меньше разброс скоростей. RAID 1 в данном случае лишь способен сильно замедлить систему а RAID 0 ведёт себя нелинейно: бывает, что помогает, а бывает что вредит.
Перейдём к тестам паттернов офисной работы. Первый же график доступа к диску при пакетной обработке фотографий показывает, что RAID 1 значительно сглаживает типичную проблему дешёвых SSD, таких как Goodram PX500, а именно раннюю выработку SLC кэша.
Зеркало в данном случае играет на стороне пользователя лишь до той поры, пока кэш не иссякнет, а дальше лишь вредит.
В тестах антивирусного сканирования ситуация сохраняется.
И опять же, всё сильно зависит от размеров блоков, которыми производится чтение: на больших блоках Stripe массив хорошо ускоряет систему, а зеркало тоже конечно работает в плюс, но совсем чуть-чуть.
На сложных паттернах массив типа Stripe значительно, я бы даже сказал кратно ускоряет скорости записи, вероятно из-за программной оптимизации. Посмотрите: Goodram PX500 в этом тесте пишет со скоростью около 24 МБ/с, Adata Falcon - около 120 МБ/с, а массив из этих дисков разгоняется до 850 МБ/с со средней скоростью в районе 500 МБ/с.
Тест импортирования видео в программу-редактор лишь подтверждает предыдущие доводы, правда и RAID 1 здесь особо жить не мешает.
Выводы
Наше тестирование показывает однозначную картину: если у вас уже есть один медленный SSD, вы можете купить второй быстрый SSD, такой как Adata Falcon и объединить их в RAID типа Stripe (чередующийся массив). В итоге вы в два раза снизите надёжность такой конструкции, так как при вылете любого SSD вы потеряете ваши данные, но получите значительное увеличение скорости даже по отношению к самому быстрому SSD в системе. Это можно реализовать средствами Windows на несистемном томе, например для хранилища рабочих проектов или игр.
Объединять два накопителя в "зеркало" не имеет никакого смысла, кроме повышения надёжности: в лучшем случае вы получите такую же скорость, как и была, а в худшем - ещё более усугубите положение. Ну и самое главное, на что следует обратить внимание, так это на то, как SSD накопители на одинаковых контроллерах могут различаться по скорости, и Adata Falcon хороший пример того, как надо делать бюджетные SSD.
Михаил Дегтярёв (aka LIKE OFF)
11/04.2021