主机总线适配器(Host Bus Adapter,HBA)是一个在服务器和存储装置间提供输入/输出(I/O)处理和物理连接的电路板和/或集成电路适配器。因为HBA减轻了主处理器在数据存储和检索任务的负担,它能够提高服务器的性能。一个HBA和与之相连的磁盘子系统有时一起被称作一个磁盘通道。
我们知道网卡是用于连接计算机和计算机网络。网卡一般插在计算机大总线扩展槽上,卡上有连接计算机网络的接口。网卡物理上连接计算机内部总线,例如PCI,PCI-X,PCI-E,SUN的Sbus总线等,和计算机网络,例如以太网等。存储系统中也有类似的用于连接计算机内部总线和存储网络的设备。这种位于服务器上与存储网络连接的设备一般称为主机总线适配卡(Host Bus Adaptor)HBA。HBA是服务器内部的I/O通道与存储系统的I/O通道之间的物理连接。最常用的服务器内部I/O通道是PCI和Sbus,它们是连接服务器CPU和外围设备的通讯协议。存储系统的I/O通道实际上就是光纤通道。而HBA的作用就是实现内部通道协议PCI或Sbus和光纤通道协议之间的转换。
HBA原理
常见的服务器和存储设备之间的数据通讯协议是IDE,SCSI和光纤通道。为了实现服务器和存储设备之间的通讯,通讯的两端都需要实现同样的通讯协议。存储设备上通常都有控制器,控制器实现了一种或几种通讯协议,它可以实现IDE,SCSI或光纤通道等存储协议到物理存储设备的操作协议之间的转换。而服务器的通讯协议是由扩展卡或主板上的集成电路实现的,它负责实现服务器内总线协议和IDE,SCSI等存储协议的转换。例如PC机中,一般主板上都有IDE协议的功能,IDE磁盘控制器上有IDE协议的功能。因此IDE磁盘可以连接到PC机的IDE连接线上。如果磁盘只支持SCSI协议,那么这种磁盘就不能直接与PC机连接。这时就需要在PC机扩展槽上插入一块SCSI卡,SCSI磁盘可以与卡连接。SCSI卡实现了PC总线到SCSI的转换。这种SCSI卡实现的功能就是主机总线适配卡的功能。如果磁盘只支持光纤通道协议,那么服务器上就需要支持光纤通道协议,因为光纤通道的高速特性一般服务器主板都不支持,需要专门的主机总线适配卡。服务器插入主机总线适配卡后,就可以与支持光纤通道的磁盘通过光纤通道连接了。
主机总线适配卡内部有一个小的中央处理器,一些内存作为数据缓存以及连接光纤通道和总线的连接器件等。这个小的中央处理器负责PCI和光纤通道两种协议的转换。它还有其他的一些功能,初始化与光纤通道网络连接的服务器端口,支持上层协议例如TCP/IP,SCSI等,8B/10B的编码解码等。