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

papaofdoudou
人工智能领域新星创作者
博客专家认证
2015-03-31 08:49:29
SCSI接口针脚比较多,现在大部分硬盘都是用SCSI通信,区别于很久的IDE 硬盘,但Linux USB驱动在处理U盘的时候,也会按照SCSI 命令的格式打包请求,例如逻辑簇号,读写长度等信息,但是U盘那么一个小小的地方,在USB device控制器和FLASH 之间,不可能有那么多空间布线给SCSI 用,而且主控制器很少直接拉SCSI的引脚出来,那Linux驱动中为啥要设置SCSI command?
...全文
331 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
邓任公 2015-04-02
  • 打赏
  • 举报
回复
引用 2 楼 tugouxp 的回复:
[quote=引用 1 楼 alien75 的回复:] 这个嘛,只是为了利用协议命令,也就是软件角度使用。从历史角度来看,有scsi设备的时候还没有usb设备。
谢谢你的解答,所以SCSI 命令的COMMAND 是由优盘的固件完成的,和硬件的SCSI 接口其实没有什么关系对吗?[/quote] 对的呀,比如读数据的时候,U盘固件收到命令之后读一段数据下次返回给主机就行了,主机才不管你怎么读到的呢
alien75 2015-04-01
  • 打赏
  • 举报
回复
是的。你可以看这篇:http://blog.csdn.net/leo_wonty/article/details/7418261 截取其中的一段话能说明问题:U盘就是遵循SCSI协议的。要知道U盘不仅仅是USB设备,它还是一种存储设备,类似硬盘,USB协议本身没有定义对存储设备操作的指令,所以需要通过SCSI来完成读写等操作
papaofdoudou 2015-04-01
  • 打赏
  • 举报
回复
引用 1 楼 alien75 的回复:
这个嘛,只是为了利用协议命令,也就是软件角度使用。从历史角度来看,有scsi设备的时候还没有usb设备。
谢谢你的解答,所以SCSI 命令的COMMAND 是由优盘的固件完成的,和硬件的SCSI 接口其实没有什么关系对吗?
alien75 2015-03-31
  • 打赏
  • 举报
回复
这个嘛,只是为了利用协议命令,也就是软件角度使用。从历史角度来看,有scsi设备的时候还没有usb设备。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧