Seguro que llevas ya bastante tiempo escuchando y leyendo acerca de los SSD NVMe. Sabes que son la última tecnología, que son muy rápidos y que, por lo tanto, son el camino a seguir. Pero, ¿sabes qué significa que un SSD sea NVMe? En este artículo te contamos qué es, cómo funciona y por qué es importante de cara al futuro del almacenamiento para PC.
Las unidades SSD se basan en chips de memorias flash. Inicialmente, los primeros modelos utilizaban las interfaces SATA (uso doméstico) y SAS (uso profesional). Adicionalmente, se crearon nuevos protocolos y factores de forma para estas unidades de almacenamiento. Pasamos del formato de 3.5 pulgadas de los HDD al formato de 2.5 pulgadas de los SSD.
El problema es que las interfaces SATA ofrecen un máximo teórico de 600 MB/s, algo suficiente para los HDD que rara vez superaban los 100 MB/s. La velocidad máxima de esta interfaz es muy inferior a las capacidades reales que pueden soportar los SSD al carecer de partes móviles. Por esto mismo, estas unidades de almacenamiento han migrado a la interfaz PCIe, para poder liberar todo su potencial.
¿Qué es el protocolo NVMe?
NVMe son las siglas de «Non-Volatile Memory Express», o memoria exprés no volátil y se trata de un protocolo de almacenamiento de alto rendimiento, NUMA (Non Uniform Memory Access, o de acceso a la memoria no uniforme), optimizado para almacenamiento y altamente escalable que se conecta al host del subsistema de memoria. Este protocolo fue diseñado desde cero y específicamente para sistemas de almacenamiento, con el objetivo de ofrecer siempre el mejor rendimiento.
El protocolo NVMe hace uso de los raíles PCI-Express del sistema, lo cual ofrece no solo un amplio ancho de banda que permite velocidades de vértigo, muchas veces más altas que con las interfaces SATA, sino que los tiempos de acceso se reducen mucho porque le permite acceder de manera directa a la RAM del sistema y, por tanto, tiene un enlace mucho más rápido con el procesador y, además, las posibilidades de crecer y escalar son enormes.
En otras palabras, este es un protocolo diseñado para que se siga utilizando a largo plazo y es el que seguirá siendo utilizado en las tecnologías de almacenamiento de próximas generaciones durante muchos, muchos años, salvo que salte a la palestra una nueva tecnología que deje atrás todo lo que conocemos hasta ahora (cosa poco probable porque este protocolo se sigue desarrollando y mejorando para adaptarse a las nuevas necesidades de la tecnología).
NVMe y su relación con PCIe
La interfaz PCIe tiene una gran ventaja con respecto a otro tipo de interfaces. La más destacada es que no necesita pasar por el IOMMU para comunicarse con la memoria RAM. Esto lo hace perfecto para poder transferir datos a la memoria del sistema. Combinar este factor con las elevadas velocidades de transferencia, permite al sistema tener una gran interacción con el procesador y obtener mayores capacidades.
Se requiere que la RAM tenga un espacio de memoria donde se copien las peticiones al SSD, acelerando el acceso a los datos. Debes saber que esto es muy importante, sobre todo, cuando operamos con archivos de gran tamaño. Por ejemplo, esto es crucial cuando se renderizan texturas 3D, como es el caso de los videojuegos.
Existía un problema y es que los SSD necesitaban un firmware específico para la compatibilidad. Desgraciadamente, no se aprovechaba bien la capacidad que la interfaz ofrecía. Para corregir este problema se desarrolló el protocolo NVMe. Este mecanismo permite la comunicación entre el sistema huésped y el SSD con NVMe. Gracias a este protocolo y otro conjunto de soluciones, los SSD NVMe se han estandarizado y convertido en las principales unidades de almacenamiento en los PC modernos.
Velocidades de los SSD NVMe en comparación SSD SATA
Para entender cómo funciona este protocolo y, sobre todo, cómo logra alcanzar estas cotas de velocidad, hay que profundizar un poco en su arquitectura y, especialmente, entender cómo funcionan las colas I/O (de entrada y salida).
El estándar NVMe admite múltiples colas de entrada y salida, hasta 64K entradas con 64K peticiones a la memoria NVMe cada una. Para que os hagáis una idea, si lo comparamos con otro estándar como es SATA, veremos que este solo admite una cola y de 32 peticiones.
De esto se encarga la controladora en la unidad. La cual funciona de manera muy similar al controlador de memoria RAM, pero gestionando el acceso a los chips de memoria RAM no volátil o NAND Flash dentro de la unidad M.2.
La controladora flash en realidad es un microcontrolador que ejecuta en forma de programa interno el protocolo NVMe cada vez que la CPU o la GPU le hace una petición de acceso a la unidad NVMe. Esto significa que no es la CPU la que ejecuta todas las etapas del protocolo y las más pesadas se dejan al hardware interno del SSD.
La velocidad máxima que es capaz de ofrecer las unidades SSD a través de una interfaz SATA es de 600 MB/s, una velocidad muy alejada de la que podemos encontrar en la actualidad con PCIe 4.0 capaz de alcanzar velocidades de lectura y escritura de hasta 7.000 MB/s o PCIe 5.0 que duplican estas cifras hasta 14.000 MB/s.
Ventajas y desventajas de los SSD NVMe
A diferencia de cómo ha evolucionado la tecnología en determinados aspectos la informática, en la evolución que hemos visto en las unidades de almacenamiento SSD en los últimos años prácticamente todo son ventajas, algunas de las cuales os mostramos a continuación.
- Velocidad de funcionamiento. Como hemos comentado más arriba, gracias a la interfaz PCIe que utilizan los SSD NVMe, estas unidades son capaz de alcanzar velocidad de transferencia de hasta 14.000 MB/s con PCIe 5.0 y de 7.000 MB/S con PCIe 4.0 y 3.500 MB/s con PCIe 3.0.
- Latencia reducida. Estas unidades, como hemos comentado más arriba, se comunican directamente con la CPU lo que permite reducir el tiempo de acceso a los datos que se almacenan para ofrecer un tiempo de repuesta más rápida y una menor latencia.
- Mayor eficiencia energética. Este tipo de unidades, funcionamiento al mismo ritmo que un SSD SATA consumen mucha menos energía de ahí que sea la opción preferida por la mayoría de los fabricantes de portátiles.
- Ocupan mucho menos espacio. El tamaño más reducido de los SSD NVMe ha permitido que muchos fabricantes ofrezcan un espacio para conectar estas unidades directamente en la placa base reduciendo así el espacio necesario en el interior de la caja que repercute en una mejor gestión de los cables.
El único punto negativo de las unidades SSD es que, cuando trabajan pleno rendimiento, necesitan de un disipador para poder reducir su temperatura. Esto no suele ser un problema en las placas base de fama alta ya que incluyen su propio disipador para este tipo de unidades.
Tamaños de los SSD NVMe M.2
Para fomentar la competencia entre fabricantes y facilitar la vida al usuario, hay una estandarización de formatos. Todas las unidades SSD M.2 responde a un conjunto de dimensiones muy específico. Las dimensiones estandarizadas para uso comercial o doméstico son:
- 2230: Son las más pequeñas que existen y tienen una longitud de 30 mm y un ancho de 22 mm. Este es el formato adoptado por las consolas portátiles ROG Ally y Steam Deck, entre otras.
- 2242: Tiene este formato una longitud de 42 mm y un ancho de 22 mm. No es un formato muy común en el mercado.
- 2260: Este formato tiene una longitud de 60 mm y un ancho de 22 mm. Se puede encontrar sobre todo en unidades destinadas a ordenadores portátiles.
- 2280: Tiene una longitud de 80 mm y un ancho de 22 mm. Este formato es el estándar en informática, siendo el usado por la mayoría de las unidades comerciales.
- 22110: Nos ofrece una longitud de 110 mm y un ancho de 22 mm. Formato poco habitual, aunque suele tener compatibilidad con la mayoría de las placas base del mercado.
Como puedes ver, todos los formatos descritos tienen el mismo ancho, que es de 22 mm. Si bien existen otros anchos estandarizados, este es el que se ha establecido para uso comercial. El resto se destina a otros segmentos específicos, como servidores y Data Centers, entre otros.
Tipos de conectores M.2
Igual que en los tamaños (también denominados formatos) tenemos tres tipos de conectores. Estos también están estandarizados y responden a características diferentes. Según el tipo de conector, rápidamente, podemos saber sus características. Estos conectores son:
- Conector M-Key: Este se utiliza exclusivamente para las unidades SSD que funcionan mediante interfaz PCIe. Las velocidades de transferencia, en este caso, van a depender directamente de la versión de la interfaz PCI Express. Este conector tiene los contactos de alimentación en la parte izquierda.
- Conector B-Key: Se caracteriza por tener la muesca a la derecha, reservando seis pines de alimentación. No es un conector habitual en la actualidad, es más, está prácticamente obsoleto. Se caracteriza por usarse solamente en unidades limitadas a una conexión PCIe x2.
- Conector M & B-Key: Se destina exclusivamente para aquellas unidades de almacenamiento basadas en la interfaz SATA. Las velocidades están más limitadas que en la versión anterior, pudiendo llegar a ofrecer velocidades de transferencia de hasta 550 MB/s.
El protocolo NVMe se creó desde cero específicamente para sistemas de almacenamiento de alto rendimiento, para hacer uso de las enormes velocidades de transferencias de la interfaz PCI Express, saturando lo menos posible al procesador durante el acceso.
Además, está preparado para poder modificar el firmware fácilmente, lo que significa que seguiremos utilizándolo a medio y largo plazo porque tiene la capacidad de seguir evolucionando sin problema, ya que los fabricantes pueden ampliar las capacidades del SSD NVMe fácilmente.