SCSI - 协议中的重要概念

       SCSI协议发展至SCSI-3,因其庞大的体量而不再被囊括在一个协议规范中,其中SCSI-3 Architecture Model(SAM)规范描述了SCSI-3协议的体系结构和概念模型。

       该规范使用基于UML的抽象模型来阐述SCSI协议中各部分部件的职责及其之间的交互,其中也定义了许多的概念(在规范中被称为 “类”,用于对各部分的属性,接口和交互行为进行封装描述),这些概念中,有些可以在应用实现中对应到具体的物理实体或者物理实体的一部分,而有些可能对应不到任何物理实体。

       以下内容是对各个概念在规范中的定义做一个总结:

  • Task Manager

        Task Manager是一种机制,它允许SCSI总线上的设备(如主机适配器、磁盘驱动器、磁带机等)可以在执行一个SCSI命令时,暂停该命令的执行,执行其他任务(如优先级更高的命令),然后再回到原来的命令继续执行。

        具体来说,当一个设备收到一个SCSI命令时,它可以将该命令的控制信息传递给Task Manager,然后Task Manager会将该命令的执行挂起。在这个命令被执行期间,该设备可以继续执行其他的命令,而不必等待原来的命令执行完毕。一旦设备完成了其他任务,Task Manager会重新激活原来被挂起的命令,让其继续执行。

        Task Manager机制的好处在于,它使设备在接收到的主机命令,可以不需要完全按照串行的顺序执行,这种机制提高了SCSI总线的效率和灵活性。如果一个设备需要执行一个耗时很长的命令,而在此期间有其他的命令需要执行,Task Manager可以暂停该命令的执行,让设备去执行其他命令,从而避免了SCSI总线的空闲时间,提高了总线的利用率。需要注意的是,Task Manager只是一种机制,具体的实现方式可能因不同厂商和不同设备而有所不同。同时,由于Task Manager会在设备之间传递控制信息,因此在实现时需要特别注意安全问题,以避免潜在的安全风险。

  • Device Server

        Device Server是指SCSI总线上响应和执行SCSI命令的设备,与Initiator相对应。Device Server可以是各种不同类型的设备,包括磁盘驱动器、磁带机、光盘驱动器、打印机等等。Device Server需要支持多种命令,包括读写数据、控制设备、查询设备信息等等。它还需要支持SCSI总线上的一些重要功能,如任务管理、错误处理和数据传输等等。另外,Device Server并不是一个独立的实体,而是作为一种逻辑设备存在于SCSI总线上。在实际应用中,Device Server可能由一台或多台实际设备组成,这些设备可以是同一类型或不同类型的设备,但它们都共享同一个SCSI地址,并且遵守SCSI-3协议中的规定。

        在SCSI总线中,每个设备都必须具有唯一的SCSI ID,范围通常是从0到7或者从0到15,具体取决于SCSI总线的类型和设置,以便其他设备可以通过该ID来寻址该设备进行通信。因此,一个Device Server需要且通常只对应一个唯一的SCSI ID,但在某些情况下,可能会有多个设备共享同一个SCSI ID(例如通过SCSI端口复用技术实现),这时需要采用其他方式来区分这些设备。

  • Task router

        Task Router是一种SCSI设备,它的主要功能是将收到的SCSI命令路由到正确的目标设备上。与一般的SCSI设备不同,Task Router并不执行实际的数据处理或存储操作,它只负责将SCSI命令路由到正确的设备上。当一个SCSI命令被发送到总线上时,Task Router会检查该命令的目标设备地址,然后将该命令转发给相应的设备。如果目标设备不可用或无法响应,Task Router还可以将该命令重定向到备用设备上,以确保命令的顺利执行。

        Task Router可以是一个独立的SCSI设备,也可以是集成在其他设备中的功能。在实际应用中,Task Router通常与SCSI总线的控制器一起使用,以提供更高效的命令路由和数据传输功能。 另外,Task Router并不是SCSI-3协议中的必需组件,但它可以显著提高SCSI总线的性能和可靠性,特别是在多设备和高负载环境下。

  • Logical unit

        在SCSI-3标准中,定义了多种类型的逻辑单元(Logical Unit),也称为逻辑设备。逻辑单元是指在SCSI总线上作为独立设备进行寻址和控制的逻辑存储单元,它可以是物理设备上的一个分区、卷或虚拟磁盘等。每个逻辑单元都有一个唯一的SCSI地址,用于在SCSI总线上与其他设备进行通信和交互。

根据SCSI-3标准中的定义,逻辑单元可以分为以下几种类型:

  1. 直接访问块设备 (Direct Access Block Device,DAB):适用于可随机访问块的设备,如硬盘驱动器、光盘驱动器等。

  2. 顺序访问块设备 (Sequential Access Block Device,SAB):适用于以顺序方式访问块的设备,如磁带机。

  3. 块设备/块存储协议 (Block Device/Block Storage Protocol,BD/BS):适用于能够直接与SCSI总线上的设备进行数据传输的存储设备,如存储区域网络 (SAN) 和网络附加存储器 (NAS)。

  4. 磁盘阵列 (RAID):适用于基于磁盘阵列技术的存储设备。

  5. 其他设备类型 (Other Device Types):包括打印机、扫描仪、光学存储器等其他类型的设备。

  • Well known logical unit(WELL KNOWN LUN)

        指特定的逻辑单元号(Logical Unit Number, LUN),用于标识和访问一些标准化的、预定义的逻辑单元。这些逻辑单元提供特定的管理和控制功能,供SCSI设备和主机系统使用。WELL KNOWN LUN的主要目的是为了提供统一的接口和功能,使得不同的SCSI设备和主机系统可以通过这些逻辑单元进行标准化的交互。常见的WELL KNOWN LUN包括:

  1. LUN 0: 通常用于访问设备的控制器或第一个逻辑单元。大多数SCSI设备会在LUN 0上提供基本的控制和配置功能。

  2. LUN 1至LUN 7: 在某些复杂的设备中,这些LUN可能用于不同的子设备或逻辑分区,但具体用法会依设备制造商和具体实现而不同。

具体的WELL KNOWN LUN包括:

  • LUN 0xC0(192): 访问设备服务器的管理和控制功能的逻辑单元。

  • LUN 0xC1(193): 访问主机信息的逻辑单元。

  • LUN 0xC2(194): 访问设备信息的逻辑单元。

  • LUN 0xC3(195): 访问特殊功能和诊断的逻辑单元。

这些WELL KNOWN LUN在不同的SCSI标准和设备实现中可能会有所不同,但其核心思想是提供一组标准化的接口,方便设备和系统之间的互操作和管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值