硬盘存储器与SCSI标准

Author: 湖北 蒋庆涛 Date: 1995-04-14

        一个完整的硬盘存储器由驱动器(HDD)、控制器(HDC)和盘片三部分组成,CPU只有通过接口才能与硬盘存储器进行信息交换。SCSI标准(Small Computer Standarol Interface)正是这样一种高速的系统级接口标准。HDC作为CPU与HDD的接口,与CPU的交接面是清楚的,它只与系统总线打交道,进行数据传送;但HDC与HDD之间的界限却是模糊不定的。先看CPU与HDD的控制逻辑(图1):
        如HDC与HDD的交界面设在A处,HDD只完成对盘片的读写和信号放大,数据分离以后的控制逻辑构成HDC;如两者交界面设在B处,则在HDD上要完成数据分离和编码、解码工作,然后再将数据传送到HDC;而设在C处,就是SCSI接口。
        实际上,SCSI接口是一种微机总线,与其它常用接口标准如:IDE或串行口有很大区别。它不仅将原来控制器的功能全部移到了设备一侧,而且还在该侧增加了SCSI接口控制电路,然后通过由设备引出的SCSI接口电缆与CPU交换数据。由于支持SCSI标准的外设增加了控制器,设备更加复杂,但外设间能对等地进行通信,将命令与数据成组地互相传送,每个设备都可作为“目标设备”或“启动设备”,常称这种外设为智能外设。一个SCSI系统能支持多达7台外设。
        SCSI接口电缆是一根50芯扁平电缆,其信号线包括数据线(其中有一位校验位),接口控制和状态线。它有多种连接方式,为多主机、多设备系统配置创造了条件。与SCSI总线连接的设备均有自己的识别号ID,这是SCSI标准的独特性。当请求使用总线的设备在确认总线状态空闲后,便置BSY信号为“真”向总线输出本设备的ID码。通过仲裁,ID码最大的设备抢占总线,置SEL信号为“真”。这时要把I/O信号置为“假”以便“启动设备”进入选择工作设备的阶段,BSY信号置为“假”。通过ID码比较,选中的“目标设备”再置BSY信号为“真”应答“启动设备”,随即释放SEL信号结束选择。SCSI接口随后便进入了信息传送阶段,由REQ.ACK信号确认传送,I/O信号确认传送方向。如I/O信号为“真”,则由“目标设备”向“启动设备”传送数据。反之,则相反。数据被送到数据线上后,“目标设备”发出REQ信号通知“启动设备”接收数据,完毕后“启动设备”再发ACK信号表示应答,随后“目标设备”置REQ为“假”,“启动设备”也置ACK信号为“假”,一个字节传送完毕。如果多字节传送,则分别重复上述传送过程。需注意的是,信号线为负逻辑。
        理论上,按SCSI标准设计的计算机系统和外设能极大地保证即插即用的互配性,极大地方便了系统的配置。而且,与IDE接口比较,SCSI适配卡在DOS下可访问容量达8GB的驱动器(在别的操作系统下还要大些),其数据传输率能达到5MBPS,如此高速准确的传输比一般PC机提高了1倍多,这无疑对用户具有很大的吸引力。
        由上面的分析可见,SCSI标准是很灵活的,但因外设的请求是通过送一命令描述块到“目标设备”实现的,而原始的SCSI标准包含了各种命令,使之同时成为了它的弱点,生产厂家只能选择一部分命令实现。不过这也阻止不了SCSI口的广泛运用。改进了的SCSI_2标准,增加了一个必须实现的命令组,只要符合SCSI标准的设备都能实现这最低限度的命令,从而部分地解决了这一问题。
        如果你正需选购微机且要安装外设,相信你会选用SCSI标准。但不要忘记,SCSI适配器也需安装一个或多个设备驱动程序。
        (湖北 蒋庆涛)