Лаборатория Элкомсофт: требования к целевым NVME-накопителям

24 февраля, 2025, Oleg Afonin
Рубрика: «Разное»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

При снятии образа данных в процессе исследования извлекаемые данные сохраняют на собственный, лабораторный накопитель. В статье где хранить данные? мы описали общие принципы выбора таких накопителей, а в статье SSD-накопители замедляются со временем описали работу механизма динамического кэширования записи, отметив исключительно негативное влияние этого механизма в рамках конкретного сценария: быстрой единовременной записи больших объёмов данных. В сегодняшнем материале мы рассмотрим накопители с отсутствующим динамическим кэшем в качестве оптимальных для нашего сценария.

Динамический pSLC-кэш и его влияние на устойчивую скорость записи и надёжность накопителя

К целевому накопителю — такому, на который сохраняется образ данных, извлекаемый из исследуемого устройства, — предъявляется целый ряд требований, отличных от тех, которые предъявляются к потребительским устройствам. На целевой накопитель в один проход записывается большой объём данных; скорость записи при этом должна оставаться стабильной и желательно — высокой в течение всего сеанса. И если с пиковой скоростью запии у современных NVME-накопителей дела обстоят хорошо, то последовательная запись больших объёмов данных — это не то, на что производители оптимизируют устройства. Почему так происходит?

Дело в том, как именно организован процесс записи на современных дисках. Подробнее об этом можно прочесть в нашей предыдущей статье — SSD-накопители замедляются со временем; здесь же мы лишь вкратце напомним основные принципы.

Большая часть современных NVME-накопителей использует трёхмерную NAND память, функционирующую в режиме TLC — то есть, способную хранить по три бита информации в каждой ячейке. На скорость чтения данных такая конфигурация ячеек влияет мало, но прямая запись в ячейки TLC достаточно медленная (приблизительно втрое медленнее, чем запись в память SLC, способную в каждой ячейке хранить лишь один бит информации). Скорость записи в ячейки QLC (четыре бита в ячейке) катастрофически низкая, поэтому QLC-накопители мы полностью исключили из рассмотрения.

Современная NAND-память может работать в разных режимах. Оди и те же чипы производитель может сконфигурировать как в режиме TLC или QLC, так и в режиме псевдо-SLC (pSLC) с очень быстрой записью, но низкой плотностью хранения данных. Более того, на одном и том же чипе часть ячеек может работать в одном режиме, а часть — в другом. Таким образом в SSD-накопителях появился псевдо-SLC кэш, в разы ускоряющий запись данных ограниченного объёма данных с последующей перезаписью с уплотнением. Первым появился статический кэш: к этом режиме некоторая фиксированная часть ячеек накопителя резервировалась и исключалась из доступного пользователю объёма данных. Зарезервированные ячейки, которые ранее использовались в качестве подменного фонда и обеспечения работы механизма сборки мусора, получили дополнительную функцию: часть ячеек конфигурировалась в режиме pSLC и использовалась с единственной целью — для ускорения записи. Скорость записи на таких накопителях отображается графиком, на котором чётко видна ступень с записью на высокой скорости. После заполнения статического кэша дальнейшая запись ведётся напрямую в ячейки TLC. Для нас важно, что скорость записи остаётся стабильной на всём протяжении графика:

Объём статического кэша не может быть слишком большим. Каждый гигабайт pSLC-кэша уменьшает доступный пользователю объём накопителя на три ГБ (режим TLC). Соответственно, статический кэш объёмом 10ГБ «отъедает» 30ГБ доступного пользователю объёма. В то же время 10ГБ — это немного, буквально 2-3 секунды непрерывной записи на современных накопителях, после чего скорость записи очевидным образом падает. Чтобы обойти эту проблему, производители воспользовались возможностью современных чипов динамически переключаться между режимами TLC и pSLC. Теперь процесс записи выглядит следующим образом. Первая порция данных попадает в статический кэш (если он есть). Далее данные записываются в быстрые ячейки, работающие в режиме pSLC; максимальный объём таких данных настраивается производителем, но не может превышать 1/3 от свободного места на диске. Когда доступные pSLC-ячейки заканчиваются, накопитель переключается в режим прямой записи в TLC. Когда же заканчиваются и свободные TLC-ячейки, начинается процесс свёртки и уплотнения: контроллер перезаписывает данные из pSLC-кэша в ячейки TLC, очищает и переключает ячейки из режима pSLC в режим TLC и повторяет операцию. Если на накопитель продолжают поступать новые данные, то скорость записи резко падает, что отображается на третьей ступени графика:

На этом недостатки динамического pSLC-кэша не заканчиваются; его использование заметно снижает общий ресурс накопителя, который выражается в конечном количестве циклов стирания-записи, который выдерживает NAND (в современных устройствах это порядка 400-600 циклов). Во-первых, одни и те же данные записываются дважды: сперва в ячейки pSLC-кэша, а затем из них — в ячейки TLC. При использовании статического кэша это проблемой не является, т.к. в режиме pSLC ячейки NAND обладают намного большим ресурсом, чем те же ячейки, но работающие в режиме TLC. Однако сам процесс переключения ячеек между режимами изнашивает ячейки гораздо раньше, чем циклы стирания-записи. Согласно отчёту компании Swissbit (производитель индустриальных систем хранения данных), переключение между режимами требует повышенного напряжения и ведёт к повышенному износу ячеек. Уже после исчерпания 10% ресурса ячейки (а это — всего 40-60 циклов) контроллер накопителя фиксирует её в режиме TLC и более не использует в качестве кэша.

NVME-накопители без динамического кэша

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

Специально для подобных сценариев компанией Western Digital была разработана линейка NVME-накопителей WD_RED, в частности — модель SN700.

Эти накопители аппаратно схожи со старой моделью WD_BLACK SN750, но обладают существенно большим ресурсом: NAND-память в SN700 выдерживает до 2000 циклов стирания-записи (модели на 500/1000ГБ) и 1250/1275 циклов для моделей на 2 и 4ТБ соответственно. Это заметно больше ресурса обычных потребительских накопителей, в которых число циклов стирания-записи обычно колеблется в промежутке от 400 до 1000.

Скорость записи не меняется на протяжении всего объёма (источник):

Новее — не значит лучше

Стоимость накопителей WD_RED в силу специфики применения и относительно небольшого объёма их производства существенно превышает цену более распространённых устройств. Отметим, что схожим образом — то есть, без использования динамического кэша, — себя ведут и некоторые недорогие, широко распространённые модели — например, Kioxia Exceria G2 и G2 Plus, оборудованные, среди прочего, DRAM-кэшем, что способно ускорить их работу в корпусах USB.

В то же время более новая модель компании, Kioxia Exceria G3 Plus, не обладает достоинствами предшественника: в целях удешевления в KioxiaExceria G3 Plus убрали микросхему DRAM, но добавили динамический кэш pSLC. Результат — на графике:

Легко заметить, что в новой модели незначительно выросла пиковая скорость записи и заметно (до 450ГБ) вырос объём данных, которые накопитель способен принять с высокой скоростью. После этого скорость записи резко падает, и величина этого падения совершенно не компенсируется объёмом данных, записанных с высокой скоростью. Весь объём накопителя Kioxia Exceria G2 Plus записывается со скоростью 1,400ГБ/с, а Kioxia Exceria G3 Plus — только 402 ГБ/с.

Выводы и заключение

Новые данные не отменяют, а дополняют рекомендации, данные в статьях где хранить данные? и SSD-накопители замедляются со временем. Мы по-прежнему рекомендуем использовать в качестве целевых NVME-накопители максимально доступного объёма, с памятью 3D TLC, желательно — оборудованные DRAM-кэшем. Ко всему перечисленному добавляется ещё одна рекомендация: по возможности используйте накопители, оборудованные только статическим pSLC-кэшем с полностью отсутствующим динамическим. Отсутствие динамического pSLC-кэша решает сразу несколько проблем, возникающих в столь специфическом сценарии использования, как снятие (и постоянная перезапись) образов данных.

Во-первых, гарантируется постоянная скорость записи, зачастую даже превышающая возможности интерфейса (если диск планируется использовать во внешнем корпусе USB).

Во-вторых, заметно снижается износ ячеек, что может в несколько раз продлить ресурс накопителя (полный объём «обычного» SSD вы сможете перезаписать порядка 400-600, реже — 1000 раз; последующие циклы записи не приведут к моментальному отказу накопителя, но риск потери данных будет расти раз от раза).

Наконец, в отсутствие динамического pSLC-кэша можно игнорировать нашу предыдущую рекомендацию о том, что для максимизации скорости записи на целевом накопителе должен быть достаточный объём свободного места, заметно превышающий объём записываемого образа.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
НАШИ НОВОСТИ