
Широкое распространение NVMe-накопителей – не дань моде. Эту тривиальную истину приходится вспоминать всякий раз, когда появляются решения от ведущих производителей, демонстрирующие оригинальные подходы к реализации способов и методов хранения информации. Один из таких – NVRAM-драйв Flashtec для PCI Express шины. Устройство позиционируется как некий компромисс между модулями NVDIMM — высокопроизводительным, но дорогостоящим решением и классическими NVMe-накопителями, которые дешевле, но медленнее.
Компромисс
Оценивая затраты, связанные с применением модулей NVDIMM, необходимо рассматривать не только стоимость самих модулей, но и необходимость модернизации существующей инфраструктуры для их применения: ревизии требует схемотехника контроллера DRAM, механизмы обеспечения когерентности кэш при включении энергонезависимой памяти в адресное пространство, поддержка специального формата SPD, модернизация интерфейса ACPI, как со стороны Firmware, так и со стороны операционной системы, алгоритмы регенерации памяти и другие аспекты.
Безусловно, оптимальная поддержка NVMe-накопителя также требует усилий разработчиков платформ, но объем дополнительной работы, по сравнению с NVDIMM, как правило меньше, ведь интерфейс PCI express универсален по определению. Простота интеграции в существующую инфраструктуру подчеркивается в анонсе Flashtec на сайте производителя.
Преимущества
От классического NVMe-накопителя, рассматриваемые устройства отличает наличие сравнительно большого (4-16 GB) DRAM-буфера между хостом и Flash-матрицей. Буфер снабжен резервной батареей, реализованной ионисторами — конденсаторами большой емкости, что позволяет кэшировать интенсивно используемые данные в оперативной памяти PCIe-платы, не опасаясь, что при выключении питания они будут разрушены. Как и с NVDIMM, резервного источника достаточно для аварийного копирования данных из DRAM во Flash при отключении питания.
Применение промежуточного уровня кэширования в виде DRAM, не только повышает производительность, но и снижает износ Flash-матрицы, ведь области, многократно перезаписываемые в течение рабочего сеанса, можно размещать в DRAM, а переписывать во Flash только один раз, при отключении питания, либо при выгрузке из динамической памяти во Flash, в случае нехватки объема DRAM для размещения более актуальных данных. Это традиционный выбор политики для обслуживания кэш-памяти.
Дополнительная опция: использование надежной и производительной Flash SLC NAND или альтернативы в виде MLC. Поддерживается дублирование информации и контрольные коды ECC. Плата запоминающего устройства и модуль резервного питания снабжены термодатчиками.
Недостатки
Они очевидны: шина PCI Express значительно медленнее шины DRAM. Используемые параметры PCIe — ширина линка x8 и полоса пропускания 8GT/S обеспечит пропускную способность около 8 гигабайт в секунду в каждом направлении. Для сравнения, один канал уже устаревшей DDR3 (PC3-12800) обеспечивает около 12 гигабайт в секунду. А сравнивать можно и с 6 каналами DDR4, для анонсированных процессоров Intel Xeon. Оценки латентности доступа также не в пользу рассматриваемого устройства.
Резюме
Вероятно, такой накопитель может иметь тактический успех. В то время как стратегии объединения энергонезависимой и оперативной памяти в единую подсистему, он не соответствует.
Заявленная возможность включения диапазона энергонезависимой памяти в адресное пространство (Direct Memory Interface, как альтернатива блоковому режиму типичного накопителя), упрощает взаимодействие ОС с подсистемой хранения данных, действуя исключительно на логическом уровне. При этом к накопительной матрице может поддерживаться RDMA-доступ со стороны удаленной платформы.
Но физические различия производительности PCIe и DRAM интерфейса, таким путем не преодолеть. Кроме того, данный режим предъявляет специальные требования к PCIe-топологии платформы, в частности потребуется выделение в адресном пространстве блока memory mapped IO, размером 4-16 GB.
Вместе с тем, не будем торопиться списывать со счетов классические технологии хранения данных. Аргумент: в архитектуре анонсированных процессоров Intel Xeon, подсистемы DRAM и VMD (Volume Management Device) физически и логически раздельные. Фундаментальный факт отсутствия энергонезависимой технологии хранения данных, обладающей производительностью DRAM, остается в силе, порождая комбинированные решения…