NVM expreso


NVM Express ( NVMe ) o Especificación de interfaz de controlador de host de memoria no volátil ( NVMHCIS ) es una especificación de interfaz de dispositivo lógico abierta para acceder a los medios de almacenamiento no volátil de una computadora generalmente conectados a través del bus PCI Express (PCIe). El acrónimo NVM significa memoria no volátil , que a menudo es memoria flash NAND que viene en varios factores de forma física, incluidas unidades de estado sólido (SSD), tarjetas adicionales PCI Express (PCIe) y tarjetas M.2 , la sucesor de mSATAtarjetas NVM Express, como interfaz de dispositivo lógico, se ha diseñado para aprovechar la baja latencia y el paralelismo interno de los dispositivos de almacenamiento de estado sólido. [1]

Desde el punto de vista arquitectónico, la lógica de NVMe se almacena físicamente y se ejecuta mediante el chip controlador de NVMe que se ubica físicamente junto con los medios de almacenamiento, generalmente un SSD. Los cambios de versión para NVMe, por ejemplo, 1.3 a 1.4, se incorporan dentro de los medios de almacenamiento y no afectan a los componentes compatibles con PCIe, como placas base y CPU. [2]

Por su diseño, NVM Express permite que el hardware y el software host aprovechen al máximo los niveles de paralelismo posibles en los SSD modernos. Como resultado, NVM Express reduce la sobrecarga de E/S y brinda varias mejoras de rendimiento en relación con las interfaces de dispositivos lógicos anteriores, incluidas múltiples colas de comandos largas y latencia reducida. Los protocolos de interfaz anteriores, como AHCI , se desarrollaron para su uso con unidades de disco duro (HDD) mucho más lentas, donde existe una demora muy larga (en relación con las operaciones de la CPU) entre una solicitud y la transferencia de datos, donde las velocidades de datos son mucho más lentas que las velocidades de RAM y donde rotación del disco y tiempo de búsquedadar lugar a nuevos requisitos de optimización. Los SSD NVM Express se calientan más que los SSD SATA de 2,5" y pueden alcanzar rápida y fácilmente temperaturas superiores a los 80 °C. [3]

Los dispositivos NVM Express están disponibles principalmente en forma de tarjetas de expansión PCI Express de tamaño estándar [4] y como dispositivos de factor de forma de 2,5 pulgadas que proporcionan una interfaz PCI Express de cuatro carriles a través del conector U.2 (anteriormente conocido como SFF- 8639). [5] [6] Los dispositivos de almacenamiento que utilizan SATA Express y la especificación M.2 que admiten NVM Express como interfaz de dispositivo lógico son un caso de uso popular para NVMe y se han convertido en la forma dominante de almacenamiento de estado sólido para servidores, computadoras de escritorio y portátiles por igual. [7] [8]

Históricamente, la mayoría de los SSD usaban buses como SATA , SAS o Fibre Channel para interactuar con el resto de un sistema informático. Desde que los SSD estuvieron disponibles en los mercados masivos, SATA se ha convertido en la forma más común de conectar SSD en computadoras personales ; sin embargo, SATA se diseñó principalmente para interactuar con unidades de disco duro (HDD) mecánicas y se volvió cada vez más inadecuado para las SSD, cuya velocidad mejoró con el tiempo. [11]Por ejemplo, dentro de aproximadamente cinco años de la adopción generalizada del mercado masivo (2005–2010), muchas SSD ya se vieron restringidas por las tasas de datos comparativamente lentas disponibles para las unidades de disco duro; a diferencia de las unidades de disco duro, algunas SSD están limitadas por el rendimiento máximo de SATA.

Los SSD de gama alta se fabricaron con el bus PCI Express antes de NVMe, pero con interfaces de especificación no estándar. Al estandarizar la interfaz de las SSD, los sistemas operativos solo necesitan un controlador de dispositivo común para funcionar con todas las SSD que cumplan con la especificación. También significa que cada fabricante de SSD no tiene que diseñar controladores de interfaz específicos. Esto es similar a cómo se construyen los dispositivos de almacenamiento masivo USB para seguir la especificación de clase de dispositivo de almacenamiento masivo USB y funcionan con todas las computadoras, sin necesidad de controladores por dispositivo. [12]


Intel SSD serie 750, un SSD que utiliza NVM Express, en forma de tarjeta de expansión PCI Express 3.0 ×4 (vistas frontal y posterior)
La posición de las rutas de datos NVMe y varias colas internas dentro de varias capas de la pila de almacenamiento del kernel de Linux . [51]
nvme-clien linux