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. mini-httpd源码分析-port.h

    针对不同系统的宏定义,对于Linux而言 /* port.h - portability defines */ #elif defined(linux) # define OS_Linux # def ...

  2. verilog 随笔

    不是说你在代码里定义一个reg型变量,综合器就会综合处一个寄存器来,case必须在always块里,always里面的被赋值变量必须是reg型,这是语法的规定,只能遵守.写代码的时候不要加入触发器(不 ...

  3. git搭建服务器

    搭建Git服务器 在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商 ...

  4. c语言libcurl 使用实例get/post方法+c语言字符串处理

    #include <stdio.h> #include <curl/curl.h> #include <string.h> #include <ctype.h ...

  5. UNIX文化与历史--初学者必看

    UNIX文化与历史 UNIX这个名字早已被众多用户所熟知.作为一个操作系统,它以其独特的魅力----即开放性.可移植性.和多用户多任务等特点,不仅赢得了广大用户的喜爱,同时也受到许多计算机厂商的青睐. ...

  6. android开发利器--站在巨人肩膀上前行

    本文主要介绍有助于android开发的三方平台和站点. 一:开发阶段 1:SVN(一个开放源码的版本号控制系统) 团队开发没有server,代码管理就没那么方便了,推荐taocode阿里开源站点,方便 ...

  7. C#高级编程三十天----泛型结构,泛型方法,泛型托付

    泛型结构 泛型结构和泛型类差点儿是一直的,仅仅是泛型结构没有继承的特性..NET平台提供的一个泛型结构是(可空类型)Nullablle<T>.可空类型的引入,主要是为了解决数据库语言中的数 ...

  8. ceph 块设备

    数据的存储设备? 数据的存储有3种形式,1种是直接以二进制数据的形式存储在裸设备(包括块设备)上,另外一种是以文件的形式经过文件系统管理进行存储.第三种就是以对象的形式进行对象存储.本篇讨论围绕着块设 ...

  9. openvswitch安装、基本操作

    一.安装,配置 //下载源码.编译.安装: #wget http://openvswitch.org/releases/openvswitch-2.3.0.tar.gz #tar -zxvf open ...

  10. JavaScript之模仿块级作用域

    简介:在JavaScript中没有块级作用域的概念.这意味这在块语句中定义的变量,实际上在包含函数中而非语句中创建的.证明代码如下: function outputNumbers(count){ fo ...