NVMe, ¿Qué es y en que afecta a los discos SSD?

cuidarlaptop.jpg
Copyright Getty

Los discos duros SSD aportan entre otras mejoras, un menor consumo, mayor velocidad, mayor resistencia a golpes y no emiten ruidos. Sin embargo, no adquieren todo su potencial ya que el tipo de comunicación que se establece entre estos dispositivos y el procesador está pensada para discos duros convencionales.

Esto significa que aunque puedan funcionar de una manera más eficiente, en cuanto a velocidad y latencia la realidad es que están limitados.

NVMe es un protocolo pensado para usar discos SSD sobre conexiones PCI Express en vez de la tradicional SATA. Era una mejora necesaria ya que las primeras tarjetas con SSD y que se conectaban a este bus hacían uso de AHCI, que es el que se usa en los discos normales.

NVMe lo puedes encontrar en tres formatos de discos SSD, los que están en tarjeta Pci Express y se conectan directamente en un slot de la placa base y aquellos que tienen conectores Sata Express o M.2. Existen otros conectores especiales como el SFF-8639 capaces de dar todas estas conexiones al mismo tiempo pero por ahora solo lo encontraras en el entorno de los servidores.

En principio y como ocurrió con los propios discos duros SSD lo encontraras sólo en grandes servidores para empresas, aunque esperemos que bajen pronto su precio y así poder disfrutarlos en casa.

Pero, ¿Cómo funciona NVMe y en qué se diferencia de los protocolos anteriores?

Los discos duros convencionales tienen unos discos que giran a muchas revoluciones y unas cabezas que se utilizan para leer y escribir información en ellos.

Esto quiere decir que para acceder a datos que se encuentren particionados tienes que esperar a saltar a una parte y después a otra. Al estar hablando de un proceso mecánico este puede tardar bastante tiempo.

Esto hace que los discos duros convencionales tengan problemas tanto con la latencia, es decir con el tiempo que tardan en darte el primer dato, como con la velocidad y el número de operaciones que son capaces de realizar por segundo o IOPS.

NVMe viene a cambiar esto. Trata de explotar la capacidad de realizar muchas tareas en poco tiempo. Para ello multiplica en varios miles de veces la capacidad de recibir comandos de lectura y escritura. En los estándares anteriores el número de llamadas estaba muy limitado ya que había que esperar que se procesaran las anteriores.

Imagínate lo que esto significa para máquinas que realizan muchas tareas al mismo tiempo como servidores de ficheros, bases de datos o virtualización.

Otra mejora se relaciona con el tiempo que se gasta en la administración y procesamiento de sus comandos. Tiene menos cantidad de ellos lo que hace que se puedan procesar más rápido por todas las entidades del interfaz. Esto es mejor para el sistema ya que el procesador está más descargado.

Otra mejora respecto a AHCI, el protocolo de los SATA, está diseñado para correr en procesadores con un solo núcleo, NVMe explota la posibilidad de que existan procesadores con varios.

¿En qué mejora usar PCI Express en vez de SATA?

Ya he hablado de la latencia pero otro aspecto muy importante es la velocidad. SATA III ofrece un máximo de 600MB/s mientras una sola línea de PCI Express 3.0 ya te da 1 GB/s.

Además si usas PCI Express nada te impide usar más de una línea y con el paso a PCI Express 4.0 tendremos 2 GB/s.

Otra mejora importante es que el canal es full dúplex. Esto quiere decir que puedes contestar a las peticiones de información a la vez que llegan más comandos. Baja la latencia en casos donde existan muchas llamadas al disco.

Además las líneas Pci express las gestiona directamente el procesador, se espera que se consiga hasta un quinto de reducción de latencia.

¿No tiene ningún inconveniente?

Por ahora es difícil encontrar dispositivos que lo soporten y son muy caros. Suma a esto que necesitas que tanto la placa base como el sistema operativo estén preparados.

Además, puede tener el problema de que te quedes sin líneas PCI Express ya que son usadas por otros dispositivos como las tarjetas de red, tarjetas gráficas y cualquier dispositivo de expansión.