您的位置 首页 ADAS

SCSI总线和协议

三SCSI协议在SNIA共享存储模型中,SCSI负责从上层接收请求并转发,或者从并行设备获取数据并转发。例如:有一个应用程序向操作系统发出对

三.SCSI协议

在SNIA同享存储模型中,SCSI担任从上层接纳恳求并转发,或许从并行设备获取数据并转发。

例如:有一个运用程序向操作体系宣布对磁盘设备的写恳求。在SCSI协议层,这个写恳求被看成是特定数量的数据块以协议的方法传递到指定方位的指令。作为操作体系和存储设备之间的一个中介,SCSI协议既不规则数据块怎么安排,也不规则怎样把数据块放到磁盘上。在SCSI把数据块发送到目的地时,方针方或许是单个物理磁盘,也或许是把数据块在多个物理盘上分条寄存的RAID操控器。SCSI协议的职责,便是在承认写操作现已正确完结后向操作体系陈述成功,而不论在磁盘上物理存储是怎么装备以及写操作是怎么履行的。

3.1SCSI

SCSI设备是在必定的环境中运转的。一般需求有多个SCSI设备才干构成这样的环境。SCSI设备间的运转环境也称为SCSI域。在这个域内,生成和发送SCSI指令和使命办理恳求的SCSI端口称为SCSI建议方,接纳和处理SCSI指令,依据恳求履行使命办理的端口称为SCSI方针方。

SCSI域的组成包含SCSI设备,设备内的SCSI建议方和方针方以及供给数据交代的总线。SCSI总线衔接了挂在它上面的一切SCSI设备。咱们能够把一个实践的SCSI运用体系笼统为一个SCSI域,域中有多个SCSI设备,而且带SCSI驱动器的计算机也能够被看成是一个SCSI设备。

尽管能够答应有多个SCSI设备接在同一条总线上,SCSI协议实践界说的是设备间1对1的数据交流,即同一时刻在SCSI总线上只答应有两个设备相互交流数据。因为,SCSI上的各个设备是以分时同享的方法运用总线的。

在一个实践的SCSI域中,有必要至少有一个建议方和1个方针方,考虑到主机对数据存储的需求,装备了SCSI操控器的主机至少有1个SCSI建议方。而磁盘设备首要是供给存储和数据服务,一般都有方针发。

3.2SCSI协议模型

为了便于完结和了解SCSI的各个协议,SCSI采取了分层结构。SCSI大致可分为三层,即SCSI运用层,SCSI传输层和SCSI互连层。SCSI中的各个详细协议一般都坐落其间的某一层,能够或许跨过两层。

在运用层,SCSI体系结构把建议方(主机)和方针方(如磁盘)的通讯界说为客户/服务器交流。SCSI客户坐落主机中,代表上层运用程序,文件体系和操作体系I/O恳求。SCSI设备服务器坐落方针设备中,对恳求做出呼应。客户/服务器恳求和呼应经过某种方法的底层协议进行传输。

在传输协议层,SCSI设备之间经过一系列的指令完结数据的传送,大致分红三个阶段:指令的履行,数据的传送和指令的承认。

SCSI互联层完结SCSI设备对总线的衔接以及发送方和方针方的挑选等功用。

3.3寻址机制

为了对衔接在总线上的设备寻址,SCSI协议引进了SCSI设备ID和逻辑单元号LUN.在SCSI总线上的每个设备都有必要有一个仅有的ID,其间包含服务器中的主机总线适配器也具有设备ID.取决域SCSI规范的版别,每条总线最多可答应有8个或许16个设备ID。

比方RAID磁盘子体系和磁带库这样的存储设备或许包含若干个子设备,如虚拟磁盘,磁带驱动器和介质更换器等。因而SCSI引进了逻辑单元号,以便于对大的设备中的子设备进行寻址。别的一个服务器或许装备了多个SCSI操控器,然后就或许有多条SCSI总线。因而,操作体系用一个三元描绘标识一个SCSI方针:总线/方针设备/逻辑单元号

传统的SCSI适配卡衔接单个总线,相应的只具有一个总线号。在引进存储网络之后,每个光纤通道HBA(Host Bus Adapter)或iSCSI(Internet SCSI)网卡也都衔接一条总线,分配一个总线号,在他们之间依托不同的总线号加以区别。

方针设备标识在一条总线菊花链上的单个设备,逻辑单元号则标明一个方针设备中的一个子设备。一般,单个物理磁盘只具有一个逻辑单元号,而RAID磁盘阵列尽管也只需一个方针设备,但却有多个逻辑单元号。

在一条总线上各个设备具有不同的优先级。起先的SCSI协议只答应有8个方针设备ID,规则ID7具有最高权限。后来版别的SCSI协议答应有16个不同的方针设备ID。出于兼容性的考虑,从7到0的方针设备仍然具有高优先级,而从15到8的设备ID具有较低优先级。

设备(服务器和存储设备)在能够经过SCSI总线发送数据之前有必要预订总线(裁定)。在总线的裁定期间,具有最高优先权的方针设备总能取胜。在总线负载重的情况下,这或许导致具有较低优先级的设备总是不被答应发送数据,因而,SCSI的裁定进程是不平等的。

出于装备和办理的需求,操作体系运用总线号/方针设备ID/逻辑单元号三元组来标识一个SCSI方针,但是用户和运用程序所看到的仅仅一个逻辑标识符,如D盘。因而在总线号/方针设备ID/逻辑单元号和逻辑盘符之间存在着一个映射,供给在物理设备和上层文件体系之间不同标明方法的转化。

3.4交互方法

SCSI协议把建议方(主机)和方针方(例如磁盘)之间的交互界说为客户/服务器方法。运用客户坐落主机中,代表上层运用程序、文件体系和操作体系的I/0恳求。设备服务器坐落方针设备中,它呼应客户的恳求。恳求和呼应经过某种方法的基层散布设备进行传输,该散布设备称作散布子体系,能够是并行电缆,也能够是光纤通道协议或iSCSI。

一个建议方或许会有多个恳求一起发给方针方。多个恳求发生运用客户的多个实例,然后在设备服务器上发生多个业务。

建议方在其发往一个或多个方针的多个恳求正在被相关的设备服务器处理的时分,需求能够履行上下文交流(ContextSwitching),即具有从一个使命快速切换到另一个使命的才能。例如,作为一个建议方的文件服务器能够向一个方针方发送一个写恳求。‘当该文件服务器在等候这个方针方预备好缓冲区以接纳数据的那段时刻内,能够切换到另一个挂起的使命,例如处理现已抵达的对从前的另一个恳求的呼应,然后进步运转功率,最大化吞吐量。假如SCSI使命只能顺次串行地履行,那么等候每个写或读恳求完结的时刻就都被白白地浪费了。一般来说,上下文交流是由主机适配卡完结的,能够是并行SCSI,也能够是光纤通道或iSCSI。

因为SCSI体系结构模型是层次化的,因而它对主机I/0恳求的处理能够独立于底层的分发子体系。一个运用客户主机能够处理触及不同品种的方针设备的I/0操作,例如一个运用服务器能够有直接附接的SCSI方针方,也能够有经过千兆位速率接口衔接的串行SCSI方针方。

在SCSI建议方和方针方之间读写数据是经过SCSI指令、分发恳求、分发操作和呼应来完结的。SCSI指令和参数在CDB(CommandDescriptorBlock,指令描绘块)中指定。作为交互示例,在履行对磁盘的SCSI写进程时,在建议方(例如主机总线适配器)创立一个运用客户,该客户发送SCSI指令恳求给方针方,令其预备缓冲区以接纳数据。方针设备服务器在其缓冲区预备好之后,发送一个数据分发操作恳求进行呼应。接着,发送方就履行分发操作,开端发送数据块。依靠于底层的分发子体系,数据块或许按字节并行传输(例如并行SCSI总线),也或许以分段成帧的方法串行传输(例如光纤通道或iSCSI)。

从运用程序或操作体系的视点看,写操作仅仅一个业务。但实践上,对应一个写操作,发送方和方针方或许要进行屡次的分发恳求和分发操作的交互,才干把指令恳求的一切数据都发送给方针方。

在一次读操作中,SCSI指令块遵从相反的数据分发恳求和承认序列,但是因为是建议方宣布读指令,所以指令就假定自己现已预备好了缓冲区以接纳第1批数据块。在读写业务的每个阶段所发送的数据块数量,由建议方和方针方依据对方的缓冲区容量洽谈决议。例如,高功用磁盘阵列一般都能供给较大的缓冲区,能够完结大规模的数据传送,然后进步了产品功用。

3.5SCSI总线信号

SCSI在物理信号的基础上界说了一组总线信号。这些信号可划分为数据信号和操控信号两类。它们都是二进制信号,而且只需“真”和“伪”两个安稳状况。其间有指示总线现已被占用的“BSY”信号,有铲除偏从头设置SCSI总线的“RST”信号等。

下面临这些信号的称号和功用逐个进行介绍。

1.BSY(Busy,忙)信号

该信号是“或态”信号,标明现已有设备占用总线。

2.SEL(Select,挑选)信号

该信号是“或态”信号,由建议方用以挑选方针方,或许由方针方用以从头挑选建议方。

3.C/D(Control/Data,操控/数据)信号

该信号由方针方驱动,标明在数据总线上传送的是数据信号仍是操控信号。该信号处于真状况时标明操控信号。

4.I/O(Input/Output,输入输出)信号

该信号由方针方驱动,操控数据在数据总线上的移动方向。当I/0信号为“真”时标明是对建议方的输入,数据由方针方向建议方传送;若I/0信号为“伪”,则标明数据由建议方向方针方传送。该信号也被用来区别挑选和重选阶段。

5.MSG(Message,通讯)信号

该信号由方针方驱动,标明总线处于信息传送的通讯阶段。

6.REQ(Request,恳求)信号

该信号由方针方驱动,标明有信息传输恳求,恳求一个REQ/ACK数据传送握手进程。

7.ACK(Acknowledge,应对)信号

该信号由建议方驱动,标明对REQ信号的应对。

8.ATN(Attention,提示)信号

该信号由建议方驱动,指示一个提示信息,标明建议方有一个音讯要给方针方发送。

9.RST(Reset,重置)信号

该信号是“或态”信号,标明一个硬件重置状况,指示总线进入从头设置阶段,铲除一切运用总线的SCSI设备。

10.DB(DataBus,数据总线)信号

DB信号有两种,分别是用于8位数据总线的DB(7-0,P)和用于16位数据总线的DB(l5~O,P)。这些信号都用于传送信息的值,它们包含数据比特信号,加上奇偶查验比特信号。

因为在SCSI总线上挂有多个设备,一些操控信号或许一起被多个SCSI设备驱动。这些信号被称作“或态”信号。关于“或态”信号,SCSI设备不会自动将其驱动成“伪”,而是依靠总线终接器,在总线上的一切设备都没有驱动该信号时将其设置成“伪。”只需有1个或多个设备驱动该信号,该信号便是“真”。与“或态”信号相对照的是“非或态”信号。关于“非或态”信号,SCSI设备能够将其驱动成“伪”。

3.6SCSI总线的运用阶段

依据对总线不同的运用,能够把SCSI总线状况划分红8个不同的阶段:闲暇阶段,裁定阶段,挑选阶段,重选阶段,指令阶段,数据阶段,状况阶段和通讯阶段。

其间指令阶段,数据阶段,状况阶段和通讯阶段都规划信息在总线的传送,所以又称为:信息传送阶段。

除了闲暇阶段外,其他阶段的总线都被SCSI设备占用。

3.6.1.总线闲暇阶段

总线闲暇标明没有一个设备在运用SCSI总线,也标明在此状况下,SCSI设备假如需求,能够运用总线。SCSI设备需求在总线上的SEL信号和BSY信号都是“伪”之后,才能够检测总线是否处于闲暇状况。

作为比方,SCSI总线或许在下列情况下进入闲暇状况:

1.RST信号被设置;

2.不成功的总线挑选或重选;

3.方针设备免除衔接;

4.方针设备指令完结。

一旦一个SCSI设备确认总线处于闲暇阶段,它就能够恳求总线裁定,然后进入裁定阶段。

3.6.2.总线裁定阶段

SCSI总线上的设备有必要先取得总线衔接权,然后才能够进行其他的操作。在默许条件下,看似挂在总线上的设备在逻辑上是与总线断开的,没有参加总线上的活动。SCSI设备只需在需求进行数据传输和设备状况陈述时才会恳求总线衔接权。SCSI设备一旦得到了总线衔接权,就将在建议方和方针方之间构成一个物理衔接的通道,然后就能够进行数据传输。

一般情况下,总线的获取与对方针方的挑选都由建议方完结。为了愈加高效地运用总线,在某些情况下,例如在有较长时刻的CPU处理等候或设备存取等候时,需求开释总线以供其他设备运用。在等候的相关使命完结后,再从头进行总线裁定和衔接权获取操作,以持续进行暂停的作业。因而,有时方针方也能够履行总线操作和衔接权获取操作,精确地讲,是再获取操作。

SCSI总线上的设备的优先级是由它的地址即SCSI ID决议的。在窄SCSI中的ID规模是0-7,对应的优先级是从18。在宽SCSI中的ID规模是O~l5,其间对应IDO~7的优先级是从9到16递加,而对应ID8~l5的优先级是从18递加。在这里,咱们用较大的数值标明较高的优先级,因而,ID7具有最高优先级。在窄SCSI中,ID 0具有最低优先级;在宽SCSI中,ID8具有最低优先级。

SCSI总线上的ID数目是与SCSI数据总线宽度共同的,因而,窄SCSI有8个ID,宽SCSI有16个ID。在窄SCSI中的8根数据线的编号是从0到7,在宽SCSI中的16根数据线的编号是从0到15。风趣的是,具有某个编号的数据线上的信号,还被用来标明具有对应号码IDSCSI设备是否在履行挑选或相关操作。例如当数据总线中的数据线DB(2)在某个特定的阶段被驱动成真时,就能够标明其ID为2的设备现已在总线上履行了挑选或相关操作。

在SCSI域中,主机是存储设备的首要运用者,且对存储的呼应要求较高,因而一般主机的优先级最高,其分配的ID值也最大,在窄SCSI中是ID7,在宽SCSI中是IDl5。

总线裁定便是在或许一起有多个设备恳求的情况下,终究只给予其间的一个SCSI设备总线操控权的进程。SCSI设备在检测到“总线闲暇”并等候一个时拖延即能够把总线置成BSY,并把与它的SCSIID对应的数据线信号置为“真”,开端总线裁定恳求。

在等候1个时拖延,该SCSI设备需检测在数据总线上是否有更高优先级的SCSIID也为“真”。假如总线上确有更高优先级的设备在进行总线恳求,则该SCSI设备不再置BSY和对应的数据线为“真”。抛弃总线裁定恳求,直到下一次“总线闲暇”;不然,该设备就取得了总线操控权,并由该设备把SEL信号置为“真”。一起,总线上的其他SCSI设备则检测到SEL信号为“真”后,不再置BSY信号和对应的数据线为“真”,抛弃总线裁定恳求。为了确保确完结已取得了总线操控权,该设备在置SEL信号为“真”后、传送其他信号前,需求有必定的时延。

在总线裁定阶段结束时,总线上有BSY、SEL和与取得总线的SCSI设备的ID,其对应的数据线的信号为“真”。

3.6.3.挑选阶段

在挑选阶段,得到总线运用权的SCSI设备在总线上挑选方针设备,以便随后能够向该方针设各发送比方读和写这样的指令。这个阶段首要是完结对具有特定SCSIID的设备的挑选,其相关协议的界说首要是在SCSI体系结构的互连层。需求留意的是,逻辑单元号LUN的寻址是逻辑单元经过SCSI传输层协议完结的,不在互连层。与LUN编址相关的协议在传输协议层描绘。

赢得裁定的SCSI设备在把BSY和SEL信号置成“真”,经过一小段时拖延,即可进入挑选阶段。作为建议方,赢得裁定的SCSI设备不能够把1/0信号置成“真”。在此阶段,建议方需求把与自己的SCSIID对应的数据线的信号和对应所要挑选的方针设备的SCSIID的数据线的信号置成“真”,经过一小段时延,再把BSY信号置成“伪”,然后等候方针方的呼应。

例如,SCSI ID为6的主机把对应自己的ID的数据线DB(6)和对应方针设备的ID(=6)的数据线DB(0)置成“真”后,数据总线上信号值的状况将如下所示。

DS(0)DS(1)DS(2)DS(3)DS(4)DS(5)DS(6)DS(7)

10000010

此刻,只需两个数据线的信号值是“真”。假如有多于两个的数据线为“真”,则方针方以为有误。方针方在SEL和对应它的ID的数据线的信号为“真”而且BSY和I/0信号为“伪”的情况下,就能够确认它自己现已被选为方针设备。此刻,方针方设备应该从头把BSY信号置成“真”。建议方在检测到BSY为“真”的信号后,就把SEL信号置成“伪”。特别需求留意的是,在该阶段结束时,BSY信号是由方针方置位的。

3.6.4.重选阶段

SCSI方针设备忙于处理其内部业务(一般是关于履行对存储数据的读或写操作)期间,它能够在等候操作(比方把存储在设备中的数据读入缓冲区或把暂存在缓冲区的数据写入缓冲区)完结时开释总线供其他设备运用,并在操作完结后从头恳求对总线的运用权。因而,重选阶段也发生在“总线裁定阶段”之后。但与挑选阶段不同,重选阶段由方针方发动,从头树立由发送方发动成功但被方针方挂断的衔接。

在方针设备开释了总线之后,BSY和SEL信号处于被置成“真”的状况。此刻日标设备经过把I/0信号置成“真”使自己成为赢得对总线运用权的一方。在重选阶段,方针方也需求把与自已的SCSIID对应的数据线的信号和对应发送方设备的SCSIID的数据线的信号置成“真”,经过一段短的时延,再把BSY信号置成“伪”,然后等候建议方的呼应。

建议方在SEL、I/0和对应它的ID的数据线的信号为“真”而且BSY为“伪”的情况下,就能够确认它自己现已被重选。被重选的建议方能够经过检查数据总线来验证重迭的方针方的SCSIID。然后,建议方设各从头把BSY信号置成“真”。方针方在检测到BSY为“真”的信号后,它也履行把BSY驱动成“真”的操作,并把SEL信号置成“伪”。

被重选的建议方在检测到SEL信号为“伪”后,它就把BSY置成“伪”,而方针设备则持续把BSY设置成“真”,直到它抛弃对总线的运用权停止。这样,在该阶段结束时,信号的状况与挑选阶段相同,也是由方针方设置的BSY信号。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/233385.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部