主机控制器(host controller)、主机适配器(host adapter)或主机总线适配器(host bus adapter,HBA)是以计算机为主机系统,连接其他网络或存储设备的计算机硬件。该术语主要指连接SCSI、SAS或光纤通道设备的扩展卡。但是,连接IDE、SATA、以太网、IEEE 1394、USB或其他总线的扩展卡也可能称之为主机适配器。
术语网络接口控制器(NIC)更常指连接计算机网络的设备。
在典型的并行SCSI(英语:Parallel SCSI)子系统中,每个设备都被分配一个唯一的数字ID。一般来说,主机适配器显示为SCSI ID 7,这使它在SCSI总线上具有最高优先级(优先级随SCSI ID的下降而降低;在16位或“宽”总线上,ID 8具有最低优先级,该设计保证与8位或“窄”总线的优先级方案兼容)。
主机适配器通常承担SCSI启动器(英语:SCSI initiator)的角色,因为它向其他SCSI设备发出命令。
计算机可以包含多个主机适配器,这可以增加可用的SCSI设备数量。
主要的SCSI适配器制造商有惠普、ATTO Technology(英语:ATTO Technology)、Promise Technology(英语:Promise Technology)、Adaptec(英语:Adaptec)和LSI公司。
每个光纤通道HBA都有一个唯一的全球名称(英语:World Wide Name)(WWN),这类似IEEE分配使用的组织唯一标识符(英语:Organizationally Unique Identifier)(OUI)——以太网MAC地址。但是,WWN更长(8字节)。一个HBA上有两种类型的WWN:节点WWN(WWNN)被主机总线适配器上的所有端口共享,端口WWN(WWPN)则是每个端口唯一。
主要的光纤通道HBA制造商有QLogic(英语:QLogic)和Emulex(英语:Emulex)。截至2009年,这些供应商共享约90%的市场份额。其他制造商包括安捷伦科技、ATTO(英语:ATTO Technology)、Brocade(英语:Brocade Communications Systems)和LSI公司。
主机通道适配器(HCA)通常用于描述InfiniBand的接口卡。
ATA主机适配器已集成到大多数现代的PC。它们经常被称为磁盘控制器(英语:Disk controller)。
SAS(串列SCSI)是目前代替并行SCSI(PAS,已淘汰)设备的连接方法。Ultra320是可用的最高级并行SCSI,但SAS已取代它作为最高性能的SCSI技术。SAS/SCSI通常要求操作系统已内置/已安装HBA的驱动程序。
SATA是使用串行技术的ATA,已经取代由Western Digital发明的IDE接口。SATA以中低端应用如个人电脑为主。SAS HBA的SAS接口可以连接SATA设备,反之SATA控制器的SATA接口不能连接SAS设备。SATA控制器可使用AHCI操作模式或IDE操作模式(但是从Intel 9系列PCH开始,Intel的PC芯片组的SATA控制器不再支持IDE操作模式)。AHCI是SATA本地的操作模式,Windows Vista开始的Windows已内置通用的Microsoft AHCI驱动程序。IDE模式则是把SATA硬盘模拟为IDE设备,以支持Windows XP等不支持AHCI的操作系统,IDE不支持AHCI TRIM等功能,会导致一定程度的性能损失。
主要的SAS适配器制造商有:Promise Technologies、Adaptec(英语:Adaptec)、惠普、QLogic(英语:QLogic)、Areca、LSI/AVAGO及ATTO Technology(英语:ATTO Technology)。绝大部分芯片组都内置SATA功能。
在大型计算机中,传统上不使用主机适配器或主机总线适配器为术语。自1960年代以来使用不同的技术完成类似的目标:I/O通道(英语:I/O channel),或者单纯的“通道”,它是一个单独的处理器,可以与CPU平行的独立地访问主存,类似个人电脑中的DMA,并且它们在CPU指示时执行自己的I/O专用计算机程序。
与外部设备通信的I/O通道使用的协议包括ESCON(英语:ESCON)和新进的FICON(英语:FICON)。