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

SCSI总线和协议

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

与异步传输一样,在同步数据传输中,发起方也在接收到一个REQ并读取了数据总线上的值之后就发送一个ACK信号。但与异步传输不同的是,目标方在接收到对一个数据的ACK之前可以发送多个REQ信号。SCSI为同步数据传输的REQ/ACK握手过程定义了一个称作REQ/ACK饱和值的参数,它表示在接收到ACK信号前可以发送的最大REQ信号数。如果发送的REQ数日多于接收到的ACK数目,并达到了定义的REQ/ACK饱和值,那么目标方暂停发送REQ信号和数据,直到接收到下一个ACK为止。这在原理上与传统网络中的流控制类似。

I/O信号为“伪”时,数据是由发起方向目标方传输。发起方每次接收到一个REQ信号就发送一次数据。目标方先把REQ置成“真”。发起方检测到REQ变“真”后把要发送的数据放置到数据总线上,即置DB(7/l5~O,P)对应的线路,然后把ACK置成“真”。接着发送方需要在一个指定长度的时间内保持在总线上放置的数据不变,并继续把ACK置成“真”。在指定的时间期满后,发起方可以把ACK置成“伪”,并且可以改变或取消放置在数据总线上的值。目标方在检测到ACK信号变“真”后,在指定的ACK保持为“真”的时间内读取数据总线上的数据,并把REQ置成“伪”。

此后,目标方可以通过把REQ再置成“真”继续请求信息。

3.8SCSI命令描述块

在互连层完成SCSI设备对总线的连接,以及发送方和目标方的选择的基础上,传输层协议执行实际的数据传输。传输层提供了两类服务,一是命令的执行和确认;二是数据的传送。命令的执行是在总线进入命令阶段后,发起方通过命令描述块(command description block,CDB)向目标方发送具体的命令。命令的确认是在总线进入通信(Message)阶段后,发起方接收由目标方发送的命令执行确认信息。数据的传送则是在数据阶段(数据出或数据入)进行的。传输协议的运行过程包括发送命令、传输数据和对命令执行的确认。SCSI基础命令规范SPC(SCSIPrimaryCommands,SCSI基础命令)定义了CDB的标准。

除了基本命令外,SPC还定义了所有类型的SCSI目标方设各都可以使用的管理参数,如诊断参数和日志参数等。

发起方对存储设备的实际操作是通过向目标方发送一个命令描述块来完成的。在一些情况下,在一个命令描述块之后可能还有一些参数要传给目标方,按照具体的协定,这些更多的参数是在命令描述块后的“数据出”阶段发送的。命令描述块有定长和不定长两种格式,而定长格式的命令描述块又有6、10、12或16字节不同的长度规定。

命令描述块由编号从0~56个字节组成。下面介绍其中各个段的内容。

1.操作码

操作码是所有命令描述块都有的,它总是被放在命令描述块的开头一个字节。正如其名字所言,操作码定义CDB的具体操作。8比特在理论上共有256个可能的操作码。实际上其中有一些是保留码,日前尚未定义。操作码的8个二进制位又分为两部分:5-7位是组代码,指示该命令具体属于哪个命令组,它决定CDB的长度,如“000”为组“0”,表示6个字节的CDB命令组,0-4位则是具体的命令代码。

2.混杂CDB信息

该参数表示与具体的CDB相关的信息,其中一个例子是表示逻辑设备号,寻址在SCSI目标设备中的一个逻辑单元。对应一个SCSIID的设备可以有多个逻辑单元,所以逻辑单元扩展了SCSI总线可访问的设备数目,使得目标方设各上可以有多个可被访问的设备而只占用一个有效的SCSIID。对一个逻辑单元的实际访问是通过该逻辑单元的一个特定的编号,即逻辑单元号实现的。

3.逻辑块地址

该地址是逻辑单元(比如磁盘)中的起始操作块的位置。在6字节的CDB中,有21位的逻辑块地址。SCSI把逻辑单元、卷或分区抽象成块的数组,每一块都有一个逻辑地址,编号从0开始。对SCSI存储设备的每一次读/写操作都是针对一组连续的逻辑块进行的,因而需要指出起始块的逻辑地址。

4.传送长度

该长度表示命令所请求的传送量,通常是块数。在有些类别的CDB中也可能是字节数。0表示不需要传送数据。

5.参数表长度

有些命令还需要更多的参数,这些参数由客户提供,定义在“数据出”缓冲区中。参数表长度就表示需要传送到存储设备的这类参数的长度,0表示不需要传递参数。

6.分配长度

分配长度表示应用客户为“数据入”缓冲区分配的最大长度,根据具体的CDB类别,可能是字节数,也可能是块数。应用客户通常使用该“数据入”缓冲区接收特殊信息,如日志数据、诊断数据等。如果传送的信息量超过了分配长度表示的最大值,则相关设备不应再传,并使用状态阶段返回特定的状态信息。

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

网站地图

Top