Резервирование памяти, ресурс и производительность SSD

11.01.2022 | Хранилища

SSD overprovisioning 0

Ресурс SSD на флэш-памяти NAND определяется количеством циклов записи и стирания, которые накопитель выдерживает в своем жизненном цикле. Вне зависимости от типа памяти, имени производителя  и контроллера SSD, к деградации ячеек NAND причастны такие внутренние процессы как сбор мусора (garbage collection) и усиление записи (write amplification). Самым же действенным средством  продления срока службы твердотельных накопителей является увеличение области служебных ячеек, избыточное резервирование памяти (overprovisioning). Все это давно и подробно описано. В коротком пересказе - так.

Garbage collection (GC)

Память NAND разбита на блоки, те – на страницы. Напрямую записать данные во флэш-память по физическому адресу невозможно. Контроллер SSD  пишет обновленные данные на свободные страницы, помечая исходные как недействительные. Транслятор адресов перенаправляет логические адреса обновлений на новые физические адреса. Стереть страницу с данными, потерявшими актуальность (мусор) нельзя, можно только целый блок. Чтобы освободить, сделать доступным для ОС пространство памяти под неактуальными данными, надо для начала переместить действительные данные соседних страниц освобождаемого блока на страницы в другом блоке.  Это и есть GC, процесс сбора достоверных данных в рабочие блоки с последующим стиранием мусорных.

Write amplification (WA)

Когда по мере заполнения у SSD остается мало свободных блоков, каждая операция записи приводит к серии перемещений данных контроллером – чтобы собрать их в состоятельные блоки и выкроить запас пространства удалением мусора. В результате, объем записи в ячейки флэш-памяти  (включая копирование действительных данных во время GC) может в разы превышать объем посылки записи хоста. Усиление записи WA - отношение этих объемов. Оно зависит от профиля рабочих нагрузок. Как правило, случайная запись коротких фрагментов множит записи гораздо сильнее, чем последовательная запись больших: данные случайного доступа сильнее фрагментированы, для сбора распыленного мелкого мусора нужно больше операций.

Overprovisioning (OP)

Для свободы маневра «мусорщика» из общего пространства памяти SSD выделяют область OP, доступную контроллеру SSD, но недоступную хосту.  Этот резерв служебных ячеек памяти NAND используется как промежуточное поле для перемещения данных GC, выравнивания износа и подмены битых ячеек. Производитель SSD сам назначает размер OP, уменьшая пользовательскую емкость SSD. Есть общепринятые номиналы (как 256GB или 240GB), но могут  быть любые:

Пользовательская емкость

Маркетинговое значение OP

256 GB

0%

240 GB

7%

225 GB

14%

200 GB

28%

170 GB

51%

Это поясняет многообразие SSD, когда из-под рук одного и того же вендора выходят накопители на одном и том же контроллере, но с разными паспортными показателями.

Логику разметки OP легко представить себе на примере игры в «пятнашки». Кабы на поле была не одна свободная ячейка, а больше (например, коробка 5х5 вместо 4х4), те же костяшки от 1 до 15 вышло бы упорядочить за меньшее число ходов. Так и с усилением записи SSD: чем больше служебный резерв памяти -  тем оно меньше.

SSD overprovisioning 2

Износ ячеек

Пользователю интересна не так механика процесса, как прогноз живучести SSD – в терминах объема суточной перезаписи (DWPD) или, что более корректно, общего объема перезаписи на протяжении жизненного цикла (TBW).  Среднестатистическая устойчивость к износу (endurance), которую мы видим в паспортах SSD,  рассчитывается по стандартам JEDEC. Для серверных  накопителей – на корпоративных шаблонах с нагрузками произвольного доступа.

SSD overprovisioning 3

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

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

Производительность случайной записи максимальна на свежем накопителе. В процессе его заполнения данные становятся все более фрагментированными, а контроллер SSD тратит больше времени на сбор мусора – основной фактор снижения производительности. Увеличение OP уменьшает WA, контроллер быстрее освобождает страницы под запись и оперативно отрабатывает запросы хоста, когда SSD близок к насыщению операциями записи.

SSD overprovisioning 4

Все в руках пользователя

Размер OP не является постоянным свойством SSD, неодолимым препятствием для управления ресурсом и производительностью. У всех основных вендоров есть утилиты, позволяющие контролировать различные  параметры SSD. В том числе, менять размер области служебных ячеек серверных накопителей – ровно так же, как это делается на фабрике.

Вот как описывает Kingston процедуру разметки из приложения SSD Manager:

  • Overprovisioning —практика уменьшения полезной емкости SSD для повышения как его ресурса, так и производительности. Избыточное выделение ресурсов устанавливается параметром Host Protected Areca (HPA).
  • Эта функция поддерживается только твердотельными накопителями Kingston серии Data Center
  • Сначала удалите все разделы с SSD. Очистите SSD с помощью diskpart. Для лучшей производительности рекомендуется безопасное стирание.
  • Введите желаемую емкость в гигабайтах (ГБ) и последние четыре цифры серийного номера SSD. После модификации HPA и перезагрузки система распознает новую емкость диска.

Знай меру

Программные средства управления ресурсом и производительностью SSD увеличивают свободу действий пользователя – ценное качество во времена плохой доступности различных номиналов накопителей. Вместо долгого ожидания поставки экзотических Write Intensive SSD (5-10 DWPD) достаточно купить доступные Mixed Use (1-3 DWPD) и разметить их на меньшую емкость.

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

По мотивам и с использованием данных статьи.