Кратко
- NVM Express, Inc. — некоммерческий отраслевой консорциум, который управляет семейством спецификаций NVMe; это не производитель SSD, контроллеров, коммутаторов и систем хранения.
- NVMe заменил узкие и последовательные очереди эпохи HDD множеством очередей отправки и завершения, рассчитанных на параллельные флеш-накопители и многоядерные процессоры.
- Одни и те же понятия контроллера, подсистемы и пространства имён работают как на локальном PCIe, так и через NVMe over Fabrics по TCP или RDMA.
- NVMe 2.x имеет модульную структуру. Набор 2.4, опубликованный 4 августа 2026 года, объединяет Base, транспорты PCIe/RDMA/TCP, NVMe-MI, Boot и несколько специализированных наборов команд.
- NVMe делает ёмкость композитной, но не определяет файловые системы, долговечность, RAID, erasure coding, проектирование сетей, эксплуатационную безопасность и согласованность приложений.
Команды хранилища выходят за пределы сервера, не меняя базового языка
Одна команда чтения может быть направлена как в локальное пространство имён, подключённое по PCIe, так и в удалённую подсистему в фабрике. Носитель, контроллер и путь меняются, но базовая модель команд и очередей сохраняется.
Эта преемственность и делает возможной дезагрегацию. Ёмкость можно собрать в общий пул и выделять её хостам по мере необходимости, поэтому все устройства не обязаны находиться в одном шасси.
Однако вынос за пределы сервера добавляет обнаружение, сеть, многопутевой доступ, аутентификацию, переподключение и новые домены отказов. NVMe превращает хранилище в программируемый сервис, но не отменяет топологию.
Флеш-памяти нужен был протокол, рассчитанный на параллелизм, а не на механические задержки
Традиционные интерфейсы хранения строились вокруг задержек вращающихся дисков и ограниченного параллелизма. Флеш-память способна обрабатывать множество операций параллельно, а современные серверы имеют много ядер CPU.
NVMe размещает в памяти пары очередей отправки и завершения. Хост записывает команду, уведомляет контроллер через doorbell и получает завершение через прерывание или опрос. Если распределить очереди по ядрам или процессам, можно уменьшить общие блокировки и конкуренцию.
Реальная производительность зависит от прошивки контроллера, топологии PCIe, NUMA, глубины очередей, настроек прерываний и рабочей нагрузки. Само название NVMe не гарантирует конкретных значений задержки или пропускной способности.
Консорциум отделяет управление протоколом от конкуренции за продукты
Работа над NVMe началась в конце 2000-х годов, версия 1.0 вышла в 2011-м, а NVM Express, Inc. была основана в 2014 году. В консорциум входят компании, работающие над CPU, носителями, контроллерами, сетями, облаками и системами.
На момент исследования президентом была Amber Huffman из Google, казначеем — Curtis Ballard из AMD, секретарём — David Allen из Microchip; в открытом совете директоров было 13 представителей промоутеров.
Консорциум обеспечивает общие соглашения и комплаенс. Члены продолжают конкурировать в области чипов, прошивок, систем, поддержки и производительности. Членство не означает реализации всех функций.
NVMe 2.0 превратил разросшийся единый документ в семейство модульных спецификаций
С появлением нескольких транспортов и новой модели данных поддерживать всё в одном документе становилось всё труднее. Реорганизация 2.0 в 2021 году разделила Base, наборы команд и транспорты.
Такая структура позволяет развивать TCP, не переписывая все команды, а Zoned Namespace — расширяться без изменения стандартного блочного контроллера. Плата за это — усложнение матрицы версий.
В набор 2.4, опубликованный 4 августа 2026 года, вошли Base 2.4, PCIe Transport 1.4, RDMA Transport 1.3, TCP Transport 1.3, NVMe-MI 2.2, Boot 1.4, а также наборы команд NVM, Key Value, Zoned Namespace, Computational Programs и Simple Log Memory. «NVMe 2.4» — это не один файл.
Очереди отправки и завершения приближают работу хранилища к ядрам CPU
Хост записывает команды в очередь отправки, а контроллер возвращает статусы в очередь завершения. Отдельные пары очередей для каждого ядра или приложения позволяют снизить конкуренцию.
Doorbell уведомляет о новой работе. Опрос может снижать задержку, но потребляет CPU. Объединение прерываний снижает нагрузку на CPU, но способно увеличить время ожидания. Глубина очереди влияет и на утилизацию, и на хвостовую задержку.
Глубокая очередь — не всегда хорошо: она может скрывать насыщение и растягивать задержки. Настройки нужно подбирать под рабочую нагрузку и SLA.
Контроллер, подсистема и пространство имён отделяют логическую конечную точку от физического носителя
Контроллер предоставляет очереди и команды. Подсистема может включать несколько контроллеров. Пространство имён — это логическая ёмкость, видимая хосту, которую можно предоставлять по нескольким путям.
Идентичность, которую видит хост, не обязана совпадать с одним SSD. Массив может объединять множество носителей и представлять стабильное пространство имён.
NVMe не определяет размещение, репликацию и защиту данных. RAID, erasure coding, thin provisioning, снапшоты и согласованность — ответственность окружающих систем.
Административные команды не менее важны, чем обычный ввод-вывод
Административная очередь управляет идентификацией, созданием очередей ввода-вывода, функциями, журналами, прошивкой, пространствами имён и безопасностью. Это слой, который создаёт условия для обычных операций чтения и записи.
Ошибочная административная команда может удалить пространство имён, активировать неверную прошивку или изменить состояние питания. Нужны права доступа, аудит и контроль изменений.
Разделение административного и обычного ввода-вывода не снижает важность плоскости управления. В фабрике обе они могут зависеть от одной и той же сети и идентичности.
PCIe приближает локальный путь к памяти и оборудованию
NVMe over PCIe использует общие структуры памяти и регистры контроллера на локальной шине. Это самый прямой способ подключения SSD и карт внутри сервера.
Физическая близость не означает простоты топологии. Устройство может находиться за PCIe-коммутатором, на другом NUMA-сокете или на разделяемых линиях. Расположение CPU, памяти и устройств определяет производительность.
Одного количества дисков недостаточно. Задержка может возникнуть уже на пути PCIe внутри хоста, до обращения к носителю.
NVMe over Fabrics превращает локальные отношения контроллера в сетевой сервис
NVMe-oF 1.0 и NVMe-MI 1.0 были опубликованы 9 июня 2016 года. NVMe-oF доставляет командные капсулы и данные в удалённые подсистемы, а хост создаёт очереди в фабрике.
Пул ёмкости можно разделить между несколькими хостами, отделив вычисления от хранилища. При замене хоста данные перемещать не нужно.
С другой стороны, в путь данных входят NIC, коммутаторы, маршруты, обнаружение, контроллеры, аутентификация и многопутевой доступ. Сеть становится не просто соединением, а частью системы целостности данных.
Discovery-контроллер упрощает динамические подключения, но создаёт важную зависимость
Хост обращается к discovery-контроллеру и узнаёт доступные подсистемы, адреса и сервисы. Уменьшается ручная настройка каждого целевого устройства, ресурсы можно добавлять динамически.
Неверные данные или сбой сервиса мешают новым подключениям и могут направить хост не к тому целевому устройству. Нужны резервирование, кэш, проверка и защита идентичности.
Доступность обнаружения и доступность пути данных — не одно и то же. Существующие сеансы могут работать, в то время как новые хосты подключаться не смогут.
NVMe/TCP распространил storage-фабрику на обычные IP-сети
Стандартизированный в 2019 году NVMe/TCP отображает команды и данные в TCP-соединения. Операторы могут использовать маршрутизируемый Ethernet, IP-инструменты, межсетевые экраны и существующие практики — RDMA-фабрика не обязательна.
У простоты есть цена. Стек TCP, копирование, прерывания и CPU влияют на хвостовую задержку. Важны реализация в ядре, разгрузка (offload), размер передачи и тонкая настройка.
Транспорт предусматривает специальные кадрирование и контрольные суммы (digest) для хранилища, а также поддерживает TLS. Наличие поддержки TLS не означает, что TLS включён и корректно управляется.
NVMe/RDMA нацелен на низкую задержку и требует строгого проектирования фабрики
RDMA использует пары очередей, зарегистрированную память и разгрузку на NIC, перемещая данные с меньшим участием CPU. Это эффективно в HPC и ИИ, где важны микросекунды и циклы CPU.
RDMA — это не одна сеть. Такие варианты, как RoCE и iWARP, предъявляют разные требования к перегрузкам, потерям, PFC, ECN и регистрации памяти.
Высокоскоростные бенчмарки не гарантируют лёгкой эксплуатации. Сбои фабрики проявляются как таймауты хранилища, поэтому нужны знания и о сети, и о системе.
Multipath превращает избыточность в политику хоста
Одно пространство имён может быть видно через несколько контроллеров и путей. Хост выбирает балансировку нагрузки и переключение при сбое. Asymmetric Namespace Access показывает оптимизированные, неоптимизированные и недоступные пути.
Два линка могут разделять один коммутатор, контроллер, источник питания или маршрут. Независимость нужно проверять реальными тестами отказов.
Неверная политика направит ввод-вывод по медленному пути и будет долго удерживать сломанный путь. Избыточность оценивается по поведению, а не по числу портов.
Резервирование регулирует общий доступ, но не заменяет консенсус
Резервирование NVMe регистрирует хосты и резервирует пространство имён, блокируя несанкционированных писателей. Это полезно для кластеров и переключения при сбое.
Однако оно не заменяет кластерный консенсус и согласованность приложений. Сбойный хост может оставить состояние, и fencing должен предотвращать записи со старых узлов.
Ошибки при восстановлении могут превратить защитный механизм в причину простоя или повреждения данных.
Когда хранилище покидает PCIe, аутентификация и TLS становятся обязательными
Локальное устройство могло полагаться на определённые физические границы. В сети инициатор и целевое устройство должны доказывать свою идентичность и защищать необходимые каналы.
NVMe определяет аутентификацию, а NVMe/TCP может использовать TLS. Эффективность зависит от ключей, сертификатов, ротации, алгоритмов, политик доступа и реализации. Одной поддержки недостаточно для безопасной эксплуатации.
Оценивать нужно вместе обнаружение, администрирование и плоскость данных. Даже подлинная идентичность опасна, если права слишком широки.
NVMe-MI предоставляет путь управления, отдельный от прикладного ввода-вывода
NVMe Management Interface позволяет обнаруживать подсистемы, считывать состояние здоровья, вести инвентаризацию устройств и выполнять управляющие действия — в том числе когда основной путь ввода-вывода не используется.
Это полезно для обслуживания и восстановления, но добавляется ещё один интерфейс с высокими привилегиями. Централизованный инструмент может читать чувствительные данные и изменять множество устройств.
NVMe-MI можно интегрировать с Redfish и другими средствами. Интеграция не сводит воедино ответственность за каждый стандарт и каждого вендора.
Zoned Namespace показывает ограничения носителя программному обеспечению хоста
ZNS делит ёмкость на зоны последовательной записи. Если хост знает раскладку носителя, можно сократить сборку мусора внутри контроллера и улучшить ресурс и предсказуемость.
Чтобы получить выгоду, нужны файловые системы, базы данных и слои хранения с поддержкой зон. Приложения, рассчитанные на традиционные блочные устройства, не получают преимущества автоматически.
ZNS отражает компромисс, на который идёт NVMe: раскрытие поведения носителя повышает эффективность, но повышает и требования к переносимости программного обеспечения.
Key Value, Simple Log Memory и Computational Programs расширяют смысл пространства имён
Специализированные наборы команд допускают key/value, простую лог-память и выполнение программ рядом с хранилищем, сокращая преобразования и перемещение данных.
Для внедрения нужны контроллер, драйвер, библиотеки и приложения. Даже если функция есть в спецификации, не все SSD и массивы её предоставляют.
Чем больше опций, тем важнее обнаружение возможностей и запасные варианты. Модульность даёт гибкость, но порождает и новую коммерческую матрицу.
Комплаенс — полезное свидетельство, но не сертификат сквозной производительности
Программа комплаенса и семинары по интероперабельности проверяют конкретное взаимодействие хоста и контроллера и выявляют расхождения, которые не видны в документации.
Включение в список не гарантирует задержку, ресурс, восстановление и безопасность во всех топологиях. Опциональные функции и матрица «драйвер — прошивка» меняются.
Покупателям стоит рассматривать комплаенс как минимальный порог и тестировать собственные нагрузки, сбои и обновления.
Дезагрегация отделяет ёмкость от хоста и перераспределяет ответственность
При локальном хранении устройство, сервер и системные команды часто оказывались связаны. Удалённый пул обслуживает несколько потребителей, а распределение можно менять программно.
Сетевые, storage-, платформенные, security- и прикладные команды имеют дело с одним и тем же инцидентом. Деградация фабрики может выглядеть как сбой базы данных, а сбой прошивки контроллера — как потеря сети.
Экономика зависит не только от цены за единицу, но и от утилизации ёмкости и операционных возможностей.
ИИ превращает задержку хранилища в стоимость вычислений
Обучение читает наборы данных, пишет контрольные точки и перемещает крупные состояния. Если тысячи ускорителей ждут, хвостовая задержка хранилища расходует дорогие вычислительные ресурсы.
TCP, RDMA, multipath и общие пространства имён предлагают разные архитектуры. Выбирать нужно с учётом перегрузок, метаданных, поведения очередей, отказов и восстановления.
Цель — не только пиковая пропускная способность, но и предсказуемая задержка очередей и восстановление при синхронной нагрузке.
NVMe 2.4 демонстрирует широту охвата и давление версий
Набор 2.4 объединяет Base, транспорты, Boot, Management Interface и специализированные наборы команд. NVMe превратился из разъёма для SSD в стек протоколов хранения.
Хост, поддерживающий Base 2.4, не обязательно имеет все наборы команд; возможности TCP-контроллеров и RDMA-продуктов тоже различаются. Заявления о поддержке должны быть конкретными.
На практике частью протокола становится комбинация драйвера, ОС, прошивки, транспорта и инструментов управления.
NVMe сделал хранилище композитным, но не простым
Общий контракт снижает стоимость перехода. Команды и пространства имён могут переезжать с PCIe в фабрику или между вендорами. Миграция данных, безопасность, сеть, наблюдаемость и поддержка остаются.
Преимущество — разделение протокола и продуктов. Риск — в том, что одно и то же имя NVMe скрывает очень разные архитектуры.
Хранилище становится программируемым и распределённым, но остаётся системой целостности данных, все пути которой нужно понимать при сбоях.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
