Western Digital WHITE PAPER | Июнь 2018 |
Основные аспекты
выбора корпоративных SSD-накопителей
Оглавление
Введение
Кратко: 8 основных аспектов выбора корпоративных SSD
Форм-фактор (формат)
2.5" (SFF, U.2)
Add-In Card (AIC)
M.2
Типы интерфейса
Интерфейс SATA
Интерфейс SAS
Интерфейс NVMe
Режим высокой доступности NVMe "2x2"
Ресурс накопителя (Endurance)
Вычисление срока службы SSD-накопителя
Уровни ресурса SSD
Обработка ошибок, защита от сбоев питания и сквозная защита данных
Коды коррекции ошибок и обработка сигналов
Защита от сбоев питания
Сквозная защита данных
Типы NAND
Типы флеш-памяти NAND
Переход индустрии на 3D NAND
Измерение производительности
Показатели производительности SSD
Выбор правильных параметров тестирования
Важность предварительной подготовки SSD
Отклонения и их влияние на отзывчивость приложений
Энергопотребление и резервная область
Мониторинг и управление
Заключение
Введение
Выбор твердотельных накопителей (SSD) для корпоративных приложений может быть сложной и рискованной задачей. Неправильный выбор форм-фактора сделает невозможной установку накопителя в сервер. Неоптимальный интерфейс ограничит производительность и замедлит работу приложений. Выбор накопителей с недостаточным ресурсом приведет к тому, что накопители придется менять уже через несколько месяцев работы. Даже после того как определены эти базовые параметры, множество других факторов может повлиять на успешность внедрения. К сожалению, спецификации производителей не всегда могут служить надежной основой для принятия решения, поскольку могут использовать различные методики тестирования.
Эта статья поможет пользователю сделать осознанный выбор подходящих SSD-накопителей для его приложений. Мы последовательно рассмотрим такие различные аспекты выбора SSD как форм-фактор, логический интерфейс, технологию работы флеш-памяти, различия в ресурсе записи и многое другое. Понимание роли этих факторов сделает выбор SSD-накопителей корпоративного класса менее рискованным и более эффективным.
Кратко: 8 основных аспектов выбора корпоративных SSD
Форм-фактор: | 2.5" (U.2, SFF), M.2, плата расширения (AIC) |
Интерфейс: | SAS, SATA, NVMe |
Ресурс записи: | высокий, средний, преимущественно для чтения |
Защита данных: | набор встроенных технологий |
Типы NAND: | SLC, MLC, TLC, QLC; 2D или 3D архитектура |
Производительность: | IOPS, пропускная способность, задержка, QoS |
Энергопотребление: | возможность настройки для оптимизации крупных внедрений |
Мониторинг: | поддержка и управление большими внедрениями |
Форм-фактор (формат)
Почему это важно: Форм-фактор определяет, как SSD устанавливается в сервер, можно ли заменить SSD без выключения сервера и как много накопителей можно установить в сервер. Существует несколько вариантов форм-фактора, каждый со своими достоинствами и недостатками (в зависимости от того, что вам нужно).
Поскольку в SSD-накопителях нет движущихся частей, они имеют больше вариантов форм-фактора по сравнению с жесткими дисками. Вы можете найти несколько версий одного и того же SSD-накопителя с одинаковыми характеристиками производительности в различных вариантах исполнения и выбрать тот форм-фактор, который подойдет вам лучше всего.
2.5" (SFF, U.2)
Наиболее распространенный форм-фактор – это 2.5", также известный как Small Form Factor (SFF) или U.2. Этот форм-фактор однозначно определяет ширину и длину накопителя SSD, но не высоту: важно помнить, что накопители 2.5" могут быть разной высоты. Накопители для ноутбуков и настольных компьютеров обычно имеют высоту 7мм. Накопители корпоративного класса могут иметь высоту 7мм (это обычно накопители с интерфейсом SATA), 9мм или 15мм (большинство накопителей с интерфейсами SAS или NVMe). Применительно к установке в серверы высота накопителя обычно относительно не важна, поскольку серверы поддерживают любую из этих высот. (Правда некоторые дополнительные дисковые корзины допускают установку только 7мм накопителей – прим. переводчика).
Бóльшая высота накопителя оставляет больше места для микросхем памяти и контроллера, позволяя улучшить производительность и охлаждение, а также увеличить емкость накопителя.
Форм-фактор 2.5" может поддерживать интерфейсы SATA, SAS и даже NVMe (x4 или 2x2 как описывается в следующем разделе).
Форм-фактор 2.5" используется в передних корзинах многих серверов и систем хранения, допуская горячую замену накопителей без выключения и перезагрузки оборудования. В серверах высотой 1U на передней панели помещается до 10 накопителей 2.5", в серверах высотой 2U – до 24 таких накопителей.
Add-In Card (AIC)
Другой распространенный форм-фактор – это формат платы расширения (Add-In Card, сокращенно AIC). Иногда такой форм-фактор обозначают HH-HL (half height, half length – половинной высоты и половинной длины). Он представляет из себя плату, которая устанавливается в слот PCIe внутри серверного шасси. Только накопители с интерфейсом NVMe, которые подключаются напрямую к шине PCIe, могут использовать этот форм-фактор.
Поскольку накопители AIC устанавливаются внутри серверного шасси, они не поддерживают механизм горячей замены. Однако они могут иметь лучшую производительность и более высокое энергопотребление, чем 2.5" версия того же накопителя, поскольку могут использовать все 8 или 16 линий слота PCIe, а также его большую допустимую мощность по питанию.
M.2
И наконец, последний рассматриваемый форм-фактор M.2 становится в настоящее время популярным для центров обработки данных (ЦОД). Эта длинная открытая плата, которая устанавливается непосредственно в разъем на материнской плате сервера и, как правило, использует интерфейсы SATA или NVMe. Длина платы может варьироваться, микросхемы памяти и контроллера могут располагаться как на одной, так и на обеих сторонах накопителя. Часть "XX" в обозначении накопителя M2-22XX идентифицирует его длину в миллиметрах, возможные величины 42, 60, 80 или 110мм.
Установка таких накопителей в сервер обычно непроста, такие накопители по определению не поддерживают горячую замену. Накопители M.2 с интерфейсом NVMe используют 2 или 4 линии шины PCIe, накопители M.2 с интерфейсом SATA соответствуют стандарту SATA-III.
Из-за небольшого размера и часто неблагоприятного места установки температурные ограничения могут быть существенной проблемой для устойчивой работы накопителей M.2. Эти небольшие накопители иногда имеют недостаточно большую поверхность для рассеивания тепла, что может привести к ограничению производительности и нестабильной работе. Наиболее часто накопители формата M.2 используются в качестве загрузочных, где основная нагрузка – операции чтения.
Форм-фактор: | 2.5" (SFF, U.2) | Add-In Card (AIC) | M.2 |
Размеры | 70 x 100 мм Высота 7-15 мм | 65 x 170 мм HH-HL | 22 x 30-110 мм |
Энергопотребление | 10 – 20 W | До 25 W | < 8 W |
Горячая замена | Да | Нет | Нет |
JBOD/JBOF | Да | Может быть | Может быть |
Всего SSD / 2U | До 24 | 4 - 6 | 1 - 2 |
Таблица 1: Корпоративные SSD доступны в нескольких форм-факторах. |
Типы интерфейса
Почему это важно: Интерфейс – это протокол обмена электрическими и логическими сигналами между CPU и накопителем. Он определяет максимальную пропускную способность, величину задержки, расширяемость и возможность горячей замены SSD-накопителя.
Интерфейс – это логический протокол, используемый SSD-накопителем для взаимодействия с хостом. На сегодняшний день существует три основных интерфейса для SSD: SATA (Serial ATA), SAS (Serial Attached SCSI) и NVMe (PCIe).
В отличие от интерфейса SAS, который используется только для накопителей формата 2.5", интерфейс SATA применяется для накопителей 2.5" и M.2, а интерфейс NVMe используется во всех трех форм-факторах (2.5", AIC и M.2).
Каждый интерфейс разрабатывался для своей целевой аудитории: SATA для экономного домашнего пользователя, SAS для корпоративного пользователя, которому необходимы такие возможности как, например, многоканальные соединения для обеспечения непрерывного доступа к данным, и NVMe для высокопроизводительных приложений благодаря его фокусировке на минимизации задержек и максимальной пропускной способности.
Интерфейсы SATA и SAS поддерживают как SSD, так и HDD, в то время как NVMe – это протокол только для твердотельных накопителей.
Интерфейс SATA
SATA – это самый недорогой, наименее расширяемый, наименее надежный и наименее производительный интерфейс для SSD. Последнее поколение интерфейса SATA – стандарт SATA-III – обеспечивает максимальную пропускную способность на уровне 600 MB/s и имеет довольно высокое время задержки, поскольку этот традиционный протокол разрабатывался для накопителей, в которых данные записываются на вращающемся носителе (HDD, ODD). Обеспечение высокой доступности на аппаратном уровне при использовании SATA невозможно, поскольку нет механизма дублирования соединений. Поэтому для сохранения работоспособности при потере соединения или отказе контроллера придется прибегнуть к использованию репликации на уровне приложения или другой подобной низкопроизводительной стратегии. У интерфейса SATA плохо обстоят дела и с расширяемостью – обычно сервер может поддерживать от 6 до 14 накопителей с интерфейсом SATA. Однако, с учетом низкой стоимости интерфейса SATA и его поддержки практически всеми серверными материнскими платами и чипсетами, он очень удобен для загрузочных устройств и масштабируемых No-SQL баз данных, которые имеют средства обеспечения высокой доступности посредством репликации на уровне приложения. Защита данных посредством организации RAID-массивов на SATA-накопителях поддерживается большинством операционных систем на программном уровне.
Интерфейс SAS
SAS обеспечивает значительно более широкий набор возможностей корпоративного класса, включая поддержку дублирования портов, возможность каскадного подключения расширителей портов и более высокую скорость передачи данных. Современный стандарт интерфейса SAS 12G поддерживает передачу данных со скоростью свыше 1 GB/s по каждому из двух портов. Эти порты можно подключить к двум разным кабелям, контроллерам и даже серверам, позволяя накопителю автоматически подключиться к резервному серверу в случае отказа основного. Системы хранения NAS и SAN корпоративного класса часто требуют поддержки данной возможности, поэтому накопители с интерфейсом SAS присутствуют в продуктовой линейке большинства производителей. Накопители SAS обычно требуют наличия специальных HBA-адаптеров или RAID-контроллеров, хотя иногда SAS-порты присутствуют на материнских платах со встроенным SAS-контроллером. HBA-адаптеры обеспечивают только поддержку протокола SAS, в то время как RAID-контроллеры часто оснащаются быстрой буферной памятью для кэширования операций чтения и записи (для последних кэш-память обычно имеет батарейную защиту на случай отключения питания), а также аппаратной реализацией RAID-логики. Еще одной привлекательной возможностью интерфейса SAS является его многоуровневая расширяемость. Системы JBOD на 24 накопителя и более предлагаются многими вендорами, несколько таких систем можно последовательно или параллельно подключить к одному серверу.
Интерфейс NVMe
NVMe использует прямое подключение к шине PCI Express, которая присутствует во всех современных серверных системах. Это последовательная шина «точка-точка» с варьируемым числом линий передачи данных, число линий обозначается как "x1", "x2", "x4", "x8" или "x16". Эти линии передачи подключаются либо напрямую к процессору без промежуточной логики, либо через чипсет или PCI-свитч, что может увеличить время задержки или снизить пропускную способность, если система неправильно сконфигурирована.
Поскольку интерфейс NVMe базируется на шине PCI Express, в общем случае он может использоваться для подключения накопителей только внутри сервера, но в настоящее время разрабатываются протоколы для подключения к шине PCI Express внешних NVMe-устройств, например, NVMeoF (NVMe over Fabric). NVMe первоначально разрабатывался как ультра-высокоскоростной интерфейс для устройств типа оперативной памяти, а не для жестких дисков. Большая часть сложности и многоуровневости, присутствующие в протоколах SAS и SATA полностью исключены из этого протокола. Даже такие вещи, как обращения к оперативной памяти минуя кэш, что сильно замедляет работу процессора, сведены к минимуму. Данная технология обеспечивает беспрецедентно низкий уровень задержки интерфейса – порядка 1-2 микросекунд – в несколько раз быстрее чем у традиционных протоколов для накопителей как показано на рисунке 1.
Поскольку интерфейс NVMe основан на использовании шины PCI Express, важно различать поколения шины PCIe. Каждый слот PCIe маркируется как "Gen X", где X – это обозначение поколения. Наиболее современные серверы на сегодня имеют интерфейс "Gen 3", который обеспечивает пропускную способность 1GB/s на линию в каждом направлении одновременно (в сумме 2GB/s). Таким образом, разъем "x4 Gen3" может обеспечить пропускную способность 4GB/s для SSD с интерфейсом NVMe. Основное отличие между поколениями шины PCI Express – это пропускная способность, которая удваивается с каждым следующим поколением. Это означает, что слот "x4 Gen3" имеет такую же скорость передачи как слот "x8 Gen2". Это увеличение пропускной способности позволило перейти от SSD-накопителей форм-фактора AIC с интерфейсом PCIe x8 Gen2, которые можно было вставить только в слот на материнской плате, к накопителям с интерфейсом PCIe x4 Gen3 формата 2.5", которые устанавливаются в корзину на передней панели сервера и подключаются к шине PCIe кабелями, без потерь в скорости интерфейса.
Режим высокой доступности NVMe "2x2"
Некоторые модели накопителей формата U.2 (т.е. 2.5") могут поддерживать режим "dual-port", также известный как "2x2". Физический канал интерфейса x4 разбивается на два отдельных логических канала половинной ширины. Хотя режим "2x2" снижает пропускную способность интерфейса до 2GB/s, он дает возможность дублирования портов, которая имеется у SAS-накопителей, чтобы обеспечить наличие резервного соединения с хранилищем данных через отдельный контроллер. Эта возможность используется в системах высокой доступности NVMe JBOF с двумя контроллерами, чтобы обеспечить переключение на резервный контроллер в случае отказа основного контроллера.
Ресурс накопителя (Endurance)
Почему это важно: Гарантия на любой SSD-накопитель предполагает ограничение на объем данных, который может быть записан на него в течение срока службы, поскольку ячейки флеш-памяти рассчитаны на ограниченное число циклов стирания и записи. Выбор накопителя с бóльшим, чем необходимо, ресурсом для нагрузок с преобладающими операциями чтения, приведет к неоправданному увеличению затрат. С другой стороны, выбор накопителя с небольшим ресурсом для нагрузок с интенсивными операциями записи приведет к преждевременному отказу накопителя.
Жесткие диски используют метод ориентации магнитных доменов для записи нулей и единиц, что обеспечивает неограниченное число операций записи. В противоположность этому, в ячейках флеш-памяти электрический заряд помещается в область плавающего затвора, тем самым «записывая» биты данных, причем эта операция всегда должна предваряться операцией стирания ячейки и может быть выполнена лишь ограниченное число раз (от 100 до 10’000). Физически процессы стирания и записи данных постепенно приводят к разрушению ячейки флеш-памяти. Поэтому флеш-накопители имеют ограниченный ресурс и для них важны технологии коррекции ошибок, которые (ошибки) могут возникать из-за износа ячеек.
Вычисление срока службы SSD-накопителя
Срок службы SSD-накопителя или ресурс ("Endurance") обычно указывается как «число перезаписей накопителя в день» (Drive Writes per Day (DW/D или DWPD)) или как число терабайт, которые можно записать на накопитель (Terabytes Written (TBW)). Эти величины представляют объем пользовательских данных, которые гарантированно можно записать на накопитель на протяжении его срока эксплуатации. Число перезаписей в день (DWPD) – наиболее часто используемый показатель, характеризующий ресурс накопителя. Это число, которое может принимать значения от менее 0.1 до более 10, показывает объем данных, который может быть записан на накопитель каждый день в течение его гарантийного срока.
TBW и DW/D связаны следующей формулой:
TBW = DW/D * Warranty * 365 * Capacity |
Примечание: Capacity (емкость накопителя) указывается здесь в TB |
Например, SSD объемом 1TB с ресурсом 3 DW/D и гарантийным сроком 5 лет рассчитан на запись общего объема
3 DW/D x 5 x 365 x 1TB = 5.5PB.
Сравнение SSD-накопителей с различными показателями DW/D может оказаться не таким тривиальным, как кажется на первый взгляд. Два накопителя с одинаковыми показателями DW/D могут сильно отличаться по показателю TBW, который зависит от емкости накопителя. Иногда накопители с меньшим показателем DW/D могут иметь больший показатель TBW, чем у накопителя с большим DW/D. Например, SSD объемом 256GB с относительно высоким DW/D=10 и 4-летней гарантией может записать 256GB x 10 x 4 x 365 = 3.65PB, в то время как SSD объемом 6.4TB и намного меньшим DW/D=1 с таким же гарантийным сроком 4 года может записать в сумме почти в три раза больше данных: 6.4TB x 1 x 4 x 365 = 9.3PB.
Накопителей, чей ресурс указан как параметр TBW, можно сравнивать друг с другом напрямую (без вычислений). Это достаточно просто: накопитель с показателем ресурса 1000TB Written может записать в два раза больше данных, чем накопитель, в спецификации которого указано 500TB Written.
Уровни ресурса SSD
Даже в единой продуктовой линейке SSD-накопителей может присутствовать широкий диапазон показателей ресурса. Многие лидеры отрасли используют следующую градацию ресурса: High Endurance (HE), Medium Endurance (ME), Read-Intensive (RI) или Very Read-Intensive (VRI).
Выбор накопителя с тем или иным уровнем ресурса зависит от его планируемого использования. Если ваша инфраструктура позволяет проводить необходимые измерения, вы можете выполнить мониторинг приложений, чтобы получить точные цифры нагрузки (не забывая при этом о возможном ее увеличении в будущем).
Обработка ошибок, защита от сбоев питания и сквозная защита данных
Почему это важно: Существенное различие между клиентскими и серверными накопителями SSD – используемые технологии обработки ошибок. Внезапное отключение питания, случайные битовые ошибки контроллера или «перевернутые» биты при передаче данных, ошибки флеш-памяти – все это может привести к потери целостности данных. Существует большая разница между клиентскими и корпоративными SSD-накопителями в том, насколько эффективно они могут бороться с последствиями данных событий.
SSD-накопители – эффективные и производительные устройства, но без использования надлежащих технологий защиты данных корпоративного уровня существует риск потери этих данных. Такая защита данных в корпоративных накопителях охватывает три основных области: обработка ошибок флеш-памяти, защита от потери питания и сквозная (End-to-End) защита путей передачи данных. Все это позволяет предотвратить потерю данных или извлечение неверных данных на различных стадиях их обработки.
Коды коррекции ошибок и обработка сигналов
Базовая технология защиты от ошибок NAND-памяти основана на использовании кода коррекции ошибок (ECC, Error Correcting Code). Она позволяет определить и исправить определенное количество «перевернутых» битов в определенной области чтения. «Мощность» кода коррекции ошибок, измеряемая в количестве битов, которые он может исправить, напрямую влияет на надежность и долговечность накопителя. Использование кода коррекции ошибок (ECC) позволяет изношенным и «шумным» ячейкам NAND обеспечивать правильную работу на протяжении всего срока службы устройства. Реализация защиты при помощи ECC внутри накопителя напрямую зависит от поколения флеш-памяти NAND и ее архитектуры, но общее правило таково: чем больше уровней на ячейку, тем больше избыточных битов требуется для ECC. Так, память TLC обычно требует значительно большей «мощности» ECC по сравнению с МLC.
Срок службы и надежность накопителей SSD можно также увеличить при помощи передовых методов обработки сигналов и динамического управления работой ячеек в течение срока службы SSD. Лучшие контроллеры изменяют алгоритмы и уровень сигналов при программировании и чтении ячеек в зависимости от «возраста» накопителя, значительно снижая число ошибок чтения/записи, которые необходимо исправлять при помощи кода коррекции ошибок. Корпоративные накопители SSD Western Digital Ultrastar применяют усовершенствованную технологию коррекции ошибок.
Защита от сбоев питания
Защита от сбоев питания критична для устройств, которые используются для хранения транзакционных баз данных, а также приложений, которым требуется подтверждение того, что записанные данные не утеряны. Благодаря блоковой природе программирования флеш-памяти, все SSD имеют небольшую область кэш-памяти RAM, в которую записываются данные перед тем, как они будут записаны в предварительно стертый блок флеш-памяти. В реальности накопитель SSD возвращает приложению сигнал о том, что он «завершил» запись, когда на самом деле данные, как правило, присутствуют только в кэш-памяти RAM, а фактическая запись во флэш-память все еще выполняется. Если питание сервера пропадет до того, как флеш-память обновится, данные никогда не будут записаны на накопитель. Когда питание сервера возобновится, приложение попытается восстановить потерянные транзакции, но не сможет восстановить данные, не записанные во флеш-память, что приведет к потере целостности данных.
SSD корпоративного класса решают эту проблему за счет наличия внутреннего источника питания - обычно это несколько конденсаторов на плате накопителя. Эти конденсаторы заряжаются от сервера. При внезапном сбое питания они имеют гарантированный запас энергии, чтобы SSD смог завершить запись всех данных, которые находятся в кэш-памяти RAM. Настоящие SSD корпоративного класса также проверяют работоспособность и ресурс этих конденсаторов каждый раз, когда сервер включается. Это подобно тому, как традиционные устройства батарейной защиты кэш-памяти RAID-контроллеров (BBU) периодически выполняют проверку своего состояния.
Сквозная защита данных
Наконец, сквозная защита данных (end-to-end data path protection) помогает гарантировать, что все данные пользователя, передаваемые на SSD, защищены от ошибок передачи (случайных «перевернутых» битов). Подобно тому как основная память сервера использует коды коррекции ошибок, а внутренние каналы передачи данных процессора включают данные четности, SSD добавляет проверочные биты для все пользовательских данных и проверяет их состояние перед выполнением операций. Без этой проверки незамеченные «перевернутые» биты могут пройти через контроллер, в результате чего накопитель запишет неверные данные.
Типы NAND
Почему это важно: сегодня твердотельные накопители построены на флэш-ячейках с широким спектром реализаций. Они варьируются от однослойных конфигураций с одним битом на ячейку до трехмерных групп, в которых каждая флэш-ячейка хранит до 16 различных уровней заряда. Понимание сильных и слабых сторон каждого типа NAND поможет вам выбрать подходящий срок службы и надежность SSD для конкретного приложения.
Ячейка NAND является основным компонентом хранилища в SSD. На высоком уровне важным показателем является количество битов, хранящихся в ячейке. Это существенно влияет на выносливость и архитектуру массива ячеек NAND, от чего, в свою очередь, может зависеть плотность хранения данных и стоимость накопителя.
Типы флеш-памяти NAND
Основное различие между хранилищем NAND и другими типами хранилищ заключается в том, что каждый элемент или ячейка NAND может хранить более одного бита данных, очень тщательно настраивая алгоритм записи и чтения. Это значительно увеличивает количество используемых флеш-битов на SSD без существенного увеличения стоимости. В технологии одноуровневой ячейки (SLC) ячейка NAND может хранить только значения 0 или 1. Этот метод использовался в ранних твердотельных накопителях, но из-за высокой стоимости и узких диапазонов производительности и надежности он сегодня широко не используется. Технология многоуровневых ячеек (MLC) использует один из четырех разных уровней заряда для представления двух битов (00, 01, 10 или 11). Эта технология по существу удваивает емкость одного чипа NAND по сравнению с SLC и является причиной значительного снижения стоимости современных SSD. Большой процент твердотельных накопителей корпоративного класса используют флэш-память MLC и обеспечивают высокую производительность и долговечность.
Новейшая технология - это трехуровневая ячейка (TLC) NAND, которая хранит три бита на ячейку с восемью различными уровнями заряда (000, 001, 010, 011, 100, 101, 110 или 111). Производительность чтения сопоставима с MLC, но из-за увеличения плотности данных производительность записи TLC, как правило, ниже по сравнению с MLC. Ячейка с четырьмя уровнями, или QLC NAND, хранит 4 бита данных в одной ячейке NAND и уже была анонсирована несколькими поставщиками, включая Western Digital. Поскольку требуется, чтобы ячейка точно сохраняла 16 различных уровней заряда (0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110 или 1111), эта технология будет иметь очень малый ресурс записи и, как ожидается, будет присутствовать только во флэш-архивах, где обновления будут редкими.
Тип NAND | Бит на ячейку | Уровни заряда | Ресурс ячейки | Типовое применение |
SLC | 1 | 2 | 100'000 | Не часто встречается, в первых SSD использовался в приложениях с высокой производительностью чтения и записи |
MLC | 2 | 4 | 10'000 | Универсальное использование с большим диапазоном ресурса записи |
TLC | 3 | 8 | 3'000 | Массовое применение в потребительском сегменте и рост в корпоративном сегменте. Часто оптимальное соотношение цены и ресурса для приложений средней производительности |
QLC | 4 | 16 | 1'000 | Только появляются, для архивных приложений типа «записал однажды - прочитал много раз» (WORM) |
Таблица 3: Типы флеш-памяти NAND |
Переход индустрии на 3D NAND
Существуют разные способы организации ячеек NAND, но с точки зрения пользователя самое большое различие - это 2D и 3D NAND. 2D NAND имеет один слой ячеек, расположенный на кремниевой пластине, аналогично тому как изготавливается память DRAM или процессоры. 2D NAND является первоначальным методом создания устройств NAND. Для увеличения емкости накопителей производители 2D NAND уменьшали размер ячеек. Тем не менее существует физический предел того, насколько маленькими могут быть ячейки, чтобы надежно хранить необходимое количество электронов, обеспечивающее корректное чтение ячейки. Поэтому отрасль развивается от 2-мерного NAND к 3-мерному NAND, чтобы обеспечить более высокую плотность хранения данных. Производители переходят на 3D-процесс, где отдельные элементы NAND фактически больше, чем в последних поколениях 2D NAND, чтобы ослабить ограничения полупроводниковой литографии и обеспечить достаточный объем для надежного хранения заряда. Чтобы компенсировать это увеличение размера, хранилище NAND построено вертикально, как небоскреб. По мере добавления слоев общий объем данных, который может хранить одна микросхема, увеличивается, но вместе с этим усложняется и архитектура памяти NAND.
Измерение производительности
Почему это важно: Стремление к повышению производительности часто является первой причиной, по которой архитекторы обращают внимание на твердотельные накопители. Однако оценка реальной производительности не является простой и легкой. Необходимые показатели производительности должны быть получены при предопределенной репрезентативной рабочей нагрузке. Это необходимый шаг для понимания производительности SSD в конкретном приложении.
Измерение производительности часто является «черной магией». Не существует универсального подхода к определению истинной производительности приложения с использованием SSD без фактического запуска этого приложения. Но даже когда приложение может быть протестировано на конкретном SSD, должен существовать метод тестирования всего спектра возможной нагрузки (например, пиковая загрузка веб-магазина в Черную пятницу или День холостяков, или выверка базы данных бухгалтерского учета на конец года). В противном случае результаты могут быть не совсем достоверными.
Показатели производительности SSD
Из-за сложности тестирования с использованием реальных прикладных рабочих нагрузок измерение производительности большинства твердотельных накопителей выполняется с использованием синтетических тестов в определенных условиях. Типичными показателями производительности SSD являются число операций ввода-вывода в секунду (IOPS), пропускная способность, задержка, качество обслуживания (QoS), а также величина отклонения задержки от средних значений («выбросы»).
IOPS - это число операций ввода-вывода, которые SSD выполняет за одну секунду , Эти операции обычно выполняются с блоками одного и того же размера (4КБ и 128КБ являются стандартными размерами, но размер должен быть указан в спецификации накопителя). Следует также указать процентное соотношение операций чтения и записи, так как очень немногие реальные рабочие нагрузки являются задачами только чтения или только записи, а смешанные рабочие нагрузки часто являются более сложными для твердотельных накопителей.
Пропускная способность (Throughput) - это объем данных, который может быть передан в или из твердотельного накопителя в единицу времени. Пропускная способность обычно измеряется в мегабайтах в секунду (MBPS или MB/s) или гигабайтах в секунду (GBPS или GB/s). Направление передачи данных - будь то чистая запись, чистое чтение или смешанная рабочая нагрузка записи и чтения - здесь также должно быть указано.
Задержка - это время, необходимое для выполнения запроса приложения к SSD, то есть время от момента посылки запроса до возврата подтверждения записи или запрошенных данных чтения. По сути, это время прохождения данных в оба конца через SSD. Задержка обычно измеряется в миллисекундах или микросекундах, но будущие устройства постоянной памяти смогут уменьшить это время до наносекунд. При указании времени задержки важно указать количество ожидающих операций ввода-вывода в очереди. «Задержка без нагрузки» - это задержка операции ввода-вывода, когда в системе не выполняется никакой другой запрос, а «задержка с глубиной очереди X» - это задержка ввода-вывода, когда SSD должен обработать количество операций ввода-вывода X параллельно. Задержка обычно увеличивается по мере увеличения числа ожидающих операций ввода-вывода (глубины очереди), поэтому важно измерить показатели задержки на ожидаемом уровне глубины очереди рабочей нагрузки.
Качество обслуживания (QoS) измеряет постоянство производительности в течение определенного промежутка времени с фиксированным уровнем достоверности. В этом типе отчетов присутствует большая вариабельность, но обычно «макро QoS» сообщает о постоянстве среднего IOPS во времени, в то время как «микро QoS» отображает задержки отдельных операций ввода-вывода и определяет их превышение над стандартными значениями.
Выбор правильных параметров тестирования
Моделируемые рабочие нагрузки характеризуются размерами блоков, характером доступа, глубиной очереди ввода-вывода и соотношением операций чтения-записи. Размер блока - это просто реальный размер блока данных в операциях ввода-вывода для поставленной задачи. Для баз данных это может быть 4КБ, 8КБ или 16КБ, в то время как для потокового мультимедиа может использоваться больший размер блока 128 КБ. Характер доступа определяется как последовательный (последовательные диапазоны SSD запрашиваются последовательно) или случайный (расположение запрашиваемого блока данных при каждой операции ввода-вывода не зависит от расположения блоков для предыдущих операций). Глубина очереди (или глубина ввода-вывода), является показателем параллелизма операций ввода-вывода, отражая количество одновременно выполняемых операций в любой момент времени.
Большинство приложений могут иметь несколько потоков, каждый из которых читает или записывает отдельный набор операций ввода-вывода. Таким образом, значения глубины очереди от 16 до 256 часто используются для имитации таких конфигураций. Даже однопоточные приложения при работе в виртуализированной или контейнерной среде демонстрируют высокую глубину очереди. Это достигается путем объединения запросов нескольких приложений, каждое из которых использует единичную глубину очереди.
Соотношение операций чтения и записи (R : W или R / W) указывает процент операций ввода-вывода, которые читают ранее записанные данные, по сравнению с процентом операций, которые записывают новые или обновленные данные. В то время как многие спецификации SSD показывают производительность 100% чтения или 100% записи, в реальном мире такие чистые рабочие нагрузки чтения или записи очень редки. Поскольку твердотельные накопители легче оптимизировать для этих чистых рабочих нагрузок, полученные результаты могут быть выше уровня, которого может достичь реальное приложение, поэтому очень важно включить некоторые смешанные рабочие нагрузки в любой сравнительный анализ. Более реалистичное соотношение чтения-записи 60:40 или 70:30 может быть полезно для тестирования баз данных OLTP и OLAP, в то время как соотношение 90:10 может иметь смысл для малонагруженных баз данных или журналов.
Важность предварительной подготовки SSD
Предварительное состояние накопителя также необходимо учитывать при любых испытаниях. Большинство твердотельных накопителей имеют совершенно другой профиль производительности в состоянии «прямо из коробки» ("Fresh Out of the Box" (FOB)) по сравнению с «установившимся состоянием» ("steady state") - полностью записанный накопитель в результате продолжительной серии операций ввода-вывода. Рисунок 2 дает представление об изменении производительности SSD, начиная с полностью нового SSD, который затем был подвержен рабочей нагрузке записи со случайным доступом блоками по 4КБ в течение нескольких часов. Хотя производительность FOB может служить хорошим показателем начальной производительности накопителя, после использования в течение нескольких дней или месяцев SSD, как правило, будет находиться в «установившемся состоянии» с более низким уровнем производительности. Поскольку ожидается, что многие корпоративные твердотельные накопители будут эксплуатироваться в течение нескольких лет при очень высокой нагрузке, «установившиеся состояние» в большей степени отражает производительность приложения, чем FOB, и должно учитываться при любом тестировании.
Чтобы привести твердотельный накопитель в «установившееся состояние», он должны быть предварительно подготовлен. Лучшие методики тестирования полностью заполняют накопитель несколько раз (блоки перезаписываются более одного раза). Произвольные записи блоков выбранного размера выполняются в течение нескольких часов или даже дней, пока наблюдаемая производительность не покажет спад в «установившемся состоянии». Таким образом, при тестировании рабочей нагрузки с блоками по 16КБ будут неоднократно выполняться операции ввода-вывода с высокой глубиной очереди блоками по 16 КБ и 100%-ной записью. Однако такая практика становится обременительной, так как большинство испытаний включает в себя блоки нескольких размеров, и каждая стадия предварительного заполнения накопителя может занимать много времени. Лучший компромисс между точностью и временем тестирования - просто выполнить рабочую нагрузку с произвольным доступом и большой глубиной очереди блоками 4 КБ и 100%-ной записью перед любой серией испытаний.
Отклонения и их влияние на отзывчивость приложений
Одной из часто упускаемых из виду характеристик производительности твердотельных накопителей является качество обслуживания (QoS) или то, насколько сильно отдельные операции ввода-вывода могут различаться по задержке. Проблема заключается в том, что отдельные операции ввода-вывода, которые занимают значительно больше времени, чем в среднем, могут привести к тому, что ваше приложение нарушит SLA (Соглашение об уровне предоставления услуги (Service Level Agreement, SLA)). Например, у вас может быть твердотельный накопитель со средней задержкой для операций ввода-вывода 100 микросекунд, но для 5% операций ввода-вывода эта задержка достигает 1000 микросекунд (1 миллисекунда). Теперь предположим, что у вас есть база данных NoSQL, которая должна гарантировать в 99% случаев время поиска, скажем, 500 микросекунд на операцию. Даже при том, что SSD имеет очень хорошую среднюю задержку доступа, он не может соответствовать вашему SLA верхнего уровня. SSD с немного более высокой средней задержкой в 150 микросекунд, но с задержкой ввода-вывода 1 миллисекунда для всего лишь 1% операций будет лучшим выбором и будет соответствовать вашему SLA. Также важно взглянуть на отклонения задержки для вашего конкретного соотношения чтения-записи и размера блока, так как эти отклонения SSD могут сильно различаться.
Энергопотребление и резервная область
Почему это важно: SSD-накопители часто можно настроить для оптимизации энергопотребления и производительности. Интеллектуальное использование этих опций позволяет значительно экономить электроэнергию в центрах обработки данных или повысить производительность.
Все корпоративные твердотельные накопители имеют ограничение по энергопотреблению, обычно в пределах требований к интерфейсу (максимум 25 Вт для твердотельных накопителей NVMe, около 10-14 Вт для SAS и около 5-10 Вт для SATA). Для специальных рабочих нагрузок с жесткими ограничениями энергопотребления, например, при развертывании в массивных стойках, ограниченных по мощности или охлаждению, некоторые твердотельные накопители корпоративного класса можно настроить для установки более низкого предела энергопотребления. В этом случае твердотельные накопители дросселируют мощность, чтобы снизить максимальное энергопотребление, часто за счет производительности. Если вы используете конфигурацию регулирования мощности в своей рабочей нагрузке, вы должны проверить реальное влияние на производительность, протестировав SSD с включенным параметром регулировки мощности.
Другой вариант настройки, который предоставляют некоторые корпоративные твердотельные накопители для центров обработки данных – возможность назначения размера резервной области ("Overprovisioning"). Корпоративные твердотельные накопители обычно поставляются с доступным для пользователя пространством на 1–20% меньше, чем общее количество флэш-памяти в накопителе, причем это дополнительное пространство используется для увеличения производительности или срока службы устройства. В некоторых SSD этот процент может быть изменен пользователем. Как правило, увеличение размера резервной области (и сокращение полезного пространства) увеличивает производительность записи (но не производительность чтения). Поскольку это изменение резервной области влияет на используемый размер, оно разрушает данные и должно быть выполнено до использования файловой системы или приложения. Если вы используете эту опцию конфигурации, обязательно снова выполните шаги предварительной подготовки к тестированию и повторно запустите весь набор тестов производительности, чтобы проверить истинное влияние на производительность.
Мониторинг и управление
Почему это важно: развертывание твердотельных накопителей относительно просто. Тем не менее, по мере развертывания большого количества твердотельных накопителей использование инструментов, которые могут отслеживать работоспособность, производительность и заполнение из одной консоли централизованной платформы, сэкономит время и поможет избежать стрессовых ситуаций.
Различные интерфейсы SSD-накопителей поддерживают разные технологии мониторинга. Базовая технология мониторинга, доступная в интерфейсах SATA, SAS и NVMe, называется SMART (Self-Monitoring, Analysis, and Reporting Technology - технология самоконтроля, анализа и отчетности). Она предоставляет инструмент мониторинга для проверки основного состояния и производительности одного накопителя. Используя эту технологию, интерфейс SAS добавляет десятки дополнительных страниц регистрации ошибок, что позволяет получить более детальное представление о работоспособности накопителя. Производители сегодня разрабатывают подобную детальную инфраструктуру мониторинга и ведения журналов для накопителей NVMe. Более продвинутые производители твердотельных накопителей могут предоставить инструменты мониторинга, которые могут интегрировать весь парк твердотельных накопителей и управлять им. Они также могут обеспечивать интеграцию Active Directory / LDAP, автоматические оповещения по электронной почте и отчеты о сроке службы, а также возможность выполнять функции для конкретного устройства и/или для всего предприятия, такие как форматирование, очистка, изменение размера и обновление встроенного программного обеспечения.
Заключение
Корпоративные твердотельные накопители полностью произвели революцию в центрах обработки данных. Несмотря на то, что жесткие диски по-прежнему имеют хорошие перспективы в центрах обработки данных для хранения огромных объемов архивных и больших данных, беспрецедентное преимущество в производительности SSD для высокоскоростных баз данных и других приложений неоспоримо. Выбор подходящего SSD для конкретного развертывания может быть сложным, так как существует множество твердотельных накопителей корпоративного класса, которые охватывают весь спектр цен, производительности, форм-факторов, ресурса и емкости. При оценке корпоративных твердотельных накопителей не ограничивайтесь простыми значениями IOPS или пропускной способности для обеспечения производительности в соответствии с вашими потребностями. Подумайте о качестве обслуживания, чтобы гарантировать выполнение соглашений об уровне обслуживания ваших приложений, производительности на смешанных нагрузках для лучшего соответствия реальным рабочим нагрузкам и форм-факторе, помогающим в отказоустойчивых архитектурах с «горячей» заменой.