X-NAND обещает производительность SLC у накопителей, объем которых сопоставим с QLC

Экстенсивный путь, по которому идет развитие NAND-тех­но­ло­гий, ра­но или позд­но дол­жен ис­чер­пать свои ре­сур­сы. Се­го­дня та­ки­ми яв­ля­ют­ся на­ра­щи­ва­ние ло­ги­че­ских уров­ней в од­ной ячей­ке, и мно­го­слой­ная ком­по­нов­ка яче­ек в крис­тал­ле. В пер­вом слу­чае поль­зо­ва­тель по­лу­ча­ет боль­ше мес­та на еди­ни­цу про­ст­ран­ст­ва (при сни­же­нии на­деж­но­с­ти хра­не­ния), во вто­ром — на­ра­щи­ва­ние эле­мен­тов хра­не­ния в объ­ем­ной ком­по­зи­ции по­лу­про­вод­ни­ка т.е. еще боль­ше мес­та, но с на­ра­щи­ва­ни­ем жи­ву­че­с­ти («О пла­ва­ю­щем за­т­во­ре»). Не­про­ти­во­ре­чи­вость ука­зан­ных век­то­ров ху­до-бед­но по­зво­ля­ет раз­ви­вать­ся тех­но­ло­ги­ям твер­до­тель­но­го хра­не­ния, на­ра­щи­вая объ­е­мы на­ко­пи­те­лей и сни­жая их це­ну. Об от­сут­ст­вии све­та в кон­це тон­не­ля зна­ют все про­из­во­ди­те­ли, вкла­ды­вая не­и­мо­вер­ные уси­лия в ин­тел­лек­ту­а­ли­за­цию тех­но­ло­гий хра­не­ния. Пер­вен­цем здесь стал 3D XPoint — со­в­мест­ный про­ект Intel и Micron, ко­то­рый быст­ро пе­ре­стал быть со­в­мест­ным, ро­див Intel Op­tane и, фак­ти­че­ски, по­хо­ро­нив Micron QuantX.

Впрочем, 3D XPoint — «черный ящик», который не вполне со­от­вет­ст­ву­ет ка­но­ни­че­ским пред­став­ле­ни­ям о NAND. Его от­ли­чи­тель­ная чер­та — невероятно низкая латентность, что делает Optane уст­рой­ст­вом с уни­каль­ны­ми сер­вер­ны­ми ха­ра­к­те­рис­ти­ка­ми. Мы чуть ниже вернемся к теме задержек в работе SSD в све­те за­тро­ну­той темы о тех­но­ло­ги­ях хра­не­ния.

Еще один важный момент — SLC-кэширование, при­зван­ное при­дать ус­ко­ре­ние про­из­во­ди­тель­но­с­ти SSD за счет ди­на­ми­че­ской ак­се­ле­ра­ции записи. Его суть несколько размывается не вполне корректным неймингом: от кэширования, как такового, в этой технологии не так уж много. Главное здесь — способность контроллера SSD «на лету» ме­нять ста­тус NAND-ячеек, используя затворы полупроводниковых компонентов либо в ско­рост­ном SLC-режиме, либо за­пус­кая ём­кое, хо­тя и бо­лее мед­лен­ное мно­го­у­ров­не­вое хра­не­ние TLC/QLC (на горизонте уже есть и PLC с пя­ти­у­ров­не­вой ар­хи­те­к­ту­рой со­сто­я­ний).

SLC-кэш на сегодня — локомотив интеллекта хранения. Его возможности обыгрываются на все лады про­из­во­ди­те­ля­ми SSD-кон­т­рол­ле­ров, потому что это бесконечное поле для экспериментов. Можно создавать кэ­ши­ру­е­мые про­ст­ран­ст­ва пе­ре­мен­ных раз­ме­ров, обогащая интеллект чипов са­мо­о­бу­ча­ю­щи­ми­ся ал­го­рит­ма­ми. Можно строить не­сколь­ко по­лей, ко­то­рые слов­но ха­ме­ле­он, бу­дут ме­нять свою масть с SLC на другие фор­мы хранения. Мож­но ис­по­ве­до­вать про­ме­жу­точ­ные уров­ни, в за­ви­си­мо­с­ти от воз­ни­ка­ю­щих задач: SLC⇄ TLC или SLC⇄ QLC на че­ты­рех уров­не­вых ячей­ках. Была бы польза.

Новым подходом в организации «умных» SSD-устройств может стать X-NAND, раз­ра­бот­ку ко­то­ро­го анон­си­ро­ва­ла ком­па­ния NEO Se­mi­con­duc­tor на саммите Flash Memory Summit 2020. Новая ар­хи­тек­ту­ра NAND на­це­ле­на на про­из­во­ди­тель­ность, свой­ст­вен­ную SLC-ячейкам, при плотности хранения и стоимости, ха­рак­тер­ных для QLC-ячеек, с ни­ве­ли­ро­ва­ни­ем глав­но­го не­до­стат­ка ме­ха­низ­мов ди­на­ми­че­ской ак­се­ле­ра­ции — па­де­ния скорости вслед­ст­вие пе­ре­пол­не­ния SLC-кэш.

Согласно информации, размещенной на сайте Tom's Hardware, ключевым фактором производительности X-NAND яв­ля­ет­ся рас­па­рал­ле­ли­ва­ние опе­ра­ций меж­ду бло­ка­ми за­по­ми­на­ю­щей матрицы в пределах од­ной ми­кро­схе­мы. Как из­вест­но, NAND-мат­ри­ца ор­га­ни­зо­ва­на в виде раз­ряд­ных линий (Bit Lines), каждая из ко­то­рых под­клю­че­на к бу­фе­ру стра­ни­цы (Pa­ge Buf­fer).

Current Page Buffer Architecture

 

При записи информации содержимое Page Buffer по­сле­до­ва­тель­но пе­ре­да­ет­ся ячейкам раз­ряд­ной ли­нии, за по­сле­до­ва­тель­ный перебор которых отвечает адресный счетчик (на слайде не показан). При чтении процесс идет в об­рат­ном на­прав­ле­нии — со­дер­жи­мое ячеек разрядной линии по­сле­до­ва­тель­но на­кап­ли­ва­ет­ся в Page Buf­fer. Буфер, пред­став­ля­ю­щий собой опе­ра­тив­ное за­по­ми­на­ю­щее уст­рой­с­т­во для тран­зит­но­го хранения ин­фор­ма­ции, за­ни­ма­ет при­лич­ную долю площади кристалла, что ограничивает и ко­ли­че­с­т­во таких бу­фе­ров в чипе NAND, и воз­мож­но­с­ти по ор­га­ни­за­ции па­­рал­­лель­­но­­го до­сту­па.

X-NAND Page Buffer Architecture

 

Оптимизационная задача, ре­ша­е­мая раз­ра­бот­чи­ка­ми X-NAND, фор­му­ли­ру­ет­ся до­ста­точ­но про­с­то: обес­пе­че­ние мак­си­маль­но­го уровня параллелизма при минимальном объеме транзитного буфера.

Конкретные численные параметры одного из вариантов интерливинга блоков за­по­ми­на­ю­щей мат­ри­цы ха­рак­те­ри­зу­ет сле­ду­ю­щая фор­му­ли­ров­ка: «X-NAND achieves these gains by going from a 16KB page buffer per plane to a 1KB page buffer per plane, but with sixteen times the planes, as one example». В этом примере, вместо буфера объемом 16 килобайт ис­поль­зу­ет­ся на­бор из 16 па­рал­лель­но ра­бо­та­ю­щих буферов по 1 Килобайту, каждый из которых не­за­ви­си­мо об­ме­ни­ва­ет­ся ин­фор­ма­ци­ей со своей разрядной линией. Передача данных осу­щест­вля­ет­ся в 16 па­рал­лель­ных потоков.

Reliability

 

При этом ми­ни­ми­зи­ру­ет­ся ко­ли­че­с­т­во ситуаций, при которых может быть при­ло­же­но про­г­рам­ми­ру­ю­щее на­пря­же­ние к ячей­кам, запись в которые в данный момент не выполняется, они обозначены на слай­де ком­мен­та­ри­ем «Disturbed».

Power Consumption

 

Кроме того, кратное умень­ше­ние ин­фор­ма­ци­он­ной емкости разрядных линий по­зво­ля­ет сни­зить энер­го­по­треб­ле­ние, улуч­шая тех­но­ло­гич­ность решения. Опуб­ли­ко­ван­ная ин­фор­ма­ция по­зво­ля­ет пред­по­ло­жить, что ба­зо­вые фи­зи­че­ские прин­ци­пы, оп­ре­де­ля­ю­щие фун­к­ци­о­ни­ро­ва­ние NAND-ячеек пе­ре­смот­ру не под­вер­га­лись.

Выводы

Очевидны преимущества X-NAND в сравнении с такими ре­а­ли­за­ци­я­ми па­рал­ле­лиз­ма, как массив RAID0 или мно­го­ка­наль­ный доступ к эле­мен­там флеш-памяти в пределах платы SSD-накопителя:

  1. Масштабирование производительности X-NAND не со­про­вож­да­ет­ся экс­тре­маль­ным рос­том се­бе­сто­и­мос­ти, га­ба­ри­тов и по­треб­ля­е­мой мощ­но­с­ти устройств хранения данных.
  2. По сравнению с «круп­но­блоч­ным» па­рал­ле­лиз­мом снижаются на­клад­ные рас­хо­ды на пре­об­ра­зо­ва­ние фор­ма­тов данных — таковое вы­пол­ня­ет­ся внутри микросхем флеш-памяти, что осо­бен­но важно при фраг­мен­ти­ро­ван­ном до­сту­пе.

Теоретически, мас­шта­би­ро­ва­ние методом па­рал­лель­ной обработки по­вы­ша­ет про­пуск­ную спо­соб­ность (ко­ли­че­с­т­во пе­ре­дан­ной ин­фор­ма­ции за единицу времени), но не может снизить латентность. Иными словами, вре­мя чте­ния или за­пи­си од­ной от­дель­но взятой физической ячейки памяти не умень­ша­ет­ся.

На практике, если речь идет о блочных устройствах хранения, где минимальный объем сектора равен 512 байтам, а ти­по­вое зна­че­ние об­ра­ба­ты­ва­е­мо­го бло­ка со­став­ля­ет 4 Килобайта (что оп­ре­де­ля­ет­ся раз­ме­ром стра­ни­цы вир­ту­аль­ной па­мя­ти для x86 и x64-систем) понятие ла­тент­но­с­ти не­сколь­ко транс­фор­ми­ру­ет­ся и со­от­вет­с­т­ву­ет вре­ме­ни ожи­да­ния 4-ки­ло­байт­ной порции данных, а в пределах такого объема, маневры с па­рал­лель­ны­ми опе­ра­ци­я­ми уже воз­мож­ны. На­пом­ним, в примере, рас­смот­рен­ном вы­ше, гра­ну­ляр­ность па­рал­лель­ной об­ра­бот­ки со­став­ля­ет 1 Килобайт.

Перспективы

Переходя к утилитарным свойствам, осторожно предположим, что при указанных па­ра­мет­рах со­зда­ют­ся пред­по­сыл­ки для уве­ли­че­ния про­из­во­ди­тель­но­с­ти при­бли­зи­тель­но в 4 раза для типового сце­на­рия фраг­мен­ти­ро­ван­но­го до­сту­па (при­мер — своппинг страниц) и приблизительно в 16 раз для линейного доступа (при­мер — ко­пи­ро­ва­ние боль­шо­го фай­ла), что под­твер­ж­да­ет­ся фор­му­ли­ров­кой из статьи «Write per­for­man­ce is increased be­cause up to sixteen bit lines can be pro­gramm­ed in pa­ral­lel».

Вместе с тем, подобные прогнозы — дело не­бла­го­дар­ное и приведены лишь для иллюстрации принципов ра­бо­ты X-NAND. Чис­лен­ные па­ра­мет­ры ин­тер­ли­вин­га в конкретном устройстве могут отличаться от принятых в рас­че­тах. Не следует не­до­о­це­ни­вать влияние накладных расходов и ко­неч­но фун­да­мен­таль­ные ог­ра­ни­че­ния ин­тер­фей­са на­ко­пи­те­ля.

По более взвешенным оценкам, в ряде рабочих на­гру­зок воз­мож­но ни­ве­ли­ро­ва­ние «сту­пень­ки», воз­ни­ка­ю­щей при пе­ре­пол­не­нии SLC-кэш накопителя и переходе к использованию многоуровневых (например, QLC) яче­ек. Гра­фик от­ра­жа­ет за­ви­си­мость про­из­во­ди­тель­но­с­ти уст­рой­с­т­ва от объема за­пи­сан­ной ин­фор­ма­ции и стро­ит­ся в условиях не­пре­рыв­ной за­пи­си боль­ших объ­е­мов дан­ных.

Problem of SLC Cache

 

Поведение X-NAND в таком тесте теоретически промоделировано в упомянутом выше материале «New X-NAND Tech Detailed: SLC Speed at QLC Capacity and Pricing». Само название обзора позволяет сделать пред­по­ло­же­ния о пер­вых воз­мож­ных прак­ти­че­ских при­ме­не­ни­ях X-NAND. Вместе с тем, фундаментальные ог­ра­ни­че­ния, присущие NAND, ос­та­ют­ся в си­ле для X-NAND, поэтому от прогнозов использования новой па­мя­ти в сегменте DAX-систем на дан­ный мо­мент ра­зум­но воз­дер­жать­ся. С другой стороны, характеристики пропускной способности, приведенные на слайде, кра­т­но пре­вы­ша­ют воз­мож­но­с­ти со­вре­мен­ных NVMe-на­ко­пи­те­лей и даже RAID-массивов на их основе — напротив, они ти­пич­ны для мно­го­ка­наль­ных DRAM-под­сис­тем.

Bandwidth

 

Согласно комментарию, столь высокая пропускная способность (около 200 GBPS) возможна в слу­чае ре­а­ли­за­ции идеи X-NAND для па­мя­ти SLC-типа. Но о ла­тент­но­с­ти и фраг­мен­ти­ро­ван­ном до­сту­пе дан­ный слайд мно­го­зна­чи­тель­но умал­чи­ва­ет. Насколько вырастет мощность, потребляемая чипом памяти с уче­том мас­ш­та­би­ро­ва­ния про­из­во­ди­тель­но­с­ти? Как но­вая тех­но­ло­гия по­вли­я­ет на из­но­со­ус­той­чи­вость за­по­ми­на­ю­щей мат­ри­цы? От­веты на эти во­про­сы еще толь­ко пред­сто­ит по­лу­чить.