分享

SCSI体系结构

 venus85 2010-11-12
SCSI体系结构模型
    SCSI体系结构模型(system Architecture Model,SAM)是一个SCSI I/O系统的抽象模型,也可理解为SCSI系统构成和运行的总的规范,所有的SCSI接口、协议、存取方法及设备都要服从这一规范,同时它还为SCSI系统的软件设计规定了对象模型。对体系结构清楚地加以描述是SCSI-3,此前SCSI也有体系结构,但没有被单独提出来。图10.1所示是SCSI-3的体系结构模型。这个模型是结构化的,由分层对象组成。
    SAM是一种抽象模型,初次接触会有些茫然,但从下面的说明中可建立一些浮浅的认识。真正理解需要等到熟悉SCSI的全部内容。


    类似于计算机网络中的客户机/服务器机制,SCSI在工作时也采用该机制,选中的目标器为服务器,启动器为客户机。客户机向服务器发送一个请求,服务器
给出应答。二者使用服务分发子系统(service Deliverv Subsystem,SDS)作为媒介,如图10.2所示。例如,主适配器给硬盘发一请求:“请发送10个数据块给我,起始数据块号是312”。硬盘首先把数据块号转换为柱面、磁头号及扇区号表示的物理地址,然后检查这个地址是否有效,再检查其他被请求的数据块是否也都在磁盘的容量限制内,接下去就开始移动磁头。当磁头位于正确的柱面时就不动了,一直等待,直到正确的扇区经过它的下面。然后开始读过程,当第一个数据块被全部读出并校验正确以后,服务器(硬盘)把它传输给客户机(主适配器)。
    所谓服务分发子系统,是指对客户机与服务器之间请求和响应进行无差错传输的通道。它由一个连接子系统和至少两个服务分发接口(Service Delivery Interface,SDI)组成。实际上,连接子系统就是物理总线,包括电缆、连接器和电气特性;而服务分发接口就是设备中的SCSI接口。
    SCSl支持多任务。这意味着,可以有不同的应用客户使用同一个启动器;而对于目标器来说,可以接受来自不同启动器的服务请求或同一启动器的不同服务请求。每一个请求实际是一个命令,即一项要完成的任务。SAM对任务进行了严格的定义,即为执行一个SCSI命令所采取的一套行动或者一系列互相连接的SCSI命令。因此,在目标器中会形成任务集(任务队列)。设备中的任务管理器用于对任务集的管理,例如异常终止指定任务。
    在做了上述说明之后,读者对图10.1中除设备服务器和域之外的功能块可能有了一个最基本的了解。下面解释这两个功能块。
    设备服务器提供服务,即执行任务集中的任务。如图10.3所示直观地表示了启动器(应用客户)发命令以及目标器(设备服务器)执行任务的过程。


    域在SAM模型中位于最顶层。域是一个独立的SCSI系统,即一条SCSI总线
所连接的设备和用于连接设备的服务分发子系统。显然,一个域构成了一个独
立的I/0子系统(相对整个机器的I/0系统而言)。在一台机器中可以有几个SCSI域,如图10.4所示。可以看出,ID编号仅用来标识一个域中的不同设备,不同域的ID编号之间没有关系。


    SAM不仅规范了SCSI系统的硬件构成和运行机制,而且还为SCSI系统的软件设计规定了对象模型,给软件设计带来方便。例如,SAM的启动器由一个长度为64位的标识符和有待于执行的应用程序客户组成;目标器由一个长度也为64位的标识符、一个或几个LUN和一个任务管理器组成;而LUN由LUN编号(可以为64位)、一个设备服务器、一个任务或任务集序列组成。这样,在为SCSI目标器编写固件时,只需简单地实现这些对象,并把它们作为模块放入固件中。
    SCSI支持启动器和目标器的各种组合,只要有至少一个启动器和至少一个目标器就可以作为一种组合。图10.5表示了一个SCSI域中启动器和目标器的三种基本配置(即组合方案)。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多