https://nvmexpress.org/wp-content/uploads/NVMe_Infrastructure_final1.pdf
Спецификация NVMe определяет набор и формат команд, описывает механизмы многопутевого доступа, виртуализации и прочих полезных свойств. Управление подсистемой NVMe и обмен данными осуществляется набором программного обеспечения, не входящим в рамки стандарта.
Системное ПО
Базовый функционал NVMe подсистемы — управление интерфейсной шиной и передача данных по ней, обнаружение устройств системой и управление ими, разбиение накопителей на логические устройства обеспечивается системным ПО.
Оно рассматривается в разделе Системное ПО и обеспечивается драйверами устройств, файловой и операционной системой.
Информация о наборах NVMe драйверов для различных операционных систем публикуется на сайте:
https://nvmexpress.org/resources/drivers/
Прикладное ПО
Прикладное программное обеспечение нацелено на корпоративный сектор применения.
Такие замечательные возможности, как:
— совместное использование пула NVMe SSD группой серверов или потребителей;
— масштабирование системы хранения как в сторону емкости, так и производительности;
— создание хранилищ с высокой доступностью путем устранения единой точки отказа;
— разукрупнение системы хранения
реализуются прикладным программным обеспечением.
При этом, часть функционала может быть обеспечена расширенными функциями операционной системы, а ПО некоторых производителей размещается на нижних уровнях управления.
Некоторые примеры прикладного ПО рассматриваются в разделе Прикладное ПО.
NVMe и виртуализация
Виртуализация — неотъемлемая часть управления оборудованием для раскрытия всех преимуществ NVMe интерфейса.
Рассматриваемые технологии виртуализации не корректно относить к драйверам или системному ПО. Часть из них или даже несколько сразу используется аппаратными ускорителями и встраивается в SmartNIC.