数据存储产业服务平台

5.4.3 SCSI-3架构

5.4.3  SCSI-3架构

SCSI-3架构定义和分类了多种SCSI-3标准和SCSI-3实现的需求(更多的信息请参考Technical Committee T10"SCSI Architecture Model-3(SAM-3)"文档,这些文档可以在www.t10.org上找到)。SCSI-3结构被ANSI批准通过并发布成标准X.3.270-1996。这个架构帮助开发者、硬件设计者和用户更好地理解并更高效地利用SCSI。SCSI体系结构模型的三个最主要的部分如下。

SCSI-3指令协议:这包含了对于所有设备来说最主要的指令,同时也包括特定设备的指令,即对给定类别的设备来说是唯一的。

传输层协议:这是一套设备间通信和共享信息的标准集规则。

物理层互连:这是关于接口的一些细节,例如电子信号方法和数据传输模式等。

通用存取方法(Common Access Method)是一个ANSI为SCSI设备设计的软件接口。图5-3展示了SCSI-3标准结构,包含了SCSI-3相关的其他一些标准组。

SCSI-3客户-服务器模型

SCSI-3结构继承了客户-服务器关系模型的基础,在这里客户可以直接发服务请求给服务器,然后服务器响应客户的请求。在SCSI环境里,一个发起方-目标方的概念用于实现客户-服务器模型。在SCSI-3的客户-服务器模型中,一个特定的SCSI设备作为一个SCSI目标方设备,或一个SCSI发起方设备,或一个SCSI 目标方/发起方设备。每一个设备都会实现以下功能。

SCSI发起方设备:发出指令到SCSI 目标方设备进行任务描述。一个SCSI主机适配器就是一个发起方的例子。

SCSI目标方设备:执行SCSI 发起方发送过来的指令并完成任务。典型地,一个SCSI外围设备就扮演着一个目标方设备的角色。但是,在特定的实现里面,主机适配器也可以是一个目标方设备。

图5-4展示了SCSI-3的客户-服务器模型,在这里一个SCSI发起方,或者说一个客户,发送一个请求给SCSI目标方或者说一个服务器。然后这个目标方执行任务请求,并且使用协议服务接口发送输出信息给发起方。

一个SCSI目标方设备包含一个或多个逻辑单元。一个逻辑单元就是一个对象,实现了在SCSI指令标准中描述的其中一种设备功能模型。逻辑单元处理SCSI 发起方发送过来的指令。一个逻辑单元包含两个部件:一个设备服务器和一个任务管理器,就像图5-4所示的那样。设备服务器确定客户请求,任务管理器执行管理功能。

SCSI发起方设备包含一个应用客户端和任务管理功能,用于初始化设备服务和任务管理请求。每个设备服务请求包含一个命令描述块(Command Descriptor Block,CDB)。CDB定义了要执行的指令,列出特定指令输入和其他参数,用于指定如何执行指令。应用客户端在逻辑单元里创建任务和对象,描述了指令相关的工作和一系列链接指令。一个任务会持续下去直到发送"任务完成响应",或者被任务管理功能中止或异常中止。

SCSI设备由特有的数字来识别,称为SCSI ID。在窄口SCSI(总线位宽=8)里面,设备号是数字0到7;在宽口SCSI(总线位宽=16)里面,设备号是数字0到15。这些ID号指定了设备在SCSI总线上的优先级。在窄口SCSI里面,号码7是最高优先级而号码0则是最低优先级。在宽口SCSI里面,设备ID从8到15拥有最高优先级,但整个宽口SCSI的ID序列的优先级都比窄口SCSI的ID要低。所以,整个宽口SCSI总的优先级序列为7、6、5、4、3、2、1、0、15、14、13、12、11、10、9和8。

当一个设备被初始化时,SCSI允许在总线上自动分配设备ID,这避免了两个或多个设备使用同一个SCSI ID。

SCSI端口

SCSI端口是SCSI的物理连接器,可连接SCSI线缆,用于与SCSI设备通信。一个SCSI设备可以包含目标端口、发起端口和目标/发起端口,或者带多端口的目标端口。基于端口的不同组合,一个SCSI设备可以分为发起方模型、目标方模型、复合模型或者带多端口的目标方模型(如图5-5所示)。

在发起方模型中,SCSI发起方设备只有发起端口。所以,应用客户端只可以发起请求到服务交付子系统或接收确认。这种设备不能为任何请求提供服务,所以也不包含逻辑单元。

同样地,一个SCSI目标方设备也只有一个目标端口,可以为请求提供服务,但不能发起请求。SCSI目标方/发起方设备就有一个目标/发起端口,可以根据其在I/O操作中所扮演的不同角色,在不同功能间进行切换。为了从多个设备上为请求提供服务,一个SCSI设备也可以拥有同一类型的多个端口(通常为目标端口)。

SCSI通信模型

SCSI通信模型(如图5-6所示)包含三个互相关联的层,由SAM-3定义,与OSI七层模型很相似。较低的层向较高的层提供服务。而一个较高层要与低层通信,采用调用低层所提供的服务的方式。每一层的协议定义了对等层实体间的通信方式。

SCSI通信模型有3个层。

SCSI应用层(SCSI application layer,SAL):这一层包含了客户端和服务器端的应用程序,通过SCSI应用程序协议发起和处理SCSI的I/O操作。

SCSI传输协议层(SCSI transport protocol layer,STPL):这一层包含发起方和目标方进行通信的服务和协议。

互连层:这一层实现了发起方和目标方之间的数据传输功能。互连层也被称作服务交付子系统,包含服务、信号机制和互连数据传输等。

未经允许不得转载:存储在线-存储专业媒体 » 5.4.3 SCSI-3架构