Guía Hardware

AHCI vs NVMe vs IDE vs RAID: todas las diferencias que deberías conocer

Actualizado a: 22 de enero de 2024

Como seguramente ya sabes, existen varios tipos de controladores para los medios de almacenamiento, como los antiguos IDE, o los AHCI o NVMe actuales, pasando también por los RAID. Si no conoces qué son y qué diferencias tienen entre sí, aquí te mostramos esta completa guía en la que podrás conocer todos los detalles.

IDE

IDE
Se puede apreciar el chip controlador IDE, el más grande. Fuente: HowStuffWorks

Como sabes, hace tiempo existían las interfaces conocidas como IDE (Integrated Development Environment) en un origen, es decir, las conocidas posteriormente como ATA (Advanced Technologies Attachment), concretamente las PATA o Parallel ATA. Estas interfaces estándar se usaron para dispositivos de almacenamiento de datos como discos duros, unidades ópticas, etc.

De esta forma, las unidades se podían conectar por bus. Y podían conectarse dos al mismo bus, una conocida como unidad conocida como maestra (Master) y otra como esclava (Slave), configuradas mediante un jumper que tenían estas unidades en la zona trasera. Si solo se usaba una unidad para un cable o bus, entonces ésta debía ser necesariamente maestra.

Por supuesto, estas unidades, para funcionar, necesitaban un chip controlador para gestionar todas las transferencias y que pudieran funcionar correctamente. Ese controlador era conocido como controlador IDE. El problema es que solo podía manejar hasta 167 MB/s de velocidad en la versión Ultra DMA 7 o Ultra ATA/167, lo cual suponía una importante limitación en la época.

Existían también los SCSI, con otro controlador diferente, pero eran unidades de mayor coste y pensadas para empresas. Por eso, finalmente se extendió más la IDE. Después se desarrollaría un sucesor para alcanzar a los SCSI, y ese sucesor es el SATA o Serial ATA.

Cuando comenzaron a aparecer los SATA, que usaban el modo AHCI o controlador AHCI, se comenzaron a reducir progresivamente los dispositivos IDE o PATA hasta su sustitución total. Sin embargo, algunos sistemas operativos o unidades seguían siendo incompatibles, por lo que el BIOS seguía implementando un modo IDE para la compatibilidad de estas unidades más antiguas.

AHCI

Con la llegada de las unidades SATA, se implementó un nuevo protocolo para estandarizar los chips controladores para estas unidades, y ese fue AHCI (Advanced Host Controller Interface). Así se solucionaban algunos problemas técnicos que tenía el anterior estándar, y se permitía dar un salto en cuanto a la velocidad o rendimiento, además de soportar nuevas unidades.

Con la aparición de las primeras unidades SATA, época que coincidía con el sistema operativo Windows XP, ocurrió algo, y es que este sistema de Microsoft no estaba preparado para estas unidades de disco. Por tanto, a la hora de instalar el SO no reconocía la unidad al no ser IDE, para las que sí tenía controlador. Por eso, se debía descargar e introducir un controlador SATA desde un disquete para que pudiera reconocer el disco duro. Con la llegada de nuevas versiones, tanto Windows como otros sistemas operativos comenzaron a implementar el controlador para SATA de serie.

El objetivo de este controlador o estándar era posibilitar que diferentes tecnologías puedan conectarse sin preocupaciones y sin problemas de compatibilidad. Por ejemplo, te podías olvidar de los controladores o drivers necesarios para que una unidad de disco duro funcionase correctamente, independientemente de que fuese Seagate, Wester Digital, etc. Con que tuviese el driver necesario para AHCI, no importaba la marca o modelo.

Durante varios años nos ha acompañado AHCI como el controlador más importante debido a sus prestaciones, pero también tiene sus limitaciones, y conforme las unidades de almacenamiento han ido aumentando de rendimiento, especialmente con la aparición de los nuevos SSD que podían aumentar el rendimiento de forma considerable, el AHCI se ha mostrado como un cuello de botella.

AHCI vs NVMe

Es cierto que la latencia de AHCI también era menor que en IDE, que era de 6 microsegundos. Pero sus velocidades también estaban limitadas, llegando hasta los 6 Gb/s o 600 MB/s en la versión SATA 3.0, o hasta los 16 Gbit/s o 1.97 GB/s en la SATA Express.

Los primeros SSD SATA3 o los eSATA utilizaron controlador AHCI, pero esto dejó de ser así…

NVMe

Con la llegada de las nuevas unidades SSD de mayor rendimiento, se necesitaba algo nuevo, y la solución vino con la estandarización del protocolo NVMe (Non-Volatile Memory Express), que fue impulsado por empresas del sector como Intel, Micron, Marvell, Samsung, LSI, Sandisk, Dell, etc.

Su primera aparición fue en 2011, y desde entonces se encuentra entre nosotros para las unidades SSD más poderosas de la actualidad. Y es que este controlador puede usarse tanto para el ámbito doméstico como para el HPC dada sus capacidades. El motivo es que se basa en un protocolo/bus PCIe o PCI Express de alta velocidad, concretamente en uno de x4 o cuatro carriles.

Esto no solo aporta un gran ancho de banda, también reduce la latencia y permite velocidades de transferencia muy elevadas, pudiendo así aprovechar al máximo los chips de memoria flash NAND actuales, que tienen un rendimiento que necesita de una interfaz y controlador a la altura.

No obstante, en muchos equipos actuales sigue existiendo la AHCI para las unidades SATA, como pueden ser HDDs o SSDs que aún siguen usando este estándar, o incluso unidades ópticas, etc.

Como ocurrió en su momento con AHCI, NVMe también necesita de soporte nativo en el sistema operativo, algo que ocurrió a partir de Windows 10 para el sistema de Microsoft, y también se implementó en versiones de macOS, Linux, ChromeOS, FreeBSD y otros sistemas operativos, cuando aparecieron estas unidades. Además, para que el BIOS/UEFI pueda detectar la unidad durante el arranque, también requiere que el firmware lo soporte, algo que ocurre en las versiones actuales de firmware de todas las placas base que soportan unidades NVMe.

Y, si te preguntas por las velocidades que puede permitir un controlador NVMe, lo cierto es que depende de la versión PCIe en la que se base. Por ejemplo, tenemos unidades SSD M.2 NVMe con un PCIe 3.0 o Gen 3, que permite 985 MB/s por cada carril, si lo multiplicamos por x4, obtenemos una velocidad máxima de hasta 4 GB/s. En caso de PCIe 4.0 o Gen 4, tenemos velocidades de 1.9 GB/s por carril, que nuevamente habría que multiplicar por x4 para obtener velocidades de 7.8 GB/s. Con las nuevas unidades PCIe 5.0 o Gen 5, se podría alcanzar 3.9 GB/s por cada carril, lo que haría un máximo de 15.8 GB/s.

RAID

Para finalizar, hay que decir que también existe otro tipo de controlador relacionado con las unidades de almacenamiento masivo. Este controlador es RAID (Redundant Array of Inexpensive Disk). Este es algo diferente a los anteriores, ya que es un agregado que se puede implementar tanto por software como también con un chip controlador por hardware para conseguir mejores prestaciones.

Este controlador RAID no permite conectar unidades diferentes o con mayor o menor velocidad, sino que lo que permite es la posibilidad de conectar varias unidades HDD o SSD redundantes, es decir, con configuraciones RAID0, RAID1, RAID5, RAID10, etc. Dependiendo del controlador tolerará unas u otras.

Por ejemplo, con RAID0, si se conectan dos unidades SSD de 1 TB (que pueden ser AHCI, NVMe…) cada una, lo que tendríamos a vista del sistema operativo y del usuario es una única unidad de almacenamiento de 2 TB. Es decir, se suman las capacidades. En cambio, con RAID1 tenemos un modo espejo. Es decir, esas dos unidades SSD de 1 TB idénticas, apareciendo ante el SO y el usuario como una única unidad de 1 TB. Pero todos los datos que se escriben o eliminan de una unidad SSD también se escriben o se eliminan de la otra para tener una copia de seguridad. Entonces, si una unidad falla, los datos no se perderán. Las versiones RAID superiores también implementan este tipo de redundancia mediante paridad y difieren en la forma de hacerlo de unas a otras, pero esto ya es otro tema….

Jaime Herrera

Jaime Herrera

Técnico electrónico y experto en el sector de los semiconductores y el hardware. Con una amplia y sólida trayectoria en el campo de la electrónica, he acumulado una extensa experiencia. Mi pasión por la tecnología y la informática me ha impulsado a dedicar décadas de mi vida al estudio y desarrollo de soluciones en este fascinante sector. Como técnico electrónico, he tenido el privilegio de trabajar en una variedad de proyectos y desafíos, lo que me ha permitido adquirir un profundo conocimiento y experiencia en la creación, diseño y mantenimiento de dispositivos electrónicos.

>
Guía Hardware
Logo