Interfaz de controlador de host avanzada - Advanced Host Controller Interface

AHCI
Interfaz de controlador de host avanzada
Ultima versión 1.3.1
11 de noviembre de 2011 ( 2011-11-11 )
Organización Intel
Sitio web www .intel .com / content / www / us / en / io / serial-ata / ahci .html

La Interfaz de controlador de host avanzada ( AHCI ) es un estándar técnico definido por Intel que especifica el funcionamiento de los controladores de host Serial ATA (SATA) de una manera no específica de implementación en sus conjuntos de chips de placa base .

La especificación describe una estructura de memoria del sistema para que los proveedores de hardware de computadoras intercambien datos entre la memoria del sistema host y los dispositivos de almacenamiento conectados . AHCI ofrece a los desarrolladores de software y diseñadores de hardware un método estándar para detectar, configurar y programar adaptadores SATA / AHCI. AHCI es independiente del estándar SATA 3 Gbit / s, aunque expone las capacidades avanzadas de SATA (como el intercambio en caliente y la cola de comandos nativos ) de modo que los sistemas host pueden utilizarlos. Para las unidades de estado sólido modernas , la interfaz ha sido reemplazada por NVMe .

A diciembre de 2020, la versión actual de la especificación es 1.3.1.

Modos de funcionamiento

Muchos controladores SATA ofrecen modos de operación seleccionables: emulación ATA paralela heredada (más comúnmente llamado modo IDE), modo AHCI estándar (también conocido como modo nativo) o RAID específico del proveedor (que generalmente habilita AHCI para aprovechar sus capacidades). ). Intel recomienda elegir el modo RAID en sus placas base (que también habilita AHCI) en lugar del modo AHCI / SATA para una máxima flexibilidad. El modo heredado es un mecanismo de compatibilidad con versiones anteriores de software destinado a permitir que el controlador SATA se ejecute en sistemas operativos heredados que no son compatibles con SATA o donde no existe un controlador para que el sistema operativo sea compatible con SATA.

Cuando un controlador SATA está configurado para operar en modo IDE, la cantidad de dispositivos de almacenamiento por controlador generalmente se limita a cuatro (dos canales IDE, dispositivo maestro y dispositivo esclavo con hasta dos dispositivos por canal), en comparación con el máximo de 32 dispositivos / ports cuando se configura en modo AHCI. Pero las interfaces SATA del chipset pueden emular más de un "controlador IDE" cuando se configura en el modo IDE.

Soporte del sistema operativo

AHCI es compatible desde el primer momento en Windows Vista y posteriores, sistemas operativos basados ​​en Linux (desde la versión 2.6.19 del kernel ), OpenBSD (desde la versión 4.1), NetBSD (desde la versión 4.0), FreeBSD (desde la versión 8.0), macOS , GNU Mach , ArcaOS , eComStation (desde la versión 2.1) y Solaris 10 (desde la versión 8/07). DragonFlyBSD basó su implementación AHCI en OpenBSD y agregó características extendidas como soporte de multiplicador de puertos. Las versiones anteriores de los sistemas operativos requieren controladores específicos de hardware para admitir AHCI. Windows XP y versiones anteriores no ofrecen compatibilidad con AHCI de fábrica.

Problemas de arranque de la unidad del sistema

Algunos sistemas operativos, en particular Windows Vista , Windows 7 , Windows 8 , Windows 8.1 y Windows 10 , no se configuran para cargar el controlador AHCI al arrancar si el controlador SATA no estaba en modo AHCI en el momento en que se instaló el sistema operativo. Aunque esta es una condición fácilmente rectificable, sigue siendo un problema continuo con el estándar AHCI.

El síntoma más frecuente para un sistema operativo (o sistemas) que están instalados en modo IDE (en algunas implementaciones de firmware de BIOS también llamado 'modo IDE combinado'), es que la unidad del sistema generalmente no arranca, con un mensaje de error resultante, si el controlador SATA (en BIOS) se cambia inadvertidamente al modo AHCI después de la instalación del sistema operativo. En Microsoft Windows, el síntoma es un bucle de arranque que comienza con un error de pantalla azul, si no se corrige.

Técnicamente hablando, este es un error de implementación con AHCI que se puede evitar, pero aún no se ha solucionado. Como resolución provisional, Intel recomienda cambiar el controlador de la unidad a AHCI o RAID antes de instalar un sistema operativo. (También puede ser necesario cargar controladores AHCI o RAID específicos del chipset en el momento de la instalación, por ejemplo, desde una unidad flash USB).

En Windows Vista y Windows 7, esto se puede solucionar configurando el msahcicontrolador del dispositivo para que se inicie en el momento del arranque (en lugar de bajo demanda). La configuración del modo no AHCI (es decir, IDE o modo combinado) en el BIOS permitirá al usuario iniciar Windows y, por lo tanto, se puede realizar el cambio de registro requerido . En consecuencia, el usuario tiene la opción de continuar usando el sistema en modo combinado o cambiar al modo AHCI. Entre otras cosas, con Windows 10 y 8, esto se puede solucionar obligando a los controladores correctos a recargarse durante el Modo seguro .

En Windows 8, Windows 8.1 y Windows Server 2012 , el controlador del controlador ha cambiado de msahcia storahci, y los procedimientos para actualizar al controlador AHCI son similares a los de Windows 7. En Windows 8, 8.1 y Windows Server 2012, cambio del modo IDE al modo AHCI sin actualizar primero el registro hará que la unidad de arranque sea inaccesible (es decir, lo que resultará en un ciclo de arranque recurrente, que comienza con un error de pantalla azul).

En Windows 10, después de cambiar el controlador al modo AHCI, si se permite que el sistema operativo se reinicie un par de veces después del inicio del ciclo de arranque, que comienza con un BSOD INACCESSIBLE_BOOT_DEVICE, Windows presenta opciones de recuperación. Fuera de las opciones avanzadas, si se selecciona la opción Reparación de inicio, Windows intenta solucionar el problema y la PC comienza a funcionar normalmente.

Un problema similar puede ocurrir en los sistemas Linux si el controlador AHCI se compila como un módulo del kernel en lugar de estar integrado en la imagen del kernel , ya que es posible que no se incluya en el initrd (disco RAM inicial) creado cuando el controlador está configurado para ejecutarse en Legacy. Modo. La solución es crear un nuevo initrd que contenga el módulo AHCI o crear el controlador AHCI en la imagen del kernel.

Gestión de energía

La administración de energía se maneja mediante el protocolo Aggressive Link Power Management (ALPM).

Ver también

Referencias

enlaces externos