Resumen
- NVM Express, Inc. es una alianza industrial sin ánimo de lucro que gestiona la familia de especificaciones NVMe; no fabrica SSD, controladores, conmutadores ni matrices de almacenamiento.
- NVMe sustituye el modelo de colas más estrecho y más serial de la era de los discos duros mecánicos por múltiples submission queues y completion queues en memoria, más adecuado para la memoria flash paralela y los procesadores multinúcleo.
- Las mismas semánticas de controller, subsystem y namespace pueden ejecutarse dentro del servidor a través de PCIe o prestar servicio a través de redes TCP o RDMA mediante NVMe over Fabrics.
- NVMe 2.x adopta una arquitectura modular. El conjunto de especificaciones 2.4, publicado el 4 de agosto de 2026, incluye Base, transports PCIe/RDMA/TCP, NVMe-MI, Boot y varios command sets especializados.
- El protocolo mejora la componibilidad de la capacidad, pero no define sistema de archivos, persistencia, RAID, erasure coding, diseño de red, seguridad operativa ni consistencia de aplicaciones.
Los comandos de almacenamiento pueden salir del servidor sin cambiar el lenguaje básico
Una solicitud de lectura puede dirigirse a un namespace de una SSD PCIe local o a un subsistema remoto a través de la fabric. El medio, el controlador y la ruta cambian; el modelo de comandos, colas y namespaces se mantiene en gran medida igual.
Este es el fundamento del desacoplamiento del almacenamiento. La capacidad se puede concentrar en un pool compartido y asignarse a los hosts según la demanda, sin necesidad de instalar cada unidad en el chasis que la utiliza.
Pero salir del servidor añade descubrimiento, red, multipath, autenticación, reconexión y nuevos dominios de fallo. NVMe convierte el almacenamiento en un servicio programable, pero no hace desaparecer la topología.
La memoria flash necesita un protocolo diseñado para el paralelismo
Las interfaces de almacenamiento tradicionales estaban limitadas por la búsqueda mecánica y un menor número de operaciones concurrentes. La memoria flash puede gestionar muchas solicitudes a la vez, y los servidores modernos disponen de numerosos núcleos de CPU.
NVMe utiliza submission queues y completion queues ubicadas en memoria. El host escribe el comando, notifica al controlador mediante el doorbell y lee la finalización por interrupción o sondeo. Se pueden asignar varias colas a distintos núcleos o procesos, lo que reduce los bloqueos compartidos y la contención.
El resultado real sigue dependiendo del firmware del controlador, la topología PCIe, NUMA, la profundidad de cola, la estrategia de interrupciones y la carga de trabajo. Adoptar NVMe no garantiza automáticamente un nivel fijo de rendimiento.
La alianza separa la gobernanza del protocolo de la competencia entre productos
El trabajo sobre NVMe comenzó a finales de la década de 2000; la especificación 1.0 se publicó en 2011 y NVM Express, Inc. se fundó en 2014. Los miembros de la alianza proceden de la industria de procesadores, memoria flash, controladores, redes, sistemas y computación en la nube.
A fecha de cierre de la investigación, Amber Huffman, de Google, ocupaba la presidencia; Curtis Ballard, de AMD, la tesorería; y David Allen, de Microchip, la secretaría; el consejo directivo público contaba con trece representantes promotores.
La alianza gestiona el contrato, los cambios y el marco de cumplimiento; los miembros siguen compitiendo en chips, firmware, diseño de sistemas, soporte y rendimiento. Participar en el trabajo de estándares no significa que un producto implemente todas las funciones.
NVMe 2.0 divide el creciente documento único en una familia modular
A medida que aparecían transportes más allá de PCIe y nuevos modelos de datos, resultaba cada vez más difícil mantener todo el contenido en una sola especificación. La reestructuración de NVMe 2.0 en 2021 separó Base, los conjuntos de comandos y los transportes.
Así, el transporte TCP puede evolucionar de forma independiente, y Zoned Namespace puede ampliarse sin modificar todos los controladores tradicionales. El coste es que los compradores deben gestionar combinaciones de versiones más complejas.
El conjunto NVMe 2.4 publicado el 4 de agosto de 2026 incluye Base 2.4, PCIe Transport 1.4, RDMA Transport 1.3, TCP Transport 1.3, NVMe-MI 2.2, Boot 1.4 y conjuntos de comandos como NVM, Key Value, Zoned Namespace, Computational Programs y Simple Log Memory. «NVMe 2.4» no es un único archivo.
Las submission y completion queues acercan el trabajo de almacenamiento a los núcleos de CPU
El host escribe el comando en la submission queue y el controlador escribe el resultado en la completion queue. Diferentes núcleos o aplicaciones pueden usar pares de colas independientes, reduciendo bloqueos globales y cambios de contexto.
El doorbell se utiliza para notificar nuevo trabajo. El sondeo puede reducir ciertas latencias, pero consume CPU de forma continua; la coalescencia de interrupciones ahorra CPU, aunque puede aumentar la espera. La profundidad de cola afecta a la utilización y a la latencia de cola.
Una cola más profunda no siempre es mejor. Puede ocultar la saturación y alargar el tiempo de espera. La configuración correcta debe partir de la carga de trabajo y del SLA.
Controller, subsystem y namespace separan los extremos lógicos del soporte físico
El controlador expone colas y comandos. Un subsistema puede contener varios controladores. El namespace representa capacidad lógica y puede ofrecerse al host a través de distintos controladores y rutas.
Por tanto, la identidad que ve el host no tiene por qué corresponder a una SSD física concreta. Una matriz puede combinar varios medios y ofrecer un namespace estable.
NVMe no decide cómo se colocan, replican o protegen los datos. RAID, erasure coding, aprovisionamiento ligero, instantáneas y consistencia de aplicaciones siguen siendo responsabilidad de las capas superiores.
El comando admin es tan crítico como la E/S normal
La cola de administración se usa para identificar el dispositivo, crear colas de E/S, configurar características, leer registros, gestionar firmware, namespaces y seguridad. Controla el entorno en el que se producen las lecturas y escrituras normales.
Un comando admin erróneo puede eliminar un namespace, activar un firmware incorrecto o cambiar el estado de energía. Los permisos, la auditoría y el control de cambios deben cubrir esta capa.
Separar admin e I/O es bueno para la arquitectura, pero no significa que el plano de control sea secundario. En la fabric, ambos pueden depender de la misma red y del mismo sistema de identidad.
PCIe acerca la ruta local a la memoria y al hardware
NVMe over PCIe se comunica con los registros del controlador mediante estructuras de memoria compartida en el bus local; es la vía directa para SSD y tarjetas dentro del servidor.
La proximidad física no implica una topología simple. Un dispositivo puede estar tras un switch PCIe, conectado a otro socket NUMA o compartiendo lanes. La ubicación de CPU, memoria y dispositivo afecta al rendimiento.
Por eso no basta con contar unidades. Una latencia anómala puede originarse en la ruta PCIe del propio host antes de llegar al medio.
NVMe over Fabrics convierte la relación de controlador local en un servicio de red
NVMe-oF 1.0 y NVMe-MI 1.0 se publicaron el 9 de junio de 2016. NVMe-oF transporta las cápsulas de comando y los datos hasta el subsistema remoto; el host establece colas y accede a los namespaces a través de la fabric.
Esto hace posible la agrupación de capacidad y la separación entre cómputo y almacenamiento. El host puede cambiarse mientras los datos permanecen en el sistema compartido.
Al mismo tiempo, NIC, switch, ruta, descubrimiento, controlador, autenticación y multipath entran en la ruta de datos. La red deja de ser una mera «conexión» y pasa a formar parte de la integridad del almacenamiento.
El discovery controller simplifica el acceso dinámico y crea una dependencia crítica
El host puede consultar al discovery controller para obtener subsistemas, direcciones y servicios disponibles. Así no es necesario configurar rutas manualmente para cada target y resulta más fácil añadir o retirar recursos de forma dinámica.
La información errónea o una interrupción del servicio de descubrimiento pueden bloquear nuevas conexiones o llevar al host a un target equivocado. Se necesitan redundancia, caché, protección de la identidad y validación del contenido.
La disponibilidad del descubrimiento es distinta de la disponibilidad de la ruta de datos. Una sesión existente puede seguir funcionando mientras un host nuevo no consigue descubrir el servicio.
NVMe/TCP lleva el almacenamiento de fabric a las redes IP ordinarias
Estandarizado en 2019, NVMe/TCP asigna comandos y datos a conexiones TCP. Los operadores pueden usar Ethernet enrutable, herramientas IP, cortafuegos y prácticas de red conocidas, sin necesidad de construir una fabric RDMA.
La conveniencia conlleva sobrecarga. La pila TCP, las copias, las interrupciones y la CPU pueden afectar a la latencia de cola. La implementación en el kernel, el offload, el tamaño de transferencia y el ajuste son importantes.
El transporte también define framing y digest específicos del almacenamiento y puede usar TLS. Que soporte TLS no significa que esté activado ni que se opere con seguridad.
NVMe/RDMA busca baja latencia y exige una ingeniería de fabric más estricta
RDMA reduce la intervención de la CPU mediante pares de colas, memoria registrada y offload en la NIC; es adecuado para escenarios de HPC e IA donde importan los microsegundos y los ciclos de CPU.
RDMA no es una red unificada. Los enlaces RoCE e iWARP plantean requisitos distintos en congestión, pérdida de paquetes, PFC, ECN y gestión de memoria.
Un benchmark de baja latencia no implica una operación sencilla. Un fallo de red puede manifestarse como un timeout de almacenamiento, y requiere un diagnóstico conjunto de los equipos de red y sistemas.
Multipath convierte la redundancia en una elección de política del host
Un namespace puede ser accesible a través de múltiples controladores y rutas. El host decide el equilibrio de carga y la conmutación por error. Asymmetric Namespace Access señala rutas optimizadas, no optimizadas o no disponibles.
Dos enlaces pueden seguir compartiendo switch, controlador, alimentación o ruta. La independencia real debe verificarse con pruebas de fallos.
Una política incorrecta puede mantener una ruta degradada o enviar E/S a una ruta más lenta. La redundancia debe medirse por el comportamiento real, no por el número de puertos.
Reservation coordina el acceso compartido, pero no sustituye al consenso de clúster
La reserva NVMe permite al host registrarse y reservar un namespace, impidiendo el acceso de escritores no autorizados; se usa a menudo en clústeres y conmutaciones por error.
No sustituye a un protocolo de consenso ni a la consistencia de aplicaciones. Un host con fallos puede dejar un estado de reserva; el proceso de recuperación debe aislar (fencing) al nodo antiguo para evitar que vuelva a escribir.
Una recuperación incorrecta puede convertir el mecanismo de protección en una fuente de indisponibilidad o corrupción de datos.
Cuando el almacenamiento sale de PCIe, la autenticación y TLS se vuelven imprescindibles
Los dispositivos locales suelen heredar el límite físico. Al conectarse por red, el iniciador y el target deben demostrar su identidad y proteger los canales de control y datos adecuados.
NVMe define mecanismos de autenticación y NVMe/TCP puede usar TLS. La protección real depende de claves, certificados, rotación, algoritmos, políticas de acceso y calidad de la implementación. Que una función exista no significa que la seguridad esté configurada.
Discovery, admin y plano de datos deben evaluarse en conjunto. Una identidad auténtica también puede tener permisos excesivos.
NVMe-MI proporciona una ruta de gestión independiente de la E/S de aplicaciones
NVMe Management Interface permite a las herramientas descubrir subsistemas, leer el estado de salud, inventariar dispositivos y ejecutar ciertas acciones de gestión, incluso cuando la ruta de E/S principal no está siendo usada por aplicaciones.
Esto facilita el mantenimiento y la recuperación, pero añade otra interfaz con privilegios elevados. Una plataforma de gestión centralizada puede leer información sensible o modificar dispositivos en masa.
NVMe-MI puede integrarse con sistemas de gestión como Redfish. La integración no implica que se fusionen las responsabilidades de distintos organismos de estándares y proveedores.
Zoned Namespace expone las restricciones del medio al software del host
ZNS divide la capacidad en zonas de escritura secuencial. Cuando el software conoce la distribución del medio, puede reducir la recolección de basura interna del controlador y mejorar la resistencia o la previsibilidad.
El beneficio exige que el sistema de archivos, la base de datos o la capa de almacenamiento comprendan las zonas. Las aplicaciones diseñadas para dispositivos de bloques tradicionales no obtienen la ventaja automáticamente.
ZNS ilustra el equilibrio de NVMe: exponer más comportamiento del medio puede aumentar la eficiencia, pero también eleva el coste de portabilidad del software.
Key Value, Simple Log Memory y Computational Programs amplían el significado de namespace
Los conjuntos de comandos especializados admiten acceso clave-valor, memoria de registro simple o la ejecución de programas cerca del almacenamiento, con el objetivo de reducir conversiones y movimiento de datos.
La adopción depende del controlador, los drivers, las bibliotecas y las aplicaciones. Escribir en la especificación no significa que todas las SSD y matrices ofrezcan la función.
Cuantas más funciones, más importante es el descubrimiento de capacidades y el fallback. La modularidad aporta flexibilidad, pero también genera una nueva matriz de compatibilidad comercial.
Compliance ofrece pruebas útiles, pero no certifica el rendimiento de extremo a extremo
El programa de cumplimiento y los talleres de interoperabilidad prueban comportamientos específicos entre host y controlador, y pueden detectar divergencias que la lectura de la especificación no revela.
Estar en la lista no implica un nivel concreto de latencia, resistencia, recuperación o seguridad en cualquier topología. Las funciones opcionales y la matriz de drivers y firmware cambian continuamente.
Los compradores deben tratar el cumplimiento como un mínimo y probar sus propias cargas de trabajo, fallos y procedimientos de actualización.
El desacoplamiento de almacenamiento separa la capacidad del servidor y redistribuye responsabilidades
El almacenamiento local tiende a vincular el dispositivo, el host y los equipos de sistemas. Un pool remoto puede servir a varios consumidores y ajustar la asignación mediante software.
Los equipos de red, almacenamiento, plataforma, seguridad y aplicaciones comparten así un mismo incidente. Una degradación de la fabric puede parecer un problema de base de datos, y un problema de firmware del controlador puede parecer una pérdida de red.
El beneficio económico depende de la utilización de la capacidad y de la capacidad operativa, no solo del precio por TB.
La IA convierte la latencia de almacenamiento directamente en costo de cómputo
Las tareas de entrenamiento deben cargar conjuntos de datos, escribir puntos de control e intercambiar estados a gran escala. Cuando miles de aceleradores esperan, la latencia de cola del almacenamiento desperdicia recursos de cómputo caros.
TCP, RDMA, multipath y namespace compartido ofrecen arquitecturas distintas. La elección debe considerar congestión, metadatos, comportamiento de las colas, fallos y recuperación.
El objetivo no debería ser solo el rendimiento máximo, sino mantener un encolado y una recuperación predecibles bajo carga sincronizada.
NVMe 2.4 muestra el alcance del protocolo y aumenta la presión de versiones
El conjunto 2.4 coordina Base, transportes, Boot, Management Interface y conjuntos de comandos especializados. NVMe se ha convertido en una pila completa, no en una simple interfaz para SSD.
Un host puede soportar Base 2.4 sin soportar todos los conjuntos de comandos; un controlador TCP también puede tener funciones distintas de un producto RDMA. Las declaraciones de soporte deben ser concretas.
La matriz formada por drivers, SO, firmware, transportes y herramientas de gestión es, en la práctica, parte del protocolo.
NVMe hace el almacenamiento componible, pero no hace el servicio más simple
El protocolo común reduce un coste de cambio: los comandos y los namespaces pueden pasar de PCIe a la fabric, o de un proveedor a otro. La migración de datos, la identidad, la seguridad, la red, la observabilidad y el soporte siguen existiendo.
La ventaja es que el protocolo y los productos se separan con más claridad. El riesgo es que el nombre «NVMe» oculte arquitecturas muy diferentes.
El almacenamiento es así más programable y distribuible, pero sigue siendo un sistema de integridad de datos que debe poder explicarse ante un fallo.
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
