Кратко
- NVM Express, Inc. — некоммерческий отраслевой консорциум, который управляет семейством спецификаций NVMe; он не производит ни SSD, ни контроллеры, ни системы хранения.
- NVMe заменил унаследованные от механических дисков представления о последовательных очередях на множество расположенных в памяти очередей отправки и завершения, адаптированных к многоядерным процессорам и параллелизму флеш-памяти.
- Одна и та же модель контроллера, подсистемы и пространства имён может работать локально через PCIe или удалённо через NVMe over Fabrics, с транспортами TCP и RDMA, различающимися по стоимости.
- Серия NVMe 2.x модульна. Комплект 2.4, опубликованный 4 августа 2026 года после ратификации, включает Base, транспорты PCIe/RDMA/TCP, NVMe-MI, Boot и несколько специализированных наборов команд.
- Протокол делает ёмкость и доступ более компонуемыми. Он не определяет файловую систему, долговечность, RAID, erasure coding, сеть, эксплуатационную безопасность или согласованность приложения.
Команда хранения может покинуть сервер, не меняя основного языка
Приложение может отправить чтение или запись в локальное пространство имён NVMe, подключённое через PCIe. В архитектуре fabric та же модель команд может достичь удалённой подсистемы через Ethernet или сеть RDMA. Носитель, контроллер и путь меняются; грамматика хранения остаётся в значительной степени общей.
Эта преемственность — основа дезагрегации. Операторы могут сосредоточить ёмкость в общих системах и подключать её к хостам по требованию, вместо того чтобы размещать каждое устройство в корпусе, который его использует.
Перемещение не устраняет ни одной зависимости. Оно добавляет обнаружение, сеть, multipath, аутентификацию, переподключение и домены отказов. NVMe превращает хранилище в компонуемый сервис, а не в ресурс без топологии.
Флеш-памяти нужен был протокол, созданный для параллелизма
Протоколы, унаследованные от жёстких дисков, формировались механической задержкой и более узкими очередями. Флеш-память способна обрабатывать множество операций параллельно, а современные серверы имеют много ядер.
NVMe использует находящиеся в памяти пары очередей отправки и завершения (submission queues и completion queues). Приложения или драйверы размещают команды, уведомляют контроллер через doorbell-регистры и получают завершения через прерывания или опрос. Такая структура сокращает общие блокировки и позволяет приблизить очереди к ядрам, которые их используют.
Выгода не возникает автоматически. Фактические задержку и пропускную способность определяют прошивка, топология PCIe, память NUMA, глубина очереди, прерывания и рабочая нагрузка.
Консорциум отделяет управление протоколом от конкуренции между продуктами
Работа над NVMe началась в конце 2000-х годов; версия 1.0 вышла в 2011 году, а NVM Express, Inc. была учреждена в 2014 году. Консорциум объединяет производителей платформ, процессоров, контроллеров, носителей, сетевого оборудования и систем.
На момент подготовки материала президентом была Amber Huffman из Google, казначеем — Curtis Ballard из AMD, секретарём — David Allen из Microchip. В публичный совет входили тринадцать представителей компаний-учредителей.
Консорциум определяет контракты и программы соответствия. Члены продолжают конкурировать в области кремния, прошивок, систем, поддержки и производительности. Участие даёт доступ к процессу; оно не доказывает, что продукт реализует каждую функцию.
NVMe 2.0 превратил разраставшийся документ в модульное семейство
По мере того как протокол охватывал несколько транспортов и моделей данных, поддерживать единый документ становилось всё труднее. Реструктуризация 2.0 в 2021 году разделила Base, наборы команд и транспорты.
Такая архитектура позволяет транспорту TCP развиваться без переписывания всего набора команд, а Zoned Namespaces — продвигаться без изменения каждого обычного контроллера. Вместе с тем она заставляет покупателей отслеживать несколько версий.
Комплект NVMe 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. Объединение прерываний снижает издержки, но может добавить задержку.
Глубина очереди — не универсальный показатель производительности. Слишком глубокие очереди увеличивают ожидание и задержку в очереди. Слишком короткие могут недогружать устройство. Эксплуатация должна выбирать параметры под рабочую нагрузку.
Контроллеры, подсистемы и пространства имён отделяют логическую конечную точку от носителя
Контроллер предоставляет очереди и команды. Подсистема может содержать несколько контроллеров. Пространства имён — это логические области хранения, которые можно разделять, изменять в размере или открывать по нескольким путям.
Такая абстракция не позволяет путать физический SSD с идентичностью, которую видит хост. Удалённая подсистема может агрегировать множество носителей и предоставлять стабильные пространства имён.
Протокол не решает, как данные размещаются, реплицируются или защищаются. RAID, erasure coding, thin provisioning и согласованность остаются функциями системы, окружающей NVMe.
Административные команды не менее важны, чем операции ввода-вывода
Административная очередь управляет идентификацией, созданием очередей, функциями, журналами, прошивкой, пространствами имён и безопасностью. Эти команды определяют среду, в которой становятся возможны обычные чтения и записи.
Административная ошибка может удалить пространство имён, активировать неверную прошивку или изменить конфигурацию питания. Поэтому критически важны права доступа, аудиты и окна изменений.
Разделение admin/I/O упрощает архитектуру, но не делает плоскость управления менее критичной. В fabric эти команды иногда идут по той же сети, что и данные.
PCIe держит локальный путь близко к памяти и оборудованию
NVMe over PCIe использует разделяемые структуры памяти и регистры контроллера на локальной шине. Он даёт прямой путь, подходящий для SSD и карт, установленных в сервере.
Физическая близость не гарантирует простую топологию. Устройство может находиться за PCIe-коммутатором, на другом сокете NUMA или разделять линии. Размещение процесса, памяти и устройства влияет на производительность.
Поэтому системы должны учитывать путь PCIe, а не просто считать накопители. Неожиданная задержка может исходить от топологии сервера ещё до обращения к носителю.
NVMe over Fabrics превращает локальное взаимодействие в сетевой сервис
NVMe-oF, первая версия которого вышла в июне 2016 года вместе с NVMe-MI 1.0, переносит капсулы команд и данные в удалённую подсистему. Хост устанавливает очереди через fabric и видит сетевые пространства имён.
Такое разделение позволяет делить ёмкость и производительность. Хосты можно заменять без переноса данных, а системы могут предоставлять ресурсы нескольким кластерам.
Оно создаёт новые точки отказа: NIC, коммутатор, маршрут, обнаружение, контроллер, аутентификацию и политику multipath. Хранилище начинает зависеть от сети как от компонента данных, а не только от связности.
Контроллеры обнаружения делают fabric динамичным и концентрируют критическую функцию
Хост может запросить у контроллера обнаружения доступные подсистемы и адреса. Это избавляет от ручной настройки каждого пути и позволяет добавлять или удалять сервисы.
Однако обнаружение может стать центральной зависимостью. Ошибочные данные способны направить хост на неверный target или помешать подключению. Необходимы кэши, резервирование, валидация и защита идентичности.
Сервис обнаружения нельзя путать с доступностью самого хранилища. Уже подключённый хост может продолжать работу, тогда как новый хост не сможет обнаружить сервис.
NVMe/TCP сделал fabric доступным в обычных IP-сетях
Транспорт TCP, стандартизированный в 2019 году, отображает команды и данные NVMe на TCP-соединения. Операторы могут использовать маршрутизируемый Ethernet, IP-инструменты, межсетевые экраны и привычные сетевые практики, не строя fabric на базе RDMA.
Эта доступность имеет цену. Стек TCP, копирование, прерывания и CPU могут добавить накладные расходы и хвостовую задержку. Оптимизации ядра, разгрузка (offload) и размер передач сильно влияют на результат.
Транспорт также добавляет специальные средства контроля кадрирования и контрольных сумм для обнаружения повреждений. TLS может защищать сеанс, когда это предусмотрено реализацией и политикой.
NVMe/RDMA нацелен на низкую задержку ценой дисциплины fabric
RDMA позволяет перемещать команды и данные с меньшим участием CPU, используя пары очередей, регистрацию памяти и возможности NIC. Он подходит для сред, где важны микросекунды и циклы CPU.
RDMA — это не единый fabric. RoCE, iWARP и другие привязки имеют разное поведение и требования. Нужно понимать перегрузки, потери, PFC или ECN, настройку NIC и регистрируемую память.
Бенчмарк с низкой задержкой не доказывает, что эксплуатация будет простой. Ошибки fabric могут проявляться как тайм-ауты хранения и требовать навыков на стыке сети и систем.
Multipath превращает резервирование в решение хоста
Пространство имён может быть доступно через несколько контроллеров и путей. Хост-система решает, как балансировать или переключаться. Asymmetric Namespace Access указывает, какие пути оптимизированы, не оптимизированы или недоступны.
Наличие двух каналов не гарантирует независимости. Они могут разделять коммутатор, питание, контроллер или маршрут. Операторы должны тестировать потерю каждого элемента и проверять реакцию multipath на хосте.
Неверная политика может направить трафик по медленному пути или слишком долго удерживать отказавший маршрут. Резервирование нужно наблюдать как поведение, а не учитывать как число.
Резервирования координируют общий доступ, не заменяя консенсус кластера
Резервирования NVMe позволяют хостам регистрироваться и резервировать пространство имён, чтобы предотвращать несанкционированные параллельные записи. Они полезны в кластерах и сценариях отработки отказа.
Они не заменяют протокол консенсуса и согласованность приложения. Отказавший хост может оставить состояние резервирования, которое нужно очистить, а при восстановлении следует не допустить, чтобы прежний узел продолжал запись.
Восстановление требует fencing, учёта поколения и проверки идентичности. Неправильно управляемое резервирование может превратить меру защиты в недоступность.
Аутентификация и TLS становятся необходимыми, когда хранилище покидает PCIe
Локальное устройство часто опиралось на подразумеваемую физическую границу. В fabric инициатор и target должны доказывать свою идентичность и защищать соответствующие каналы.
NVMe определяет механизмы аутентификации, а NVMe/TCP может использовать TLS. Их ценность зависит от ключей, сертификатов, обновлений, алгоритмов и политик доступа. Транспорт, поддерживающий TLS, не обязательно настроен на его использование.
Плоскость обнаружения, административная плоскость и плоскость данных должны рассматриваться вместе. Корректно аутентифицированная идентичность всё равно может обладать слишком широкими правами.
NVMe-MI даёт путь управления, отдельный от прикладного ввода-вывода
NVMe Management Interface позволяет инструментам обнаруживать подсистемы и управлять ими, считывать состояние, инвентаризировать устройства и выполнять некоторые операции, даже когда основной путь ввода-вывода не используется.
Такое разделение помогает обслуживанию и восстановлению. Но оно добавляет и вторую плоскость управления, которую нужно защищать. Инструмент управления может читать чувствительные данные или массово изменять компоненты.
NVMe-MI может интегрироваться с системами Redfish и другими моделями управления. Интеграция не устраняет границы ответственности между консорциумами и поставщиками.
Zoned Namespaces раскрывает хосту ограничения носителя
ZNS делит ёмкость на зоны, записываемые последовательно. Давая программному обеспечению видимость организации носителя, он может сократить часть внутренней работы по сборке мусора и повысить ресурс или предсказуемость.
Для получения выгоды файловая система, база данных или уровень хранения должны понимать зоны. Приложение, созданное для обычного блочного устройства, не получает преимущества автоматически.
ZNS иллюстрирует напряжение NVMe: раскрытие большего поведения может повысить эффективность, но увеличивает требования к переносимости программного обеспечения.
Key Value, Simple Log Memory и Computational Programs расширяют пространство имён
Специализированные наборы команд позволяют работать с ключами и значениями, простой журнальной памятью или вычислительными программами, выполняемыми рядом с хранилищем. Они призваны сократить преобразования и перемещения данных для некоторых рабочих нагрузок.
Их внедрение зависит от контроллеров, драйверов, библиотек и приложений. Набор команд в спецификации — не универсальная функция всех SSD или массивов.
Чем больше моделей предлагает протокол, тем точнее программное обеспечение должно определять возможности и иметь запасной путь. Техническая модульность создаёт новую коммерческую матрицу.
Соответствие даёт полезное подтверждение, но не сертифицирует сквозную производительность
Программы и семинары по интероперабельности проверяют конкретное поведение хостов и контроллеров. Они выявляют расхождения, которые не видны при чтении спецификации.
Список соответствия не измеряет задержку, ресурс, восстановление или безопасность в каждой топологии. Дополнительные функции могут различаться, а матрица «драйвер — прошивка» меняется.
Покупателям следует рассматривать соответствие как нижнюю границу и тестировать свою рабочую нагрузку, сценарии отказов и цикл обновлений.
NVMe отделил ёмкость от сервера и перенёс ответственность
Локальное хранилище часто связывало устройство, хост и системную команду. Дезагрегация позволяет разделять пул между многими потребителями и менять распределение ресурсов программно.
В один и тот же инцидент оказываются вовлечены сетевые, storage- и платформенные команды, а также команды безопасности и приложений. Деградация fabric может выглядеть как проблема базы данных; прошивка контроллера может казаться потерей сети.
Поэтому экономическая выгода зависит от использования ёмкости и эксплуатационных возможностей, а не только от цены за терабайт.
ИИ делает задержку хранилища видимой как стоимость вычислений
Обучение записывает контрольные точки, загружает наборы данных и перемещает состояния в больших масштабах. Когда тысячи ускорителей ждут, колебание хранилища может впустую потратить значительные инвестиции в вычисления.
NVMe/TCP, RDMA, multipath и общие пространства имён дают несколько возможных архитектур. Выбор должен учитывать перегрузки, топологию, пропускную способность, метаданные, восстановление и поведение очередей.
Цель — не только максимальный бенчмарк, но и предсказуемая задержка очередей и восстановления во время синхронизированных операций.
Комплект 2.4 показывает одновременно масштаб и давление версий
NVMe 2.4 координирует Base, транспорты, Boot, Management Interface и специализированные наборы команд. Такой масштаб показывает, что NVMe превратился в стек, а не просто в разъём для SSD.
Это усложняет заявления о поддержке. Хост может поддерживать Base 2.4, не поддерживая каждый набор команд или каждую функцию безопасности. Контроллер может предлагать TCP без тех же возможностей, что и продукт на базе RDMA.
Отслеживание должно охватывать версии драйверов, прошивки, ОС, транспорта и инструментов управления. На практике эта матрица — часть протокола.
NVMe сделал хранилище компонуемым, но не сделал сервис простым
Общий протокол снижает одну из издержек перехода: модель команд может пережить переход с PCIe на fabric или смену поставщика. Остаются другие издержки: перенос данных, идентичность пространства имён, политика безопасности, сеть, наблюдаемость и поддержка.
Стратегическое преимущество — более чёткое разделение протокола и продукта. Риск — спрятать сложную архитектуру за одним именем NVMe.
Хранилище становится программируемым и распределяемым. Оно не перестаёт быть системой целостности, каждый слой которой необходимо понимать при отказе.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
