SCSI接口针脚比较多,现在大部分硬盘都是用SCSI通信,区别于很久的IDE 硬盘,但Linux USB驱动在处理U盘的时候,也会按照SCSI 命令的格式打包请求,例如逻辑簇号,读写长度等信息,但是U盘那么一个小小的地方,在USB device控制器和FLASH 之间,不可能有那么多空间布线给SCSI 用,而且主控制器很少直接拉SCSI的引脚出来,那Linux驱动中为啥要设置SCSI command?
------解决思路----------------------
是的。你可以看这篇:http://blog.csdn.net/leo_wonty/article/details/7418261
截取其中的一段话能说明问题:U盘就是遵循SCSI协议的。要知道U盘不仅仅是USB设备,它还是一种存储设备,类似硬盘,USB协议本身没有定义对存储设备操作的指令,所以需要通过SCSI来完成读写等操作
------解决思路----------------------
对的呀,比如读数据的时候,U盘固件收到命令之后读一段数据下次返回给主机就行了,主机才不管你怎么读到的呢