La interfaz de controlador host avanzada (AHCI, siglas de Advanced Host Controller Interface) es una norma técnica definida por Intel que especifica el funcionamiento de adaptadores Serial ATA (SATA) de bus host de una manera no específica de la implementación.

NCQ permite a la unidad determinar el orden óptimo en que se debe recuperar solicitudes pendientes. Esto puede, como en este caso, permitir que la unidad cumpla con todas las solicitudes en un menor número de rotaciones y por lo tanto en menos tiempo.

La especificación describe una estructura de memoria del sistema para los fabricantes de hardware de ordenador para intercambiar datos entre la memoria del sistema host y los dispositivos de almacenamiento conectados. AHCI proporciona 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 3Gb/s, si bien expone las capacidades avanzadas de SATA (como NCQ e intercambio en caliente) de tal manera que los sistemas de acogida pueda utilizarlos.

A partir de octubre de 2010, la versión actual de la especificación es la 1.3.

Modos de funcionamiento editar

Muchos controladores SATA ofrecen modos de operación seleccionables: Emulación de compatibilidad de PATA, estándar el modo AHCI o RAID específica del proveedor (que por lo general permite AHCI para aprovechar sus funcionalidades). Intel recomienda seleccionar el modo de RAID en sus placas madre (que también permite AHCI) en lugar del modo AHCI/SATA para una máxima flexibilidad.[1]​ El modo tradicional es un modo de compatibilidad por software con versiones anteriores; mecanismo destinado a permitir que el controlador SATA pueda funcionar en los sistemas operativos tradicionales, que no incorporan funcionalidad SATA directamente (non SATA-aware) o cuando no existe un driver para el sistema operativo que se quiere emplear, aunque si tenga esta funcionalidad (SATA-aware).

Sistemas operativos compatibles editar

AHCI es compatible de forma nativa por los siguientes sistemas operativos: Windows Vista y las versiones más recientes de Windows, sistemas operativos basados en Linux (desde el kernel 2.6.19), OpenBSD (versión 4.1 y posterior), NetBSD, FreeBSD, OS X y Solaris 10 (8/07 y posteriores).[2]​ La aplicación AHCI DragonflyBSD se basó en OpenBSD y añadió características extendidas, como el soporte de puerto multiplicador. Las versiones antiguas de sistemas operativos requieren controladores de hardware específicos para soportar AHCI. Windows XP no lo soporta de forma nativa.

Algunos sistemas operativos, especialmente Windows Vista y Windows 7, no se configura para cargar el controlador AHCI en el arranque si el controlador SATA de la unidad de disco no se configura en modo AHCI durante la instalación, lo que puede generar mensajes de error indicando que el controlador SATA se cambió a modo AHCI después de la instalación. Por esta razón, Intel recomienda que el variador de velocidad a AHCI o RAID se cambie antes de instalar el sistema operativo[1]​ (También puede ser necesario cargar un chipset AHCI o controladores RAID específicos, por ejemplo, desde una unidad USB Flash durante la instalación).

En Windows Vista y Windows 7, esto se puede solucionar mediante la selección de un modo no AHCI en la BIOS, luego cambiar el registro, a continuación, cambiar la configuración del BIOS a AHCI.[3]

Un problema similar puede ocurrir en los sistemas Linux, si el controlador AHCI está construido como un módulo, en lugar de incluirse en el núcleo, ya que no se pueden cargar en el initrd (initial RAM disk), creado en el modo de herencia, la solución es construir un nuevo initrd que contiene el módulo de AHCI.[4][5]

Referencias editar

  1. a b «Intel Matrix Storage Technology - Changing and/or choosing Serial ATA Modes». Intel. Consultado el 30 de septiembre de 2007. 
  2. «What's New in the Solaris 10 8/07 Release - Driver Enhancements». Oracle. Consultado el 20 de octubre de 2010.  (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  3. «Error Message when you start a Windows 7 or Windows Vista-based computer after you change the SATA mode of the boot drive: "STOP 0x0000007B INACCESSABLE_BOOT_DEVICE"». Microsoft. Archivado desde el original el 24 de mayo de 2011. Consultado el 20 de abril de 2011. 
  4. «How to ADD one module to initrd using mkinitrd». ServerFault. Consultado el 20 de abril de 2011. 
  5. «SATA disks as AHCI». FedoraForum. Consultado el 20 de abril de 2011. 

Enlaces externos editar