当前位置: 代码迷 >> 驱动开发 >> USB mass storage装置,为啥读取需要设置scsi command
  详细解决方案

USB mass storage装置,为啥读取需要设置scsi command

热度:534   发布时间:2016-04-28 09:59:45.0
USB mass storage设备,为啥读取需要设置scsi command.
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来完成读写等操作
------解决思路----------------------
引用:
Quote: 引用:

这个嘛,只是为了利用协议命令,也就是软件角度使用。从历史角度来看,有scsi设备的时候还没有usb设备。


谢谢你的解答,所以SCSI 命令的COMMAND 是由优盘的固件完成的,和硬件的SCSI 接口其实没有什么关系对吗?


对的呀,比如读数据的时候,U盘固件收到命令之后读一段数据下次返回给主机就行了,主机才不管你怎么读到的呢
  相关解决方案