Программное обеспечение NVMe

https://nvmexpress.org/wp-content/uploads/NVMe_Infrastructure_final1.pdf

Спецификация NVMe определяет набор и формат команд, описывает механизмы многопутевого доступа, виртуализации и прочих полезных свойств. Управление подсистемой NVMe и обмен данными осуществляется набором программного обеспечения, не входящим в рамки стандарта.

Системное ПО

Базовый функционал NVMe подсистемы — управление интерфейсной шиной и передача данных по ней, обнаружение устройств системой и управление ими, разбиение накопителей на логические устройства обеспечивается системным ПО.
Оно рассматривается в разделе Системное ПО и обеспечивается драйверами устройств, файловой и операционной системой.

Информация о наборах NVMe драйверов для различных операционных систем публикуется на сайте:
https://nvmexpress.org/resources/drivers/

Прикладное ПО

Прикладное программное обеспечение нацелено на корпоративный сектор применения.

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

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

Некоторые примеры прикладного ПО рассматриваются в разделе Прикладное ПО.

NVMe и виртуализация

Виртуализация — неотъемлемая часть управления оборудованием для раскрытия всех преимуществ NVMe интерфейса.

Рассматриваемые технологии виртуализации не корректно относить к драйверам или системному ПО. Часть из них или даже несколько сразу используется аппаратными ускорителями и встраивается в SmartNIC.