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

SCSI 总线和协议

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

的,它总是被放在命令描述块的开头一个字节。正如其名字所言,操作码定义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类别,可能是字节数,也可能是块数。应用客户通常使用该“数据入”缓冲区接收特殊信息,如日志数据、诊断数据等。如果传送的信息量超过了分配长度表示的最大值,则相关设备不应再传,并使用状态阶段返回特定的状态信息。

7.控制码

它是所有CDB格式的最后一个字节。在其中有一些特殊的域,如已经定义的一个NACA位。在一些情况下,一个命令的执行会以“检查条件(CheckCondition)”状态中止,它表明在命令执行过程中出现了错误或异常。 有些命令执行的错误或异常不会影响其他命令的执行,也不需要作善后的恢复处理,而另一些命令执行的错误或异常则可能导致命令组中的其他命令被异常中止,需要专门的命令对其做善后处理,并要求存储设各在完成善后处理工作之前不再处理该用户的其他命令。为了区分这两种不同的情况,也为了让应用客户能够事先声明哪些命令执行的错误或异常需要善后处理,SCSI允许应用客户在CDB的控制码中设置NACA位,请求存储设备在命令执行以“检查条件”状态中止时建立“自动跟随”条件(Condition),从而允许应用客户在随后的善后处理命令中把新(New)任务的属性设置成自动跟随(AutoContingentAllegiance,ACA)。

3.9 SCSI 的读操作和写操作过程

1. SCSI的读操作过程

如果计算机要从存储设备上读取文件或数据,那么无论数据的大小如何,都至少要经历一个SCSI的读操作过程。当然,操作系统需首先将用户的读取操作通过SCSII/0的应用程序编程接口(ApplicationProgrammingInterface,API)转化为SCSI的读操作,并在操作完成后通过相应的API返回响应的值。

在SCSI域内,这个操作在传输层被简单地描述成5个主要过程:

(1)发起方通过CDB发送SCSI的读命令。

(2)目标方接收到该命令,通过设备管理器在指定的逻辑单元中执行该命令请求的操作。

(3)目标方以字节为单位向发起方传送数据。

(4)在数据传输完毕后,目标方向发起方发送命令完成的报告。

(5)发起方接收到命令完成的响应。

当然,这些过程是建立在SCSI互连层的基础上的。在第一个过程之前,SCSI总线由空闲阶段进入总线仲裁和选择阶段,完成发起方对总线使用权的获得以及对目标方的选择和寻址。

在第一个过程中,目标方发送REQ信号,请求信息传输,控制总线进入信息传送的命令阶段。目标方通过发送方传送的CDB获取“读”命令。在其后的第2个和第3个过程中,目标方从它控制的外围设备中读取数据并发送到发起方。如目标方准备数据需要较长的时间,则可能有多个总线释放、进入空闲和重选阶段的轮回。目标方在每次完成数据传送后,都控制总线进入状态阶段并返回一个状态信息。为进一步表示读命令的全部完成,在第四个过程中,总线进入信息传送的通信阶段,目标方发送“命令完成”信息,并可释放SCSI总线的BSY信号。在第五个过程中,发起方接收到日标方命令完成的响应,

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

网站地图

Top