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. WampServer PHP服务配置方法(允许外部访问、phpmyadmin设置为输入用户名密码才可登录等)

    WampSever 指的是apache + mySQL + PHP 三合一套装,第一字母W,是指用于windows系统,我用的是2.0f版.用于Linux系统的,是LampSever,第一字母是L.请 ...

  2. 织梦list文章列表按权重排序

    织梦的文章列表按权重排序 DEDECMS(织梦)5.6系统支持文档权重weight排序,可以在模板中使用: {dede:arclist row='10' titlelen='50' orderby=' ...

  3. Arduino当avr开发板

    原理并不复杂,因为arduino本来就是avr+一堆的库,找个能编译出hex的工具下载到板子就行. 但实际做起来还是碰到很多问题. 先是尝试eclipse+avr plugin 编译时出现make: ...

  4. 通过Orchard认识的Autofac

    反射Reflection 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:'程序集(Assembly)'.'模块(Module)'.'类型(class)'组成,而反射提供一种编程 ...

  5. 如何彻底卸载sql server 2012

    好不容易装上了sql server 2012数据库,可是却不能连接本地的数据库,后来发现缺少一些服务,于是决定重新安装,但是卸载却很麻烦,如果卸载不干净的话,重新安装会出问题,所以下面就总结一些方法: ...

  6. TFS Build Definition

    1.  TFS Build 简介 在团队项目开发中,编译常常是一个很困难的事情! 可能你会反问编译有什么难的?不就是右键,然后点击 Build/Rebuild, 或者直接按 F5 么?这都不会,真不知 ...

  7. 柯南君:看大数据时代下的IT架构(9)消息队列之RabbitMQ--案例(RPC起航)

    二.Remote procedure call (RPC)(using the Java client) 三.Client interface(客户端接口) 为了展示一个RPC服务是如何使用的,我们将 ...

  8. VS中C++代码折叠

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

  9. 使用session插件并且实现登录验证

    var express = require('express'); var cookieParser = require('cookie-parser'); var bodyParser = requ ...

  10. 数组-Find Minimum in Rotated Sorted Array

    排序数组在旋转后,可以分为前后两个排序子序列.在没有相同元素的情况下,前一个数组中的元素均大于后一个数组中的元素. 如果我们要找最小元素,则只要找到两个数组的分界点即可,即第二个子序列的开始元素. 由 ...