La implantación de serial ata ha traído consigo un modelo estándar de controladora para bus PCI.
Desde la aparición en el mercado de las primeras placas base construidas en torno a los conjuntos de chips 865/875 de Intel, los usuarios se han acostumbrado a la presencia de los pequeños conectores Serial ATA que hacen posible la conexión al ordenador de dispositivos de almacenamiento masivo que usan esta nueva interfaz. Aquella novedad suponía el inicio de la transición desde los dispositivos de almacenamiento que emplean la interfaz ATA de tipo paralelo a una nueva versión que usa una conexión de tipo serie. La transición se ha acelerado considerablemente con el lanzamiento por parte de Intel de los chipset 915/925, ya que dichos productos disponen de soporte para cuatro dispositivos de tipo Serial ATA pero tan sólo incorporan un conector ATA de tipo paralelo, dedicado principalmente a la conexión de dispositivos de tecnología óptica (DVD-ROM, CD, etc). La iniciativa liderada por Intel ha sido seguido por el resto de fabricantes de chipsets, por lo que a día de hoy es posible encontrar placa base con interfaz Serial ATA tanto para procesadores de dicho fabricante como de AMD.
Para facilitar la creación de controladoras de tipo Serial ATA, las empresas que participan en el desarrollo de esta tecnología han creado una especificación que define las características y configuración de registros hardware de un adaptador de bus PCI a Serial ATA. Dicha especificación hace posible que un diseñador tan sólo tenga que implementar en hardware un modelo ya definido, ahorrándose la tarea de definir registros hardware, capacidades obligatorias y opcionales, etc.
Básicamente la especificación AHCI (Advanced Host Controller Interface) define un adaptador de bus PCI a Serial ATA capaz de manejar un máximo de 32 puertos, es decir, un máximo de 32 dispositivos Serial ATA. Dicho adaptador debe soportar tanto dispositivos de tipo ATA como ATAPI, por lo que soportaría tanto dispositivos de tipo magnético como óptico, tanto en modo PIO (Programmed Input Output, entrada salida programada) como DMA (Direct Memory Access, acceso directo a memoria). Adicionalmente el adaptador podría soportar una lista de comandos para cada uno de los puertos de que dispusiese, quizás implementados mediante una cola FIFO, que ayudaría a reducir posibles tiempos de espera del procesador debido a que el hardware del adaptador estuviese ocupado realizando alguna tarea que no fuese posible interrumpir. Otra capacidad opcional sería el soporte de NCQ (Native Command Queuing), lo que permite que el dispositivo de almacenamiento reordene las peticiones que se le envían para maximizar el rendimiento. Por otro lado el lanzamiento de procesadores para todos los segmentos del mercado con capacidad de 64 bits, ha hecho necesario que los diseñadores de hardware deban implementar soporte de 64 bits en su diseño, en especial en casos como AHCI que hace uso de capacidades de acceso directo a la memoria del sistema.
AHCI describe la organización de una zona de memoria a través de la que se accede a los registros del hardware, la cual contiene una zona genérica para contener información de control y estado, así como una serie de entradas que describen una lista de comandos. Si una implementación concreta de AHCI no soporta listas de comandos debe indicar que al menos dispone de una de dichas listas. Cada lista de comandos contiene la información necesaria para programar un dispositivo Serial ATA, así como un puntero a una tabla de descriptores que hace posible transferir datos entre la memoria del sistema y el dispositivo Serial ATA.
Otras capacidades soportadas por AHCI incluyen la conexión en caliente de dispositivos, activación
de un led de actividad del dispositivo, multiplicador de puertos Serial ATA, direccionamiento de 64 bits, soporte LBA para dispositivos de muy alta capacidad, administración de energía, etc. AHCI no define las capas de transporte, enlace o físicas de Serial ATA por lo que es compatible tanto con la versión 1 como con la 2, que define velocidades de 3 GHz.