Guía básica AHCI, RAID y NVMe

por Javier Rodríguez 17/09/2015 6

Introducción y AHCI

Introducción

Los SSD no solo han impulsado una de las revoluciones más importantes en el mundo de la informática para usuarios domésticos y profesionales sino que han forzado una evolución en la industria desconocida hasta este momento. Los SSDs que usamos desde hace un par de años están encarcelados en formato y protocolos y ahora empezamos a ver salida para una nueva generación de discos que dejen atrás estas limitaciones. 

AHCI

AHCI es un protocolo de almacenamiento surgido de la colaboración de más de 80 importantes compañías relacionadas con el almacenamiento. Desde fabricantes de chipsets, controladoras, y, como no, discos duros. Precisamente AHCI, que responde al nombre de “Advanced Host Controller Interface”, surgió para dar soluciones a la evolución y estandarización que tenían por delante los discos duros mecánicos. Es un protocolo que jamás se pensó para unidades de estado sólido pero que han tenido que usar estas unidades hasta hace poco tiempo. Solo algunas soluciones profesionales, y ahora algunas soluciones domésticas, han incorporado nuevos protocolos como el NVMe.

Todos los discos SATA de 2.5" son AHCI pero no todas las unidades AHCI tienen este formato. De hecho se extienden a cualquier solución que hayamos visto antes y ahora.

Pero antes de hablar del horizonte es importante conocer las prestaciones y limitaciones del AHCI. AHCI es una forma universal y estandarizada de trabajar con unidades SATA aunque no tiene nada que ver con el desarrollo de la tecnología Serial ATA.  AHCI es un protocolo y se puede y se usa en diferentes tecnologías conectivas. Lo hemos visto incluso durante años en controladoras PCI Express en algunas de las unidades más potentes hasta la fecha. Como estándar ha permitido que todos podamos instalar unidades AHCI, olvidándonos del viejo IDE, sin necesidad de controladores o drivers o sin preocuparnos si la unidad era Seagate o WD.

Es un protocolo que nunca se pensó para unidades capaces de reducir las latencias de acceso y de paralelizar las cargas como son capaces actualmente las memorias NAND de última generación, y estas quedarán obsoletas en pocos años. De hecho tiene también limitaciones para trabajar en entornos de múltiples núcleos de proceso que es hoy en día la base de casi cualquier ordenador, dispositivo electrónico, etc.

El gran problema, el fundamental, está en las latencias. Estamos hablando que el AHCI tiene una latencia media de 6 microsegundos cuando tecnologías como el NVMe reducen esto a la mitad. Puede parecer poca diferencia pero así de primeras el NVMe, con la potencia de cálculo adecuada, se traduce en el doble de velocidad puesto que es capaz de procesar el doble de datos en el mismo tiempo.

Pero donde ahora vemos un cuello de botella hace unos años vimos la luz para tener una estandarización que cualquier sistema operativo moderno soporta de forma nativa. Que permitió que cualquier ordenador pudiera tener más de cuatro discos trabajando de forma simultánea sin necesidad de caras controladoras con soluciones SCSI o similares.

Además introdujo otras tecnologías asociadas como el RAID a cualquier entorno. Fue un avance notable que ahora dará paso a algo mejor pero que ha sentado unas bases de funcionalidad realmente notables y a la que debemos reducciones de coste notables tanto para el entorno doméstico como profesional.

NVMe

NVMe

Non-Volatile Memory Express. Su nombre lo deja bastante claro. Este es el protocolo que dará vida a una nueva generación de unidades de almacenamiento sólido. Está auspiciada por los principales actores de la industria (Intel, Micron, Marvell, Samsung, LSI, Sandisk, Dell, etc.), su primera implementación data de 2011 y dará vida a otros 10 años de evolución de sistemas de almacenamiento tanto profesionales como domésticos. De hecho los primeros llevan ya disfrutándolo un tiempo.

NVMe tiene soporte multinúcleo de forma nativa, sin soluciones intermedias, no requiere de registro de operaciones de lectura y por tanto sus latencias se reducen de forma notable. Concretamente Intel lo data en la mitad que una solución tradicional AHCI. Está también más optimizado para lectura aleatoria y disfrutará de un interfaz más capaz como es el PCI Express. No veremos NVMe implementado sobre SATA o SAS, esos entornos ya tienen una variante NVM desde hace algún tiempo y que dudo que llegue nunca al mercado doméstico.

El usuario doméstico encontrará el NVMe en dos sabores. Tarjetas dedicadas que pinchamos en un slot de nuestro ordenador o también en otros formatos más compactos como el M.2 socket3. Lo que no debemos es confundir el protocolo con el interfaz. Ahora podemos encontrar unidades en estos formatos pero seguramente estos también evolucionen para ofrecer más ancho de banda en futuras implementaciones. Igual que AHCI se ha implementado en SATA 3gbps, SATA 6gbps, PCI Express, etc. Veremos al NVMe en diferentes formatos que evolucionaran más rápido que el mismo protocolo.

Ejemplo de implementación de slot M.2 Socket3 (PCI Express 3.0 hasta 8x) en una placa base MSI con chipset Z170 de Intel.

Actualmente, las unidades NVMe que llegarán a nuestras y vuestras manos aprovechan un interfaz PCI Express 3.0 8x con un ancho de banda de alrededor de los 7GB/s de ancho de banda. Eso siempre y cuando nuestra placa pueda ofrecerle todas las líneas necesarias. Los discos actuales para el mercado doméstico, sin excepción, no llegan ni a una tercera parte de ese ancho de banda sostenido.

PCI Express nos permite diferentes implementaciones para dar cobertura a unidades NVMe o AHCI PCI Express de toda índole.

Este interfaz, como veis, permitirá un crecimiento notable en ancho de banda y también permitirá que el NVMe desarrolle todo el potencial de una nueva generación de controladoras de alta velocidad capaces de duplicar o triplicar la potencia de proceso sobre unidades AHCI actuales.

NVMe, como en su momento AHCI, requiere de soporte nativo por parte del sistema operativo para evitarnos instalaciones de drivers y, por tanto, no requiere de drivers propietarios. Lo que sí necesitará es una bios adaptada para poder detectar el arranque en este tipo de unidades. Por lo demás es tan transparente como montar un disco SATA en el ordenador. El funcionamiento será el mismo y sistemas operativos como Windows 10 dan soporte nativo a esta tecnología.

RAID

RAID

He querido añadir esta sección porque es importante eliminar confusiones a este respecto. RAID, por no entrar en conceptos muy técnicos, es una forma de hacer trabajar a varios discos en conjunto, pero es independiente del interfaz (bueno, dejémoslo así) y del protocolo que usen las unidades. Es un método de gestión lógica de varias unidades. Sus siglas responden a “Redundant Array of inexpensive disks”.

RAID por tanto no es un protocolo como tal, es una capa superior de gestión que nos permite hacer trabajar dos o más unidades de diversas formas. Los métodos más habituales son el de espejo o RAID 1 y el de escritura en bandas, RAID0. El RAID 0 es muy utilizado en cierto tipo de unidades SSD con base AHCI. Todos esos OCZ Revo o Revodrive, o cualquier otra unidad PCI Express de alta velocidad que os venga a la mente usa RAID 0 sin necesidad de que vuestro ordenador, o nosotros, tenga nada configurado para hacerlo funcionar. 

Las unidades Revo de OCZ son PCI Express, AHCI y RAID. Al menos de momento.

Con esto quiero decir que RAID convivirá también con el protocolo NVMe. De hecho Intel ha dado soporte RAID a unidades con esta tecnología en sus chipset Z170 de reciente aparición. Es decir, en estas placas podrás montar un RAID 0, o RAID1, de unidades NVMe conectadas a los puertos PCI Express o M.2 Socket3 de tu placa base.

RAID puede requerir drivers dependiendo de los controladores que tenga integrados el sistema operativo. Normalmente las controladoras Intel están soportadas pero para otras marcas de controladoras, o unidades todo en uno, puede que sí necesitemos de drivers de arranque.

Ejemplo de placa base X99 que ha pasado por nuestro laboratorio con doble Slot M.2 Socket3. El socket 3 se diferencia por el corte del conector a mano derecha (desde este ángulo). El normal o M.2 Socket2, más lento, lo tiene a la izquierda.

Unidades NVMe domésticas

Unidades NVMe domésticas

Actualmente no hay muchas opciones reales para montar una unidad de nueva generación en nuestros PCs. De hecho solo hay dos unidades que podamos comprar, y no sin dificultades. Por un lado están los Samsung SM951-NMVe. Una variante de esta unidad M.2 Socket3 o M.2 Ultra que podemos encontrar en algunos ordenadores portátiles. Sus capacidades oscilan entre los 256 y 512GB. Es una variante del SM951 que usa una controladora AHCI y se puede conseguir pero difícilmente y normalmente importándolo de fuera de España. Dobla en potencia de proceso a su variante AHCI y las velocidades lineales son muy similares, por encima de los 2000MB/s en lectura.

Formatos como el M.2 Socket3 nos ofrecen más versatilidad. Permite montarse en ordenadores sobremesa, portátiles, formatos compactos como Nuc, etc.

La opción más sencilla de conseguir es el Intel Series 750. Estas unidades las podemos encontrar en dos formatos: tarjeta de bajo perfil de tipo PCI Express 3.0 8x y formato unidad de 2.5” con interfaz PCI Express para socket M.2. El Intel Series 750 tiene capacidades de 400, 800 y 1200GB con precios que oscilan entre los 450 y los 1300 Euros. No solo tiene velocidades lineales sorprendentes, gracias a sus memorias NAND de última generación, sino que logra potencias de proceso de datos desconocidas hasta la fecha en unidades domésticas. Ésta es la unidad que lo ha cambiado todo.

Intel ha usado dos formatos muy extendidos en soluciones profesionales, que prefieren unidades de 2.5" o PCI Express de bajo perfil para estaciones de trabajo o servidores.

En el futuro más próximo nos esperan unidades NVMe de OCZ, Samsung, Lite-On, Kingston, Plextor o Toshiba. Todas estas nuevas unidades ahora serán algo más exclusivas y caras pero en poco tiempo habrán desplazado completamente al protocolo AHCI, que quedará prácticamente para unidades mecánicas, dejando por el camino interfaces ya obsoletos como el Serial ATA.

Unidades como el nuevo Revodrive 400 de OCZ, que saldrá en próximas semanas, vendrán como solución combinada M.2 o PCI Express. Muchas unidades AHCI PCI Express ya usan esta versátil solución.

Conclusión

Conclusión

NVMe era coto privado de soluciones profesionales hasta que Intel lanzó el “Series 750” al mercado. Ahora podemos encontrar soporte por parte de sistemas operativos principales como Windows, MacOS o Linux. El desembarco de nuevas unidades será masivo en 2016 y marcará la evolución que necesitan los nuevos procesos de fabricación y nuevas arquitecturas de memoria que se comercializarán pronto.

Muchos ordenadores, sobre todo portátiles de cierta gama, incorporarán esta tecnología para ofrecer mucho más potencial de rendimiento en el subsistema de almacenamiento. PCI Express y NVMe desatascarán el desarrollo de nuevas unidades SSD con rendimientos hasta ahora desconocidos. 

Fin del Artículo. ¡Cuéntanos algo en los Comentarios o ven a nuestro Foro!