Уважаемый посетитель! Вы используете устаревший браузер, чтобы страница работала правильно, рекомендуется использовать современный браузер.

Вступление

SSD для «горячих» и «теплых» данных

В корпоративном сегменте использование накопителей на базе флеш-памяти началось давно — еще тогда, когда цена ее была слишком высокой с точки зрения частных пользователей. В таких условиях разговор шел о высоконагруженных системах: когда ощущается недостаток производительности дисковой системы, денежные затраты перестают иметь определяющее значение. Этот сегмент активно развивался, что несколько лет назад привело к появлению протокола NVMe и поддерживающих его устройств, рассчитанных на подключение к интерфейсу PCIe. Сейчас именно они используются в тех случаях, когда важна максимальная производительность. Поскольку объем «горячих» данных обычно невелик, емкость этой части СХД также невелика — как общая, так и составляющих ее накопителей (зачастую не превышает 1 Тб).

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

Основные технические требования к твердотельным накопителям полностью определяются назначением. Емкость одиночного устройства должна составлять от 0,5 до 4 Тб, при этом интерфейс должен быть SATA. Почему не PCIe? Потому, что пока это дороже. Да и своеобразный дефицит линий PCIe уже нередок, поэтому их лучше оставить самым быстрым SSD или RAID-контроллеру: те же 4-8 линий позволят установить в систему не 1-2 NVMe-накопителя, а массив из 8 или более SATA-устройств. Особенно это важно с учетом наличия в эксплуатации не только новых, но и относительно старых серверов, многие из которых можно существенно ускорить заменой части винчестеров на SSD. Соответственно, они должны подходить к стандартным дисковым корзинам, что хорошо сочетается с требованиями и к емкости, и к интерфейсу. Почему не SAS? Его расширенные возможности нужны не всем, но стоят достаточно дорого и на сегодняшний день реализуются обычно силами NVMe-накопителей. Поскольку любой SAS-контроллер поддерживает SATA-устройства, но не наоборот, это обеспечивает и максимальную совместимость.

Формально эти возможности реализованы в огромном числе SSD-накопителей бытового назначения. Фактически же корпоративное окружение накладывает дополнительные требования.

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

Несимметричность записи и чтения

источник: iXBT.com

Как видим, они очень похожи, различия касаются только операций записи: представители линейки DC500M и более высокую производительность обеспечивают, и гарантийный ресурс у них выше. По последнему можно приблизительно оценить, какова граница между преобладанием чтения и смешанной нагрузкой с точки зрения Kingston: накопителям линейки DC500R «разрешено» перезаписывать данные на половину объема в день, а DC500M может это делать почти в три раза интенсивнее. Что, естественно, не означает, что эти накопители бесполезны при меньшем количестве записей — их производительность будет все-таки более высокой, чем у DC500R.

При этом все модели имеют сходную элементную базу. Сердцем накопителей является Phison S12 — восьмиканальный контроллер, появившийся одним из последних, если говорить об устройствах с SATA-интерфейсом, и вобравший в себя все лучшие наработки компании. Работу контроллера обеспечивает DRAM-буфер DDR4-1600: в DC500R его объем составляет мегабайт на каждый гигабайт емкости, в DC500M — вдвое больше. Для хранения данных используется 64-слойная память 3D NAND TLC производства Micron — но в разных количествах даже при формально одинаковой полезной емкости.

По этому показателю DC500R неотличимы от большинства SSD — в массив включено 16 или более (в зависимости от емкости) кристаллов флеш-памяти. Восемь каналов с минимум двукратным чередованием позволяют накопителям полностью задействовать пропускную способность SATA-интерфейса и при чтении, и при записи на всем объеме, а не только в пределах SLC-буфера. Размер резерва также типовой: например, в накопителе на 480 Гб 16 кристаллов по 256 Гбит, что дает сырую емкость 512 двоичных гигабайтов. Из них надо получить 480 «нормальных» десятичных (которые меньше), так что в итоге получается примерно 15% резерва. В моделях большей емкости все пропорционально.

Основным аппаратным отличием DC500M от собрата является как раз количество кристаллов флеш-памяти: оно кратно 20. Таким образом, те же 480 Гб на самом деле 640 Гб, просто резерв уже составляет порядка 30% емкости накопителя. Минимум такой объем будет всегда свободен — даже если устройство забить данными под завязку. Оперируя столь солидным запасом, контроллер всегда сможет сбалансировать нагрузку, найдя полностью свободные блоки для новых операций записи. Это положительным образом сказывается и на скорости выполнения операций, и на жизненном цикле накопителя: даже если его настолько перегрузить работой, что через несколько лет блоки флеш-памяти начнут выходить из строя (а ресурс NAND, к сожалению, конечен), долгое время это будет приводить разве что к некоторой деградации производительности, но не к потере полезной емкости. Сначала придется израсходовать весь резерв, а его в данном случае много.

Конфигурация массива флеш-памяти является практически единственным и определяющим с точки зрения нагрузок записи различием между DC500R и DC500M. И в плане цены, к сожалению, тоже: резервную емкость приходится оплачивать так же, как и полезную. Поэтому и нельзя ограничиться всего одним семейством: если количество перезаписей данных невелико, более дешевый DC500R справится с работой ничуть не хуже, а, например, танталовые конденсаторы для реализации аппаратного PLP есть и там и там. И гарантийный срок в обеих линейках составляет пять лет — просто для DC500R гарантия жестче ограничена полным объемом записи, но это логично.

Подавляющее большинство твердотельных накопителей (за исключением бюджетных моделей или, напротив, топовых — использующих не NAND-флеш, а более быстрые типы памяти) снабжены внушительным количеством DRAM: от мегабайта на каждый гигабайт емкости. Вопреки расхожему мнению и в отличие от жестких дисков, в основном DRAM используется не для кеширования операций чтения/записи, а для обеспечения жизнедеятельности самого контроллера — в первую очередь для хранения копии таблицы трансляции, которая определяет соответствие логических блоков физическим. Держать таблицу трансляции (хотя бы частично) в DRAM нужно, во-первых, для ускорения доступа, а во-вторых, потому, что ее содержимое постоянно меняется: как уже было сказано выше, при перезаписи SSD сохраняют данные в новые физические блоки, не меняя содержимое старых, а логические адреса остаются прежними. Но динамическая память энергонезависимой не является, поэтому основным местом хранения таблицы трансляции и других служебных данных является сам основной массив флеш-памяти, куда регулярно и записывается информация из DRAM. Понятно, что делать это лучше при простое или вообще при выключении, чтобы данные операции не сказывались на производительности.

Если не выходить за рамки бытового сегмента, проблем не возникает. Во-первых, интенсивных операций записи в нем нет, так что нет и интенсивного изменения таблицы трансляции. Во-вторых, простой — обычный «рабочий» режим для накопителя, да и перезагрузка/выключение системы происходит регулярно. Ни того ни другого от сервера ожидать не приходится: эти системы могут интенсивно работать и месяцами. Соответственно, через некоторое время таблица трансляции, загруженная из флеш-памяти в DRAM при запуске, меняется до неузнаваемости. Но если в этот момент произойдет скачок напряжения или отключение питания, есть риск лишиться всех изменений с непредсказуемыми последствиями — вплоть до полной потери всей информации.

Понятно, что защита от сбоев в работе электросети для любого дата-центра (да и для отдельно стоящего сервера) — краеугольный вопрос не только из-за накопителей. Однако дополнительные контуры безопасности лишними никогда не будут. В данном случае таким контуром являются дополнительные конденсаторы с запасом энергии, предназначенные для аварийного сброса содержимого DRAM во флеш-память при неожиданном отключении питания. Ранее аппаратная схема защиты от сбоев питания (PLP) встречалась и во многих накопителях бытового назначения, однако сейчас от нее отказались практически все производители — она не является необходимой, но повышает цену устройства. В корпоративном сегменте, как было сказано выше, без PLP тоже можно обойтись, но по мнению многих покупателей, делать этого не стоит.

Защита от сбоев электропитания

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

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

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

Решение этих проблем существует и давно известно: если емкость области, выделенной под пользовательские данные, меньше полной емкости накопителя, у контроллера всегда есть резерв свободного места, которым он и пользуется для балансировки нагрузки, сборки мусора и т.п. Минус такого подхода — платить приходится в том числе за резервную емкость, а использовать только полезную. Поэтому в потребительских моделях запаса чаще всего почти нет. Им это не мешает: длительных нагрузок у них тоже нет, а свободное место (пусть и доступное ПО, но им не используемое) обычно есть. Все скоростные характеристики, декларируемые для потребительских моделей, в итоге относятся именно к пустому накопителю.

В корпоративном сегменте такой подход неприемлем: при постоянной нагрузке (в том числе и по записи) может быть распределена вся доступная емкость. Именно такой режим выбран в качестве основного, и все скоростные показатели декларируются для устройства, заполненного минимум на 80%, — благо другие покупателям не нужны. С другой стороны, не во всех случаях нужна и высокая производительность на операциях записи — как минимум, не для всех накопителей, установленных в системе. Просто активно изменяемые данные нужно держать на тех устройствах, которые на это рассчитаны, а неизменяемые быстро читать с более дешевых (за счет лучшего соотношения полезной емкости к полной) накопителей. Значит, нужны и те и другие.

Посмотрим, что интересного могут предложить производители, на примере семейства дисков Kingston. Именно семейства, включающего в себя две линейки (как раз по описанной выше причине): DC500R и DC500M. По замыслу производителя, DC500R рассчитаны преимущественно на чтение данных, а DC500M — на смешанные нагрузки, т.е. сценарии, в которых встречаются и интенсивные операции записи. Технические характеристики обеих линеек приведены в таблице:

Пример реализации: Kingston Data Center 500

Ручное изменение резерва

Причины необходимости выпуска накопителей с разным количеством резервных ячеек описаны выше, но из них же однозначно следует, что любое фиксированное значение может оказаться неудобным. Например, покупателя устраивает цена DC500R и ограничение записи на полный объем, но ему хочется немного увеличить производительность операций записи, не замахиваясь на уровень более дорогого DC500M. Или обратный пример: возможностей DC500M тоже может оказаться мало. Разумеется, 30% резерва — очень солидный объем с точки зрения массового сегмента, но на рынке встречались корпоративные накопители, где под резервные области отводилась и половина емкости. Понятно, что это увеличивает цену, но покупателям надо предоставить такую возможность, если они готовы платить.

Линейка DC500 позволяет увеличить резервную область за счет полезной, но вот обратный процесс не реализован, так что увеличить емкость DC500M на четверть не выйдет. Кроме того, понятно, что данный процесс затрагивает исключительно технические характеристики, но не условия гарантии, поэтому, если и «откусить» от DC500R те же 25 или даже 50% емкости под резервную область, записывать на него по-прежнему будет «разрешено» до половины паспортного объема в день. Так что данная возможность не является альтернативой наличию пары аппаратно разных линеек, но увеличивает гибкость решения.

Что еще немаловажно: в отличие от многих собратьев по классу, для обеих версий DC500 нет каких-либо ограничений по каналам продаж: они имеют ретейловую упаковку и свободно поступают в розничные торговые сети. Это оценят не только владельцы небольших дата-центров и одиночных серверов, но и частные пользователи: в конце концов и с обычными для персонального компьютера/рабочей станции нагрузками эти модели должны справляться хорошо и без каких-либо нюансов, поскольку контроллеры имеют универсальное назначение. В большей степени это касается DC500R, причем для повышения производительности на записи его можно немного и оттюнинговать.

Выполняется эта операция очень просто: достаточно воспользоваться штатной утилитой Kingston SSD Manager — она совместима со всеми накопителями компании и позволяет, например, обновить прошивку, посмотреть текущий уровень «здоровья»...

Твердотельные накопители в ЦОД:
основные проблемы и методы их
решения на примере семейства
Kingston DC500

Твердотельные накопители с SATA-интерфейсом полезны не только в новых высоконагруженных системах, где они могут занять промежуточное положение между скоростными NVMe-устройствами и емким, но медлительным хранилищем «холодных» данных на жестких дисках. Их можно применять и для замены части жестких дисков в рабочих системах, что позволит при небольших затратах увеличить производительность системы хранения данных и продлить срок эксплуатации техники. Однако нельзя забывать и о том, что эксплуатация SSD имеет свои нюансы, не типичные для жестких дисков. Но никаких нерешаемых проблем не возникает, эти моменты нужно просто учитывать, ответственно подходя к выбору конкретных устройств, — благо производители стараются охватить все сегменты рынка, предлагая для каждого покупателя оптимальные решения. В частности, таковым является семейство Kingston Data Center 500, ориентированное на серверные нагрузки. Его отличительные особенности — это аппаратная защита от сбоев питания (PLP), наличие модификаций с увеличенным резервом флеш-памяти, что улучшает работу при интенсивных операциях записи, а также возможность менять конфигурацию соотношения пользовательской и резервной емкостей для тонкой подстройки производительности под конкретную систему. Потребительские модели SSD обходятся без всего этого ради снижения цены — на корпоративном рынке ни один из использованных подходов лишним не является.

Итог

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

И, собственно, все. Соотношение полезной и резервной емкости меняется так, как будет удобно пользователю. Почему нельзя ограничиться только программными настройками, не выпуская две линейки накопителей? Ранее как раз ограничивались: у Kingston DC400 аппаратная конфигурация была одна (точнее, по одной для каждой модели различной емкости). Однако такой подход тоже сам по себе не бесплатен, ведь при увеличении резерва уменьшается емкость устройства, так что в некоторых случаях лучше иметь гарантированный объем и гарантированную же производительность, которые достигаются добавлением блоков флеш-памяти. А тюнинг можно оставить для «тонких» случаев — например, если после покупки и тестирования накопителей в собственной системе и на практических задачах оказалось, что гарантированного уровня недостаточно либо изменились требования: вырос ежедневный объем записей и/или критичность скорости их выполнения. В этом случае не обязательно менять DC500R на DC500M или срочно докупать последний: возможно, проблему получится ликвидировать программным способом. За счет емкости, естественно.

...или провести качественную очистку всего объема.

Но для SSD семейств Data Center предусмотрена и возможность настройки размера пользовательской области (данная опция появилась еще во времена более старой линейки DC400). Достаточно выбрать новое значение.