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-On Operation Co Logical Block Address:逻辑块地址,对U盘而言应是扇区.前面已经讲过:通用海量存储设备是一个基于块/扇区存储的设备,因此在SCSI中要提供这个参数是很显然的. transfer length:为要传送的扇区数 SCSI中直接存取类型的存储介质的传输命令有很多,如: INQUIRY:其操作码为12H Test Unit Ready:其操作码为00H Format Unit:其操作码为04H
|
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于U盘驱动学习(二):Bulk-only协议的所有评论