快速业务通道

U盘驱动学习(二):Bulk-only协议

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-10
本文是阅读文档《Universal Serial Bus Mass Storage Class Bulk-Only Transport》的一些笔记. u盘插入,主机得到U盘描述符后识别出U盘是支持bulk-only的海量存储设备.于是两者就通过bulk端点进行通信,主机和设备的通信过程即传输定义好的数据包的过程.主要的数据包有两个: CBW---Command Block Wrapper(命令块包) ;CSW---Command Status Wrapper(命令执行状态包) 过程如下: 1、主机发送CBW给设备,告诉设备要进行数据传输.通过bulk-out端点发送. 2、设备受到CBW包后进行解析,如果CBW包合法并且有意思的话,不合法的话,设备会中止bukl-in管道,直到主机reset.否则设备从bulk-in端点发送一个CSW包给主机,响应主机的要求. 3、主机受到CSW后同样进行解析,如果CSW不合法或无意义,则主机可能会进行reset recovery.否则便开始传输数据给U盘或从U盘传输数据. 在Bulk-Only的命令块包(CBW)中,有一段CBECB内容,它就是SCSI命令块描述符.其内容如下:
Operation Code:是SCSI命令操作代码.
Logical Block Address:逻辑块地址,对U盘而言应是扇区.前面已经讲过:通用海量存储设备是一个基于块/扇区存储的设备,因此在SCSI中要提供这个参数是很显然的.
transfer length:为要传送的扇区数
SCSI中直接存取类型的存储介质的传输命令有很多,如:
INQUIRY:其操作码为12H
Test Unit Ready:其操作码为00H
Format Unit:其操作码为04H
Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号