Definition

Memoria no volátil exprés o NVMe

Contribudor(es): Margaret Rouse

La memoria no volátil exprés o NVMe (Non-volatile memory express) es una interfaz de controlador de host y un protocolo de almacenamiento creado para acelerar la transferencia de datos entre sistemas empresariales y sistemas clientes y las unidades de estado sólido (SSD) a través de un bus de interconexión de componentes periféricos de alta velocidad (PCIe) de una computadora.

La especificación NVMe define una interfaz de registro, un conjunto de comandos y una colección de características para SSD basadas en PCIe con los objetivos de alto rendimiento e interoperabilidad en una amplia gama de subsistemas NVM. La especificación NVMe no estipula el último modelo de uso, como el almacenamiento de estado sólido, la memoria principal, la memoria caché o la memoria de respaldo.

NVMe ofrece una alternativa al estándar de interfaz de sistema de computadora pequeña (SCSI) y al estándar de tecnología avanzada (ATA) para conectar y transmitir datos entre un sistema host y un dispositivo de almacenamiento de destino periférico. El conjunto de comandos ATA en uso con SSDs Serial ATA (SATA) y el conjunto de comandos SCSI para SSDs Serial Attached SCSI (SAS) se desarrollaron en un momento en que las unidades de disco duro (HDD) y la cinta eran el medio de almacenamiento principal. NVMe fue diseñado para utilizarse con medios más rápidos.

Los principales beneficios de las SSD PCIe basadas en NVMe sobre las SSD basadas en SAS o en SATA son una latencia reducida en la pila de software del host, mayores operaciones de entrada/salida (E/S) por segundo (IOPS) y un consumo de energía potencialmente menor, según el factor de forma y el número de carriles PCIe en uso.

NVMe puede admitir SSDs que usan diferentes tipos de memoria no volátil, incluyendo la memoria flash NAND y la tecnología 3D XPoint desarrollada por la tecnología Intel y Micron. Los factores de forma admitidos incluyen tarjetas PCIe adicionales, SSDs M.2 y U.2 de 2,5 pulgadas. Los controladores de referencia NVMe están disponibles para una variedad de sistemas operativos, incluyendo Windows y Linux.

Cómo funciona NVMe

NVMe asigna comandos de E/S y respuestas a la memoria compartida en una computadora host a través de la interfaz PCIe. La interfaz NVMe admite E/S paralelas con procesadores multinúcleo para facilitar un alto rendimiento y mitigar los cuellos de botella de la unidad central de procesamiento (CPU).

NVMe ofrece un conjunto de comandos más simplificado para procesar una solicitud de E/S que los conjuntos de comandos SCSI y ATA. NVMe requiere menos de la mitad del número de instrucciones de la CPU que el conjunto de comandos SCSI utilizados con las unidades SATA con los dispositivos SAS y el conjunto de comandos ATA.

NVMe admite 64,000 comandos en una sola cola de mensajes y un máximo de 65,535 colas de E/S. Por el contrario, un dispositivo SAS generalmente admite hasta 256 comandos, y una unidad SATA admite hasta 32 comandos, en una cola.

Sin embargo, las SSD PCIe basadas en NVMe son actualmente más caras que las SSD basadas en SAS y SATA de capacidad equivalente, y las SSD NVMe empresariales de gama alta pueden consumir más energía que las SAS o SSDs SAS. La SCSI Trade Association afirma que los SSDs SAS más maduros ofrecen ventajas adicionales sobre los SSDs PCIe NVMe, como una mayor escalabilidad, conectividad en caliente y capacidades de conmutación por error probadas con el tiempo. Los SSDs PCIe NVMe también pueden proporcionar un nivel de rendimiento que muchas aplicaciones no requieren.

Historia de NVM Exprés

El Grupo de trabajo de Interfaz de controlador de host de memoria no volátil (NVMHCI) comenzó a desarrollar la especificación NVMe en 2009 y publicó la versión 1.0 el 1 de marzo de 2011. La especificación 1.0 incluía la interfaz de colas, el conjunto de comandos NVM, el conjunto de comandos de administración y las características de seguridad.

El NVMHCI Work Group, comúnmente conocido como NVM Express Work Group, lanzó una actualización a la especificación NVMe el 11 de octubre de 2012. NVMe 1.1 agregó soporte para SSD con múltiples puertos PCIe para permitir E/S de múltiples rutas y compartir espacios de nombres. Otras capacidades nuevas incluyen transiciones de estado de energía autónomas durante el tiempo de inactividad para reducir las necesidades de energía y las reservas, lo que permite que dos o más hosts coordinen el acceso a un espacio de nombres compartido para mejorar la tolerancia a fallas.

NVM Express Work Group celebró su primer concurso en mayo de 2013 para permitir a las empresas probar el cumplimiento de sus productos con la especificación NVMe y verificar la interoperabilidad con otros productos NVMe.

La especificación NVMe 1.2 surgió el 3 de noviembre de 2014, con mejoras tales como soporte para actualizaciones de firmware en vivo, administración de energía mejorada y la opción de protección de datos de extremo a extremo.

El 17 de noviembre de 2015, la organización NVM Express ratificó la versión 1.0 de NVM Express Management Interface (NVMe-MI) para proporcionar una arquitectura y un conjunto de comandos para administrar un subsistema de memoria no volátil fuera de banda. NVMe-MI permite que un controlador de administración realice tareas como el descubrimiento de capacidades y dispositivos SSD, monitoreo de estado y temperatura, y actualizaciones de firmware sin interrupciones. Sin NVMe-MI, los administradores de TI generalmente confiaban en interfaces de administración propietarias y específicas del proveedor para permitir la administración de SSDs PCIe.

Mejoras en la característica NVMe 1.3

NVM Express lanzó NVMe 1.3 en junio de 2017. Los aspectos más destacados se centran en la sanitización, un nuevo marco conocido como directivas y mejoras de virtualización.

De acuerdo con una hoja de referencia de NVM Express, en una operación de sanitización o desinfección todos los datos de usuario en el subsistema NVMe se modifican para que la recuperación no sea posible "desde cualquier caché, medios no volátiles o memoria intermedia del controlador". Las operaciones de desinfección se recomiendan cuando un SSD se está retirando o reutilizando para un nuevo caso de uso. Los modos de desinfección incluyen borrado de bloque de bajo nivel en medios NAND, borrado criptográfico para cambiar una clave de cifrado de medios y sobrescritura.

El marco de Directivas define un mecanismo para el intercambio de datos entre un host y un subsistema NVMe. Esto habilita el etiquetado de comandos por E/S y brinda a los administradores de TI la capacidad de configurar atributos y configuraciones notificables.

El primer uso de Directivas es una función llamada Streams para optimizar la ubicación de los datos para aumentar la resistencia y el rendimiento de los SSD de NAND. Tradicionalmente, antes de poder escribir nuevos datos en el SSD, primero se deben borrar grandes bloques de datos.

La función Streams permite que un host use un "identificador de flujo" para indicar los bloques lógicos específicos de almacenamiento que pertenecen a un grupo de datos asociados. Esto permite etiquetar una lectura o una escritura con datos relacionados almacenados en otras ubicaciones.

Las mejoras en la virtualización definen cómo se puede usar NVMe flash en un entorno de almacenamiento compartido en el que están presentes los controladores físicos y virtuales, incluidos los controladores de almacenamiento primario y los controladores de almacenamiento secundario. NVM Express dijo que el objetivo es permitir que los equipos de desarrollo dediquen un SSD específico a una máquina virtual específica.

Los elementos de la hoja de ruta de la próxima versión de NVMe incluyen un determinismo mejorado de E/S de SSD de NVMe, soporte de búfer de memoria de control persistente y multipathing SAN. Los elementos proyectados de la hoja de ruta de NVMe sobre Fabrics incluyen la autenticación, el descubrimiento mejorado y el soporte de transporte del Protocolo de Control de Transmisión.

NVM Express Inc.

NVM Express Work Group se incorporó bajo el nombre NVM Express Organization en marzo de 2014. Los miembros fundadores en ese momento incluían Cisco Systems, Dell, EMC, la subsidiaria HGST de Western Digital, Intel, LSI, Micron Technology, NetApp, Oracle, PMC-Sierra, Samsung Electronics, SanDisk y Seagate Technology.

La organización NVM Express se conoció más tarde simplemente como NVM Express Inc. La organización sin fines de lucro cuenta con más de 100 compañías de tecnología como miembros.

NVM Express Inc. tiene una junta directiva de 13 miembros para gobernar la organización y establecer su dirección estratégica. Seis miembros de la junta sirven términos de varios años, y los siete miembros restantes de la junta son elegidos anualmente de la membresía de NVMe Express. Los miembros de la junta son referidos alternativamente como empresas promotoras.

NVMe over Fabrics

NVM Express Inc. publicó la versión 1.0 de la especificación NVMe over Fabrics (NVMe-oF) el 5 de junio de 2016. NVMe-oF está diseñado para extender los beneficios de alto rendimiento y baja latencia de NVMe a través de los tejidos de red que conectan servidores y sistemas de almacenamiento, como Fibre Channel (FC), Ethernet e InfiniBand.

Los transportes del tejido incluyen NVM-oF usando acceso de memoria directo remoto (RDMA) y NVMe-oF asignados al canal de fibra. Un subgrupo técnico de NVM Express Inc. trabajó en NVMe-oF con RDMA, y el comité T11 del Comité Internacional de Estándares de Tecnología de la Información (INCITS) es responsable del desarrollo de FC-NVMe.

La especificación NVMe-oF es en gran parte la misma que la especificación NVMe. Una de las principales diferencias entre NVMe-oF y NVMe es la metodología para transmitir y recibir comandos y respuestas. NVMe está diseñado para uso local y asigna comandos y respuestas a la memoria compartida de una computadora a través de PCIe. Por el contrario, NVMe over Fabrics emplea un sistema basado en mensajes para comunicarse entre la computadora host y el dispositivo de almacenamiento de destino.

El objetivo de diseño establecido para NVMe-oF era agregar no más de 10 microsegundos de latencia para la comunicación entre una computadora host NVMe y un dispositivo de almacenamiento NVMe conectado a la red, en comparación con la latencia asociada con un dispositivo de almacenamiento NVMe utilizando el bus PCIe de una computadora local.

Este contenido se actualizó por última vez en febrero 2019

Profundice más

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

File Extensions and File Formats

Powered by:
Close