ccidnet????

出版日期:1999-09-06 总期号:855 本年期号:65

本期导读
要闻综合
电脑工作室
市场
硬件
软件
infotimes
scsi接口技术

陆兵、束梅玲

  随着ibmpc及其兼容个人微型机和外部设备的快速发展,主机和外设的速度都有了极大的提高,而负责主机和外设间数据传输的接口(如现在普遍使用的ide接口)技术的发展却远没有跟上,它的数据传输率和可靠性已不能满足高速主机和高速外设间的通讯要求,逐渐力不从心,已成为系统数据传输的颈瓶。

  解决ibm/pc及其兼容个人微型机系统数据传输的颈瓶问题,只有提高设备接口的传输率和可靠性。一种办法是发展新技术,另一种办法是引入scsi接口技术(实际上现在一些厂家已开始研制并生产了一些应用在pc兼容机上的支持该技术的产品,如主板、适配器、扫描仪、硬盘和刻录机等)。

  scsi接口是小型计算机系统接口(small computer system interface)的简称,它是在美国shugart公司开发的sasi的基础上,增加了磁盘管理功能而成的。scsi接口作为输入输出接口,主要用于光盘机、磁带机、扫描仪、打印机等设备。

  scsi标准是1986年审议完成的,称为scsi-i标准,由于scsi的特点是传输速度快(最高传输率达40mb/s以上),支持多i/o任务并行操作,因此在非pc机上得到了广泛的应用。1990年又制定了scsi-2标准(最高传输率达80mb/s以上)。


  一、scsi的系统结构


  图1是一个有两个主适配器和多个外设的scsi系统,主机与适配器通过系统总线或局部总线联系。适配器与外设控制器之间是scsi总线。多个适配器和控制器通过总线实现数据传输。所有直接与scsi总线连接的适配器或外设控制器统称为scsi设备。每个外设控制器可以控制一个或多个外部设备。

  控制器与外设之间的总线是设备级局部总线。scsi作为一种高级的系统接口,可以通过一些设备级接口来实现对外设的控制。如esdi、st506/412、ipi-2等设备级接口都可与scsi相联。

  无论采用什么类型的设备级接口、设备甚至系统总线结构,scsi总线都有相同的物理和逻辑特性。scsi有与设备和主机无关的高级命令系统,scsi的命令是以命令描述块cdb的形式由主设备发送给目标设备,cdb说明了操作的性质、源和目的数据块的地址、传送的块数等信息。scsi系统可以是一个主机,即一个主适配器和一个外设控制器的最简单的形式,也可以是一个或多个主机与多个外设控制器的组成。scsi规定系统至多有的scsi设备数目为scsi总线数据的位数,如采用32位数据总线,则至多有32个scsi设备。


  二、总线信号


  scsi-i采用两种可选的信号传输形式:单端信号和差分信号。但两者采用相同的传输线;50针扁平电缆线称a电缆,该电缆包含8位数据总线。

  如系统要求超过8位并行数据则可使用scsi-2标准。scsi-2规定了16位、32位数据总线,因此必须在a电缆的基础上另外加一根电缆即b电缆。b电缆是68针扁平电缆线,b电缆包括db(0~7)以外的db(8~31)以及相应的控制信号。使用两根电缆是为了保证scsi-2与scsi-1的兼容性。


  三、scsi的物理特性


  scsi设备以菊花链连接成一个系统,使用50针a电缆和可选的68针b电缆,单端方式和差分方式在一个系统中不能同时存在。电缆的特性阻抗一般采用90~140欧姆。为了减少信号的反射和跳跃,不能将不同特性阻抗的电缆连接在一起。a缆插座在设备终端有两种:一种是阴头50针,每排25针,两排对应的电缆插头是50针双排阳头;另一种是发夹式插头插座。b电缆是阴头68针插座,68针阳头电缆插头。


  四、scsi的逻辑特性


  scsi设备或作为主设备或作为目标设备。主设备是请求执行一个i/o进程,发出命令的scsi设备;目标设备则是一个i/o的执行者。通常情况下与主机相连的适配器是主设备,它接受主机的i/o任务,并以scsi命令信息告知目标设备执行相应的i/o任务;而外设控制器通常就是目标设备。但在一个系统中主设备和目标设备并不是固定的,二者的划分是根据二者在i/o任务处理过程中所起不同作用来确定的。

  作为一个目标设备本身可有若干个逻辑单元,一个逻辑单元可以是物理设备也可以是虚拟设备。可是一个外设既可以是一个外设的一个部分,也可以是几个外设的整体。因为系统建立初始化操作不同,可以根据外设的情况定义逻辑单元。每个逻辑单元有一个逻辑单元号lun。

  目标设备的每个逻辑单元可以同时接受任何一个主设备的多达256个i/o进程。这些进程必须以一定的优先级顺序排队,由目标设备进行统一管理。每个主设备发给每个逻辑单元的i/o进程与之相关的排队标号。排队标号并不反映优先顺序,而是各个i/o进程的区分标志。排队标号在scsi传输信号中指定。

  排队标号在逻辑上也可以看作是一个逻辑单元的子单元,不同的排队标号表示i/o操作对象为不同的子单元,如把3个硬盘当作3个逻辑单元,则硬盘的分区可以当作子单元。排队标号既可以看作是与i/o进程相联系的标志,也可以是与物理设备相联系的子单元。




  图1 scsi系统结构

  scsi是一种系统级接口,它的高级命令结构、逻辑设备、逻辑地址处理,体现了它的智能化。scsi地址体现在三个层次上:

  scsi设备地址→逻辑单元号→逻辑分区(子单元)

  scsi设备地址→目标例行程序号

  scsi设备地址即设备号,从0开始,每个设备都有自己的设备号,不同的scsi设备具有不同的scsi设备号,逻辑单元号是给目标设备的每个逻辑单元一个逻辑序号。目标例行程序是与目标设备有关的测试诊断子程序,调用不同的子程序必须给出确定的目标例行程序号,目标例行程序只与目标设备有关,与具体逻辑单元无关,主设备用它来进行诊断、维护等。

  逻辑分区地址是以逻辑单元划分不同逻辑扇区或区段。无论是顺序存取设备还是随机存取设备都以逻辑扇区为分配单元。一个逻辑扇区可以是一个物理扇区,也可以是几个物理扇区,如512字节、1024字节等。

  逻辑扇区与物理扇区的划分和映射是由目标设备实现的,对于主设备而言是看不见物理地址的,所有的i/o操作都以逻辑地址进行信息交换。物理设备的缺陷也由目标设备处理,目标设备自动为所有不可用的坏区列表管理。对于主设备而言,操作对象———外设具有连续可用地址的“完好”设备。

  scsi接口使用逻辑地址简化了操作,减轻了主机的负担,主机可以不必了解具体外设特征。另外,使用逻辑地址也增加了设备操作的可靠性,设备的缺陷由目标设备来管理,从逻辑上保证了设备的的完整性。

  scsi接口是一个多主机多设备系统,因此存在总线竞争。总线仲裁的方法是各个设备将自己的设备号交给总线,具有最高优先级的设备获得总线控制权。任何一个i/o操作的开始都是以总线仲裁阶段开始,主设备赢得总线后,进入设备选择阶段。再选阶段则是一个目标设备为了继续进行被中断的i/o进程而再次参加仲裁,赢得总线后,选择要求的主设备的过程。scsi的数据传送通常采用dma方式,dma控制器由scsi协议控制器芯片内含或设置专门的dma控制器。在数据传送阶段可以采用同步或异步方式。除了数据传送阶段外,其余阶段采用异步传送方式。dma则采用同步传输方式。

  总之,scsi是一个高性能、高可靠性的接口,目前只是应用在服务器和高档微机中,相信不久将出现在一般的pc机中。