NVMe SSD Western Digital Ultrastar DC SN640
01.07.20
Твердотельные накопители от Western Digital регулярно появляются в наших обзорах. Напомним, что после приобретения HGST в 2012 году бренд всё ещё продолжал существовать, и объединение продуктовых линеек под общим брендом состоялось в 2018 году. Например, один из первыx NVMe накопителей HGST SN150 показал в 2016 году выдающиеся результаты в тестах1.

Герой сегодняшнего обзора — накопитель Western Digital Ultrastar DC SN640. Но прежде чем перейти к обзору этой линейки и тестам, стоит рассказать о том, что произошло с рынком NVMe-накопителей за последние три года, и об актуальном портфолио серверных NVMe-накопителей Western Digital.
В 2018 году сочетание памяти TLC NAND с технологией многослойной компоновки привело к снижению цены на накопители большого объёма. При этом были устранены основные проблемы, связанные с низкой производительностью TLC на запись. Доля накопителей с большим (от 3 DWPD) ресурсом и производительностью свыше 300 тысяч IOPS на запись упала, мейстримом стали накопители на основе многослойной TLC с 1 DWPD, но при этом существенно улучшились соотношения цена/объём и цена/производительность. Если в 2016–2018 вы могли себе позволить установить в сервер, например, два или четыре накопителя по 800/960 ГБ, то сейчас в этот бюджет можно вписать уже 3200/3840 ГБ.
Доля твердотельных накопителей с интерфейсами SATA и SAS заметно упала. В секторе накопителей бытового назначения переход на NVMe переходит быстрее — практически все ноутбуки и материнские платы для настольных ПК оснащены как минимум одним разъёмом M.2 для подключения NVMe-накопителей, порты SATA остаются для подключения HDD. В серверном сегменте этот переход всё ещё ограничивается необходимостью поддерживать обратную совместимость с контроллерами и бэкплейнами. При использовании крупных горизонтально масштабируемых решений это не является проблемой, но для небольших проектов всё ещё необходимо использовать локальный RAID и размещать в том же корпусе накопители HDD с интерфейсами SATA/SAS. Появление трёхрежимных контроллеров от Broadcom и распространение универсальных бэкплейнов для подключения накопителей U.2 способствуют вытеснению SSD с интерфейсами SATA и SAS, но дополнительным препятствием до недавнего времени была цена.
Изменились форм-факторы. Серверные накопители в виде карт расширения PCIe практически ушли в прошлое вместе с временами, когда PCIe SSD стоили не один десяток тысяч USD, позиционировались как «flash-ускоритель» и устанавливались в по 1–2 штуки в сервер.
Серверные NVMe-накопители Western Digital в 2020
- Ultrastar DC SN340. В этой линейке компания Western Digital реализовала преимущества 96-слойной памяти TLC, предложив накопители объёмом 3,84 и 7,68 ТБ по очень привлекательной цене за счёт отказа от оптимизации ресурса на запись. SN340 позиционируются не просто как «читалки», Read Intensive, а как отдельная категория Very Read Intensive. Ресурс составляет всего 0,3 DWPD при случайном доступе блоками 32 КиБ (что уже отличается от методики JEDEC), но для последовательного доступа она выше — 1,2 DWPD. Самое главное — количество переходит в качество, и такие большие объёмы при невысоких ценах позволяют применять эти накопители там, где раньше задача решалась применением большого количества HDD. Например, в стриминге видео. Ещё одно применение — распределённые No-SQL СУБД, такие как Apache Cassandra и MongoDB.
- Ultrastar DC SN200 — дальнейшее развитие линейки SN100/SN150. Это высокопроизводительные накопители с производительностью до 1,2 миллиона IOPS на чтение. Существуют в форм-факторах U.2 и HHHL с интерфейсом PCIe x8. На смену SN200 сейчас пришла линейка SN840.
- Ultrastar DC SN630 и SN640. Это идентичные линейки, и SN640, герой сегодняшнего обзора, является улучшенной версией SN630. Объёмы от 800 до 7680 ГБ, тонкий 7-мм корпус U.2, два варианта по ресурсу — 0,8 и 2 DWPD. Вместо 64-слойной NAND использована 96-слойная, немного повышена производительность. Эти накопители позиционируются в качестве замены SSD с интерфейсом SATA. В плане производительности на запись им похвастать особенно не чем, но устаревший интерфейс теперь не мешает чтению, и вместо ограничения в 600 МиБ/с и 100 тысяч IOPS мы получаем 3 ГиБ и почти полмиллиона IOPS.
- Ultrastar DC SN840 Новая линейка высокопроизводительных накопителей. Форм-фактор U.2, карточек больше не будет. Ресурс 1 или 3 DWPD, объём до 15,36 ТиБ. Производительность при случайном доступе (780/253 тыс. IOPS) отстаёт от линейки SN200, но при существенном снижении цены на модели с большим объёмом это не является проблемой.
Western Digital Ultrastar DC SN640
Мы привыкли к тому, что накопители U.2 по габаритам и весу соответствуют 2,5" жёстким дискам на 10/15 тыс. оборотов в минуту. Без корпуса высотой 15 мм не обойтись, когда надо разместить большой объём флеша, как на карточке расширения, и отвести 25 ватт тепла. SN640 с первого взгляда не отличить от SSD с интерфейсом SATA — тонкий 7-мм корпус, и только дополнительные контакты на разъёме выдают интерфейс этого накопителя. Максимальное тепловыделение SN640, в зависимости от модели, составляет от 10 до 12 ватт, то есть в два с лишним раза обычных для полноразмерных NVMe-накопителей 25 ватт.

Помимо U.2 новые SN640 скоро появятся в форм-факторах M.2 и E1.L (он же Intel Ruler SSD). Для последнего, благодаря габаритам, максимальный объём удалось увеличить ещё на две ступени: будут доступны модели на 12800/25600/15360/30720 ГиБ.
Несмотря на «несерьёзный» внешний вид SN640 является полноценным серверным накопителем. Он снабжён защитой от аварийного отключения питания для сохранения состояния DRAM-кэша.
Характеристики
- Объём: 960, 1920, 3840, 7680 ГБ
- Форм-фактор: U.2 7 мм
- Интерфейс: PCI-E 3.1 ×4, NVMe 1.3
- Заявленная производительность (для модели 3840 ГБ)
- Последовательный доступ (максимум): чтение — 3100 МиБ/с, запись — 1800 МиБ/с
- Случайный доступ (блок 4 КиБ): чтение — 469 000 IOPS, запись — 63 000 IOPS
- Эмулируемый размер сектора: 4096 (по умолчанию), 512 байт
- Ресурс: 0,8 DWPD на 5 лет
- Гарантийный срок: 5 лет
Тестирование
Условия тестирования
Конфигурация тестового стенда:- Процессор Intel Xeon 6238 (8 ядер, 3,3 ГГц)
- 32 ГБ памяти
- Системная плата Supermicro X11SPL-F (1x LGA-3647, Intel C621)
- CentOS Linux 7
- Для генерации нагрузки применялся FIO версии 3.14
- Western Digital WUS4BB038D7P3E1 (Ultrastar DC SN640) 3840 ГБ
- Прошивка: R1110009
- Объём: 3 840 755 982 336 байт (3,49 ТиБ)
Использованы модифицированные тесты из SNIA Solid State Storage Performance Test Specification v2.0.1. Данная спецификация описывает алгоритмы различных тестов и формат отчетов для серверных и «настольных» твердотельных накопителей. Ниже приведены параметры тестов и отличия от SNIA PTS:
- IOPS Test. Измеряется количество IOPS (операций ввода-вывода в секунду) для блоков различного размера (1024 КиБ, 128 КиБ, 64 КиБ, 32 КиБ, 16 КиБ, 8 КиБ, 4 КиБ, 0,5 КиБ) и случайного доступа с различным соотношением чтение/запись (100/0, 95/5, 65/35, 50/50, 35/65, 5/95, 0/100). Параметры: 24 потока с глубиной очереди 32 (для накопителей SATA и SAS мы используем 16 потоков с QD 8). Тестирование проводилось в соответствии с критериями для настольных накопителей — на области в 75% от всего объёма. Отличие от спецификации — из теста был исключён блок 0,5 КиБ (512 байт).
- Throughput Test. Тестируется пропускная способность при последовательном доступе: чтение и запись блоками 1 МиБ и 128 КиБ. Дополнительно приведены результаты тестов на запись без preconditioning'а. В большинстве накопителей настольного класса на основе TLC используется так называемый SLC-кэш. При наличии достаточного количества свободных блоков определённая область используется в SLC-режиме, т. е. с записью 1 бита на ячейку вместо трёх, что позволяет существенно поднять производительность записи. Так что методика, применяемая для тестирования серверных накопителей тут не совсем подходит — конечно, после preconditioning'а мы получим «честный», т. е. минимально возможный результат, но с другой стороны интересно узнать и пиковую производительность при использовании SLC-кэша, а так же приблизительный его размер.
- Latency Test. Измеряется значение средней и максимальной задержки для различных размеров блока (8 КиБ, 4 КиБ, 0,5 КиБ) и соотношений чтение/запись (100/0, 65/35, 0/100) при минимальной глубине очереди (1 поток с QD=1). Отличия от спецификации:
- исключён блок 0,5 КиБ
- вместо однопоточной нагрузки с очередями 1 и 32 нагрузка варьируется по количеству потоков (1, 2, 4) и глубине очереди (1, 2, 4, 8, 16, 32).
- вместо соотношения 65/35 используется 70/30
- приводятся не только средние и максимальные значения, но и перцентили 99%, 99,9%.
- для выбранного значения количества потоков строятся графики зависимости задержки (99%, 99,9% и среднего значения) от IOPS для всех блоков и соотношений чтение/запись
- Write Saturation Test. Тестируется изменение производительности (IOPS и задержка) при непрерывной нагрузке (600 раундов по 1 минуте) на случайную запись блоками 4 КиБ. Цель — добиться перехода SSD в режим насыщения, при котором контроллеру приходится непрерывно заниматься сборкой мусора для подготовки пригодных для записи блоков NAND.
-
Host Idle Recovery. Тестируется эффективность работы алгоритмов сборки мусора. После перехода в режим насыщения: непрерывная нагрузка на случайную запись чередуется с облегчённой нагрузкой (5 секунд + паузы 5, 10, 15, 25, 50 секунд). Отличие от спецификации — вместо рекомендованной спецификацией предварительной нагрузки длительностью менее 30 раундов (минут) используется 600 раундов (минут) для обеспечения гарантированного перехода SSD в режим насыщения.
Мы давно не прибегали к этому тесту. Для большинства серверных накопителей он потерял актуальность: скорость восстановления производительности за счёт применения более совершенных контроллеров и алгоритмов выросла настолько, что восстановление видно сразу в первой группе с 5-секундными паузами. Здесь же в нашем распоряжении оказался накопитель настольного класса, где, как правило, алгоритм сборки мусора намеренно замедляется для экономии ресурса. Так ли это в случае Kingston KC2000, мы увидим на соответствующих графиках.
Для первых трех тестов проводится серия замеров из 25 раундов длительностью 1 минута каждый. Перед тестом производится зануление (в данном случае — secure erase при помощи утилиты hdparm), затем — предварительная нагрузка: последовательная запись блоками 128 КиБ до достижения 2-кратной емкости. Далее выбирается по одной из величин окно установившегося состояния (4 раунда), которое проверяется построением графика. Критерии установившегося состояния: линейная аппроксимация в пределах окна не должна выходить за границы 90%/110% среднего значения.
SNIA PTS: IOPS test (IOPS при варьировании размера блока и соотношения чтение/запись)

Размер блока, КиБ | Чтение/запись | ||||||
0/100 | 5/95 | 35/65 | 50/50 | 65/35 | 95/5 | 100/0 | |
4 | 209551 | 187216 | 197442 | 321583 | 321086 | 407602 | 417013 |
8 | 106581 | 100952 | 116587 | 163008 | 155954 | 315200 | 309797 |
16 | 53405 | 41220 | 43673 | 76370 | 82031 | 57778 | 55061 |
32 | 26500 | 22046 | 19333 | 36877 | 41149 | 29027 | 27661 |
64 | 13408 | 12249 | 7358 | 17406 | 20505 | 14543 | 13853 |
128 | 6707 | 6996 | 7901 | 8542 | 10236 | 7279 | 6933 |
1024 | 841 | 876 | 1246 | 1412 | 1290 | 911 | 867 |
Данный тест проводится после предварительной нагрузки на запись (preconditioning), как и предусмотрено спецификацией SNIA. Результат при доступен на чтение блоками 4 КиБ чуть оказался ниже заявленного.
SNIA PTS: throughtput test
Пропускная способность при последовательном доступе блоками 128 КиБ и 1 МиБ, 8 потоков с глубиной очереди 16 на каждый поток.
- 128 КиБ последовательное чтение: 2819,75 МиБ/с
- 128 КиБ последовательная запись: 1815,02 МиБ/с
- 1 МиБ последовательное чтение: 2820,5 МиБ/с
- 1 МиБ последовательная запись: 1817,68 МиБ/с
В отличие от бытовых накопителей, в SN640, как и в большинстве серверных накопителей не используется SLC-кэширование, при котором часть пространства используется в SLC-режиме. SLC-кэш хорошо справляется с кратковременными нагрузками на запись, но при непрерывной, пусть и невысокой нагрузке он приводит к снижению производительности — при исчерпании запаса свободных для записи блоков содержимое кэша приходится копировать.
Latency vs IOPS test
Данные усреднялись по четырём из 25-ти раундов длительностью 35 секунд (5 «прогревочных» + 30-секундная нагрузка) каждый. Для графиков выбрана серия значений с глубиной очереди от 1 до 32 при 1–4 потоках. По мере увеличения глубины очереди растёт задержка, и по подобному графику можно оценить не просто абстрактное число IOPS, а производительность с учётом задержки.
Максимальные показатели IOPS отличаются от первого теста из-за меньшего числа потоков.
Средняя задержка:
Тест проводился дважды — для объёма 3840 ГБ и при снижении объёма до 3200 ГБ (с дополнительным Over Provisioning'ом). Для этого на накопителей создавался namespace1 меньшего объёма. Как и ожидалось, дополнительный OP приводит к росту производительности на запись. При сильной нагрузке на запись можно увидеть практически двукратный прирост, но и в смешанной нагрузке, на которую изначально SN640 не совсем рассчитаны, прирост будет заметным.
99%-перцентиль задержки:
99.9%-перцентиль задержки:
Несмотря на скромные цифры IOPS на запись (это всё-таки накопитель класса read intensive), стоит отменить стабильность задержки. Перцентиль 99,9% для записи не выходит за пределы 1 мс.
SNIA PTS: Write Saturation Test (насыщение при случайной записи блоками 4КиБ)
Рост объёмов современных SSD вынуждает увеличивать продолжительность данного теста. Стандартных 360 минут уже не достаточно для выхода в режим насыщения — продолжительность теста был увеличена до 600 минут.
Ожидаемый результат: с 215 тысяч IOPS в «свежем» состоянии SN640 снижается как раз до заявленных 63 тысяч. При сравнении производительности со старыми накопителями помните об объёмах: SN640 на 3,84 ТБ сейчас будет стоить столько же, сколько 3-4 года назад стоил SSD с интерфейсом SAS на 960 ГБ. С аналогичным ресурсом в 1 DWPD или пусть даже в 3 DWPD. Вчетверо больший объём вывести в режим насыщения гораздо сложнее.
На следующем графике представлены задержки: медианное значение (статистические данные вычислялись в пределах каждого 60-секундного раунда), перцентили 99%, 99,9% и 99,99%. Задержка растёт пропорционально падению IOPS, никаких больших пиковых значений задержки не наблюдается.
Ultrastar DC SN640 демонстрирует практически эталонный уровень контроля задержки в режиме насыщения. Перед окончанием «свежего состояния» мы видим небольшой пик из-за переходных процессов, но дальше все исследуемые перцентили, в том числе и «четыре девятки» практически сливаются с медианным значением.
Host Idle Recovery
Описание данного теста приведено выше. Он хорошо показывает различие в алгоритмах сборки мусора. В SN640 приоритет сборки мусора не является фиксированным. В результате мы видим странную картину: в периоды с паузами накопитель занят чисткой и немного снижает производительность, в периоды с непрерывной нагрузкой приоритет сборки мусора, видимо, снижается и средняя производительность даже немного растёт.
Средняя задержка снижается уже во втором цикле.
Заключение
Накопители Western Digital Ultrastar DC SN640 действительно хорошо подходят для замены SATA SSD в относительно бюджетных серверах. Например, серверные платформы Supermicro 1029P-WTRT позволяют установить два накопителя U.2 NVMe с горячей заменой, а в 6029P-TR можно установить пару накопителей в фиксированные отсеки над основной корзиной. Если для вашего проекта необходим большой объём локального флеша при сравнительно небольшой нагрузке на запись, то SN640 станут лучшим выбором.
Примечания
- Тестирование PCI-E SSD HGST SN150, 2016 год.
- Toshiba Memory and Western Digital to Jointly Invest in Flash Manufacturing Facility in Kitakami, Japan.
- NVMe namespace — область накопителя NVMe, отформатированная для блочного доступа.