
Диалектика развития подсистем хранения данных за последнее десятилетие наглядно иллюстрирует тот факт, что прогресс может состоять не только в появлении новых компонентов, но и в исчезновении старых. Архитектура Host Memory Buffer (HMB), активно продвигаемая компанией Marvell, делает ненужной микросхему DRAM на плате SSD диска, используя системное ОЗУ для управляющего процессора накопителя, а в идеале — реализуя прямой обмен информацией между NAND SSD и DRAM персональной платформы.
Попробуем разобраться в причинах и следствиях такого шага: снизится ли латентность обработки запросов чтения и записи вслед за себестоимостью устройств или экономия пагубно повлияет на их характеристики?
Теория
Нелишним будет вспомнить некоторые фундаментальные факты: для чего нужно буферное ОЗУ в mass storage устройстве и почему оно вдруг может стать не нужным?
Буферизация решает задачи, возникающие вследствие неоднородности тракта передачи данных. При сопряжении традиционных электромеханических накопителей и вычислительных платформ необходимо учитывать неизменность скорости битового потока определяемого плотностью записи и вращением магнитных дисков. Неизбежные паузы в работе ресурсов платформы (CPU, DRAM, каналов DMA), обусловленные многочисленными асинхронными событиями и, как следствие, невозможностью своевременно принять или передать очередную порцию данных между системой и вращающимся диском, могут привести к потере информации. Формально говоря, вращающийся магнитный диск требует изохронного трафика, а большинство платформ его не обеспечивают. Локальное буферное ОЗУ на плате контроллера, по сути, является посредником, изолированным от асинхронных событий платформы, а потому способным обеспечить гарантированный трафик.
Очевидно, любое транзитное звено, требующее дополнительных операций, замедляет процесс обмена информацией, а потому потребитель вправе ожидать позитивного эффекта в случае исчезновения посредника, но только при условии, что функциональность этого посредника действительно перестала быть востребованной.
Практика
Накопители SSD не содержат вращающихся элементов и дисками называются исключительно по привычке. Хотя персональные платформы пока далеки от полноценной изохронности, декларирование строго предсказуемых лимитов латентности для выполнения транзакций системными ресурсами стало неотъемлемой частью спецификации PCI Express.
Это означает, что имеют место достаточные условия для устранения буферного ОЗУ? Не совсем так!
Отказ от вращающихся дисков не означает толерантность SSD к произвольным паузам в произвольный момент сеанса обмена информацией между накопителем и хостом. Причиной тому синхронный протокол шины передачи данных между интерфейсной микросхемой накопителя и матрицей NAND, исключающий затраты времени на квитирование, а потому исключающий возможность пауз.
Другое немаловажное обстоятельство состоит в том, что современный SSD или HDD является самостоятельной микро-платформой, работающей под управлением собственной микро-ОС, ему локальная оперативная память требуется не только для буферизации данных, но и как рабочее ОЗУ встроенного процессора. Наряду с пользовательскими данными, подлежащими чтению и записи, в устройстве создается и динамически обновляется множество управляющих таблиц, необходимых для трансляции адресов секторов между хост-интерфейсом и физической средой хранения данных, мониторинга состояния устройства, ремаппинга сбойных блоков, кэширования информации и многих других операций.
Примеры реализации
В силу перечисленных выше причин, термин DRAM-less применительно к SSD означает всего лишь отсутствие микросхемы динамического ОЗУ и устранение (а точнее, уменьшение) локальной буферизации данных средствами периферийного устройства с перекладыванием этой обязанности на оперативную память хост-платформы.
Рис.1 Сравнение двух SATA-устройств: слева, накопитель, оборудованный буферным ОЗУ на основе чипа DDR3, справа DRAM-less устройство
ОЗУ в составе накопителя остается, но, во-первых статическое (а значит, более быстрое и не требующее циклов регенерации), и, во вторых, реализованное на одном кристалле с процессором и интерфейсным контроллером (Рис 2, Рис 3), что также позитивно с точки зрения производительности и надежности.
В силу очевидных технологических ограничений, объем такого статического ОЗУ, как правило, существенно уступает DRAM. В силу этого ряд обязанностей локальной памяти mass storage устройства делегируется хосту. Как будет показано далее, именно модель разделения обязанностей между DRAM-less устройством и хостом определяет позитивное или негативное влияние на производительность.
Архитектура HMB передает хост-платформе контроль над данными, подлежащими передаче по интерфейсу, в результате чего производительность возрастает. Размещение в памяти хост-платформы внутренних управляющих таблиц накопителя в целях экономии объема внутреннего ОЗУ устройства, напротив, создает непроизводительный трафик на интерфейсе, не только снижая быстродействие подсистемы хранения данных, но и повышая конкуренцию при доступе к системному ОЗУ.
Рис.2 Блок-схема DRAM-less SSD с интерфейсом NVMe (Gen3 x2) на основе контроллера Marvell 88NV1160
Наряду с показанным в примере контроллером Marvell 88NV1160, архитектура DRAM-less используется в чипах 88NV1140 (универсальное конфигурируемое решение для накопителей SATA Gen3 и NVMe Gen3 x1) и 88NV1120 (Gen3 SATA only).
Рис.3 Блок-схема DRAM-less SSD с интерфейсом SATA (Gen3) на основе контроллера SiliconMotion SM2246XT
DRAM-less архитектура нередко упоминается в контексте SATA-интерфейса, как один из инструментов его консервативной оптимизации. Вместе с тем, анализируя приведенные примеры, можно видеть, что рассмотренная модель передачи данных найдет (нашла) применение и в ряде NVMe-устройств, несмотря на кратное различие по производительности.
Польза или вред?
Теоретически, в результате обоснованного уменьшения роли буферизации при взаимодействии NAND накопителя и DRAM платформы производительность должна несколько вырасти. С другой стороны, одним из ключевых негативных моментов является расположение в оперативной памяти хост-платформы информации, не требующей непосредственной доставки на хост-платформу. Такое решение напоминает архитектуру интегрированного видео адаптера.
Максимально производительным будет устройство, получающее преимущества от устранения буфера-посредника и лишенное недостатков, связанных с выносом внутренних данных накопителя (не нужных хосту!) за пределы собственно накопителя в память хоста. В обратной ситуации, если осуществлен перенос внутренней информации накопителя в память хоста, а буферизация обмена выполняется в полном объеме, но уже средствами внутреннего ОЗУ контроллера, производительность упадет.
Оценка влияния HMB на производительность DRAM-less устройств приводится в документе. При анализе приведенных таблиц следует соблюдать правило «прочих равных условий», внимательно дифференцируя между бюджетным (DRAM-less) и производительным (HMB+DRAM-less) вариантами.
Рис.4 Сравнение производительности различных типов устройств
(для латентности, меньшее значение означает лучший результат)
На Рис 4. красным цветом выделены результаты двух устройств, на основе которых можно оценить влияние HMB-фактора при прочих равных условиях. Оба устройства с интерфейсом NVMe (PCIe) x1 построены на основе архитектуры DRAM-less. Логично предположить, что верхнее из выделенных устройств поддерживает HMB, а нижнее только «обременяет» хост своими внутренними данными. Для латентности (задержек выполнения команды), меньшее значение означает более высокое быстродействие.
Что дальше?
В случае упразднения DRAM на плате SSD остаются всего два функциональных компонента: контроллер и NAND, если не считать понижающих преобразователей напряжения питания в интегральном или дискретном исполнении.
Следующим шагом стало появление термина BGA SSD. Как нетрудно предположить из названия, означает он реализацию накопителя в одной микросхеме BGA (Ball Grid Array) и необходимость применения инфракрасной паяльной станции для его замены. Заметим, речь не о частных инициативах отдельных вендоров, а о стандарте, определяемом в рамках спецификации PCI Express. Сомнений в этом не оставляет документ авторства PCI Special Interest Group.