微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > SCSI 总线和协议

SCSI 总线和协议

时间:12-12 来源:互联网 点击:

它以串联方式发送信号,采用一条数据高压线和一条数据低压线。SCSI总线上的每个设备都有信号收发器。控制器与设备通信时,总线沿途的设备接收信号并转发信号,直至信号到达目标设备为止。这样,控制器和设备之间的允许距离可显著增加,可达25米。

(3)低压差动(LVD:Low-Voltage Differential):LVD是HVD的同类技术,工作原理非常相似。两者之间的差异在于,LVD的收发器更小,并且内置于每个设备的SCSI适配器中。这使得LVD SCSI设备的价格更合理,并且LVD使用更少的电量就可以通信。缺点在于最大距离仅为HVD的一半——12米。

HVD和LVD通常都使用被动终结器,即使设备和控制器之间的距离远大于1米也是如此。这是因为收发器可以确保信号足够强,能从总线的一端传输到另一端。

三. SCSI 协议

在SNIA 共享存储模型中,SCSI 负责从上层接收请求并转发,或者从并行设备获取数据并转发。

例如:有一个应用程序向操作系统发出对磁盘设备的写请求。 在SCSI协议层,这个写请求被看成是特定数量的数据块以协议的形式传递到指定位置的命令。作为操作系统和存储设备之间的一个中介,SCSI 协议既不规定数据块如何组织,也不规定怎样把数据块放到磁盘上。 在SCSI把数据块发送到目的地时,目标方可能是单个物理磁盘,也可能是把数据块在多个物理盘上分条存放的RAID 控制器。 SCSI 协议的责任,就是在确认写操作已经正确完成后向操作系统报告成功,而不管在磁盘上物理存储是如何配置以及写操作是如何执行的。

3.1 SCSI 域

SCSI 设备是在一定的环境中运行的。 通常需要有多个SCSI设备才能形成这样的环境。 SCSI 设备间的运行环境也称为SCSI域。在这个域内,生成和发送SCSI命令和任务管理请求的SCSI端口称为SCSI发起方,接收和处理SCSI命令,根据请求执行任务管理的端口称为SCSI目标方。

SCSI 域的组成包括SCSI设备,设备内的SCSI 发起方和目标方以及提供数据交接的总线。 SCSI总线连接了挂在它上面的所有SCSI设备。我们可以把一个实际的SCSI应用系统抽象为一个SCSI域,域中有多个SCSI设备,而且带SCSI驱动器的计算机也可以被看成是一个SCSI设备。

尽管可以允许有多个SCSI设备接在同一条总线上,SCSI协议实际定义的是设备间一对一的数据交换,即同一时刻在SCSI总线上只允许有两个设备互相交换数据。因为,SCSI上的各个设备是以分时共享的方式使用总线的。

在一个实际的SCSI域中,必须至少有一个发起方和1个目标方,考虑到主机对数据存储的需求,配置了SCSI控制器的主机至少有1个SCSI发起方。而磁盘设备主要是提供存储和数据服务,一般都有目标发。

3.2 SCSI 协议模型

为了便于实现和理解SCSI的各个协议,SCSI 采取了分层结构。 SCSI 大致可分为三层,即SCSI应用层,SCSI 传输层和SCSI 互连层。 SCSI中的各个具体协议一般都位于其中的某一层,可以可能跨越两层。

在应用层,SCSI 体系结构把发起方(主机)和目标方(如磁盘)的通信定义为客户/服务器交换。SCSI 客户位于主机中,代表上层应用程序,文件系统和操作系统I/O请求。 SCSI 设备服务器位于目标设备中,对请求做出响应。 客户/服务器请求和响应通过某种形式的底层协议进行传输。

在传输协议层,SCSI 设备之间通过一系列的命令实现数据的传送,大致分成三个阶段:命令的执行,数据的传送和命令的确认。

SCSI 互联层完成SCSI设备对总线的连接以及发送方和目标方的选择等功能。

3.3 寻址机制

为了对连接在总线上的设备寻址,SCSI 协议引入了SCSI设备ID 和逻辑单元号LUN. 在SCSI 总线上的每个设备都必须有一个唯一的ID,其中包括服务器中的主机总线适配器也拥有设备ID. 取决域SCSI标准的版本,每条总线最多可允许有8个或者16个设备ID。

诸如RAID 磁盘子系统和磁带库这样的存储设备可能包括若干个子设备,如虚拟磁盘,磁带驱动器和介质更换器等。 因此SCSI 引入了逻辑单元号,以便于对大的设备中的子设备进行寻址。 另外一个服务器可能配置了多个SCSI控制器,从而就可能有多条SCSI总线。 因此,操作系统用一个三元描述标识一个SCSI目标: 总线/目标设备/逻辑单元号

传统的SCSI 适配卡连接单个总线,相应的只具有一个总线号。 在引入存储网络之后,每个光纤通道HBA(Host Bus Adapter)或iSCSI(Internet SCSI)网卡也都连接一条总线,分配一个总线号,在他们之间依靠不同的总线号加以区分。

目标设备标识在一条总线菊花链上的单个设备,逻辑单元号则表示一个目标设备中的一个子设备。 通常,单个物理磁盘只具有一个逻辑单元号,而

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top