HBA,即主机总线适配器英文“Host Bus Adapter”缩写。是一个使计算机在服务器和存储装置间提供输入/输出(I/O)处理和物理连接的电路板和/或集成电路适配器。

简介

主机总线适配器(Host Bus Adapter,HBA)是一个在服务器和存储装置

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和 光纤通道协议之间的转换。

编辑本段原理

常见的服务器和存储设备之间的数据通讯协议是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的编码解码等。

HBA简介及原理的更多相关文章

  1. Linux系统学习 十二、VSFTP服务—简介与原理

    1.简介与原理 互联网诞生之初就存在三大服务:WWW.FTP.邮件 FTP主要针对企业级,可以设置权限,对不同等级的资料针对不同权限人员显示. 但是像网盘这样的基本没有权限划分. 简介: FTP(Fi ...

  2. Mybatis简介与原理

    经常面试别人或者被面试,对Mybatis简介与原理这个问题的回答千差万别,为了更好的服务与以后,来个原理介绍. 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 20 ...

  3. tomcat简介及原理解说

    Tomcat简介 作者:杨晓(http://blog.sina.com.cn/u/1237288325) 目录: ----Tomcat背景 ----Tomcat目录 ----Tomcat类加载 --- ...

  4. RPC简介及原理

    简介 RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过程调用). 越底层, ...

  5. StarlingMVC简介,原理解说及示例源码

    StarlingMVC简介 StarlingMVC是一个为使用Starling来开发游戏的MVC框架.这个框架的特性方面,很像Swiz和RobotLegs,原理亦像Mate.其特性列表如下: 依赖注入 ...

  6. Struts简介、原理及简单实现

    struts简介 Struts是Apache软件基金会(ASF)赞助的一个开源项目.它最初是jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目.它通过采用JavaServlet/ ...

  7. HBase简介及原理

    HBase简介 1.HBase是一个万亿行,百万列大表(Big Table),数据存放在hdfs集群中: 写操作使用MapReduce处理,将(增删改)处理结果放入HBase中,读就直接读HBase: ...

  8. Spark Streaming简介及原理

    简介: SparkStreaming是一套框架. SparkStreaming是Spark核心API的一个扩展,可以实现高吞吐量的,具备容错机制的实时流数据处理. 支持多种数据源获取数据: Spark ...

  9. rpc简介、原理、实例

    简介 RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过 ...

随机推荐

  1. Flink资料(5) -- Job和调度

    该文档翻译自Jobs and Scheduling ----------------------------------------------- 该文档简单描述了Flink是如何调度Job的,以及如 ...

  2. 走进C标准库(3)——"stdio.h"中的getc和ungetc

    接前文. 再来看看getc和ungetc的实现.在看这两个函数的实现之前,我们先来想一想这两个函数分别需要做的工作. int getc(FILE *stream) 说明:函数getc从stream指向 ...

  3. 解决Oracle 11gR2 空闲连接过多,导致连接数满的问题

    今天又遇到了11gR2连接数满的问题,以前也遇到过,因为应用那边没有深入检查,没有找到具体原因,暂且认为是这个版本Oracle的BUG吧. 上次的处理办法是用Shell脚本定时在系统中kill  v$ ...

  4. 紫薇~还记得大明湖畔的HTML5智力拼图吗?

    曲线谜团是非常有趣的HTML5智力游戏,据说超过多少分会有惊喜,游戏简单易操作,偶尔抛弃那种杀死脑细胞的大型游戏,玩玩这种简单经典的益智小游戏,放松放松,也是不错的选择嘛-将游戏 通过 统一开发环境( ...

  5. VS中C++代码折叠

    用VS编写C#时,可以用#region name和#endregion,将代码分段,这样可以将代码折叠起来,当类过大,方法过长时,这种方法可以提高阅读效率,是人看着更舒服. 对于C/C++语言,#re ...

  6. [虚拟化/云][全栈demo] 为qemu增加一个PCI的watchdog外设(四)

    通过前面的操作,我们已经可以创建一个带有我们自己的PCI的watchdog外设qemu 虚拟机了. 目的: 1. 了解我们的外设情况. 2. 为在guest中开发我们自己的linux PCI驱动程序做 ...

  7. Python 学习之中的一个:在Mac OS X下基于Sublime Text搭建开发平台包括numpy,scipy

    1 前言 Python有许多IDE能够用,官方自己也带了一个,Eclipse也能够. 但我在使用各种IDE之后,发现用Sublime Text是最好用的一个.因此.我都是用Sublime Text来编 ...

  8. Linux下安装Oracle的过程和涉及的知识点-系列4

    10.使用rpm安装包 假设本地有现成的相关包,能够直接使用rpm安装.rpm rpm包名,但有时会出现它须要其他包的支持,这时若须要忽略此提示.强行安装,运行rpm -i --force --nod ...

  9. Javascript 获取窗口的大小和位置

    在Javascript中可以使用OuterWidth,OuterHeight 获取浏览器的大小.用 innerWidth,innerHeight 来获取窗口的大小(除去浏览器边框部分).对于IE6 及 ...

  10. linux查看与开启ssh

    首先通过物理终端进入到linux上,手工检查ssh发现没运行/etc/init.d/sshd statussshd is stopped手工启动服务,发现报告权限错误./etc/init.d/sshd ...