SCSI指令格式详解

20 篇文章 0 订阅
  USB Mass Stroage Class --- Bulk Only Transport
5  命令/数据/状态
  命令、数据、状态相关的流程图如下:
          
    Host端发送的数据必须符合CBW格式(31byte,小端模式),而Mass Storage设备的应答,其格式必须符合CSW格式(13byte,小端模式)。至于中间过程传输的数据,根据不同的命令,格式也有不同地要求。
5.1.1 CBW命令块(Command Block Wrapper)
 
dCBWSignature:常数0x43425355,标识为CBW命令块。
dCBWTag: 由主机发送的CBW标签。设备应该在相关的CSW的dCSWTag以相同的值应答主机。
dCBWDataTransferLength: 在本命令执行期间,主机期望通过Bulk-In或Bulk-Out端点传输的数据长度。如果为0,则表示这之间没有数据传输。
bmCBWFlags: 定义如下
    Bit7 Direction(dCBWDataTransferLength为0时,该值无意义) :
        0= DataOut,数据从主机到设备
        1= DataIn, 数据从设备到主机
    Bit6 Obsolete 0
    Bits 5..0 Reserved 0
bCBWLUN: 表示正在发送命令字的设备的逻辑单元号(LUN)。对于支持多个LUN的设备,主机设置相对应的LUN值。否则,该值为0。
bCBWCBLength: CBWCB的有效字节长度。有效值是在1到16之间。
CBWCB: 被设备解析执行的命令块。

5.1.2 CSW状态块(Command Status Wrapper)
 
dCSWSignature:   常数0x53425355,标识为CSW状态块
dCSWTag:   取相对应的CBW的dCBWTag值。
dCSWDataResidue:实际传输的数据个数和期望要传输的数据个数之差。
bCSWStatus:命令执行情况,相关值如下:



 SCSI 格式文档下载地址:scsi指令格式及使用方法

  这里有个工具有提一下,Bus Hound 是一套专门用于电脑外设与主机数据通讯捕捉的工具,可用于捕捉USB数据传输的检测。还可用于捕捉键盘串口等的传输数据。下载地址:Bus hound 6.01 完全破解版

Mass Storage设备所使用的SCSI命令集

指令代码

指令名称

指令说明

0x00  

Test Unit Ready

查询设备是否ready

0x03

Request Sense

主机请求设备返回执行结果,及获取状态信息

0x12

Inquiry

获取设备信息

0x1A 

Mode Sense(6)

host传输参数

0x5A  

Mode Sense(10)

host传输参数

0x25

Read Capacity(10)

读取设备容量

0x28  

Read(10)

Host从设备读取数据

0x2A  

Write(10) 

Host写数据到存储设备

0x23  

Read Format Capacity

查询当前容量及可用空间 

0x15 

Mode Select(6)

允许Host对外部设备设置参数

0x55 

Mode Select(10)

允许Host对外部设备设置参数

0x1E  

Prevent/Allow Medium Removal 

禁止/允许存储介质移动

0x1B  

Start/Stop Uint

启动/停止存储单元电源(写保护)

0xA0

Report LUNs

索取设备的LUN数和LUN清单

0x2F

Verify 

在存储中验证数据

 

相关操作可以查看这两篇文章:① SCSI命令传输过程分析   ② usb_scsi之旅

  • 7
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SCSI指令系统(Small Computer System Interface,简称SCSI)是一种用于计算机和外部设备之间的通信接口标准。SCSI指令系统定义了计算机与外部设备之间的通信协议和数据交换方式。 SCSI指令系统的主要功能是允许计算机与外部设备进行高速数据传输和控制。通过SCSI接口,计算机可以与多个外部设备连接,并通过发送SCSI指令来控制这些设备的操作,如读取和写入数据、执行命令等。 SCSI指令系统具有以下特点: 1. 高速性:SCSI接口可以提供较高的数据传输速度,能够满足对数据传输速度要求较高的应用场景,如服务器和大型存储系统。 2. 可靠性:SCSI指令系统经过严格的测试和验证,具有较高的可靠性和稳定性,能够保证数据的安全传输。 3. 扩展性:SCSI接口支持多设备链路,可以连接多个外部设备,并通过SCSI控制器对这些设备进行管理和控制。 4. 兼容性:SCSI指令系统具有较好的兼容性,可以支持各种类型的外部设备,如硬盘驱动器、磁带机、光盘机等。 5. 灵活性:SCSI指令系统支持丰富的设备控制和数据传输功能,可以根据具体应用需求进行配置和调整。 总而言之,SCSI指令系统是一个功能强大、灵活性高的通信接口标准,能够满足计算机与外部设备之间高效、可靠的数据传输和控制需求,广泛应用于存储、服务器等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值