usb Mass Strorage分析(2)

USB MASS Storage驱动分层很多层次:

1. 从最简单的“ 物理层”开始,先介绍一下MSC(Mass Storage Class) Device 与USB Host的结构:

usb Mass Strorage分析(2)_第1张图片


上图中,Storage Media,就是我们例子中的Nand Flash芯片。

而例子中的那个控制芯片,是Microcontroller with embedded USB device controller 和Media Controller的集合。

而上图中的USB MSC(Mass Storage Class) Device,从应用领域来说,可以分为以下几类:

usb Mass Strorage分析(2)_第2张图片

而像上述例子中那样的常用的U盘,属于上图中的Flash Drive,即,物理上存储数据的介质用的是Flash Memory,比如例子中的Nand Flash芯片,对应的,Media Controller,也就是Nand Flash的Controller,负责从Nand Flash芯片中读写数据。

USB MSC设备中的固件(firmware)或者硬件(hardware),必须要实现下面这些功能:

  1. 检测和响应通用的USB Request和USB总线上的事件。
  2. 检测和响应来自USB设备的关于信息或者动作的USB Mass Storage Request。
  3. 检测和响应,从USB Transfer中获得的SCSI Command。这些业界标准的命令,是用来获得状态信息,控制设备操作,向存储介质块中读取(read block)和写入(write block)数据的。

另外,设备如果想要向存储介质中,创建/读取/写入,文件/文件夹的话,那么就涉及到文件系统,还要实现对应的文件系统。

2. Mass Storage的框架如下图:

usb Mass Strorage分析(2)_第3张图片

上面一篇文章介绍了SCSI的注册,在SCSI之上还有USB Mass Storage Protocal.

除了本身USB的协议之外,Mass Storage作为其中USB的一种,USB Mass Storage自己又有相关的协议:

  • Mass Storage Class Specification Overview 1.4
  • Mass Storage Bulk Only 1.0
  • Mass Storage Control/Bulk/Interrupt (CBI) Specification 1.1
  • Mass Storage UFI Command Specification 1.0
  • Mass Storage Bootability Specification 1.0
  • Lockable Mass Storage Specification 1.0 and Adopters Agreement - Lockable Mass Storage IP Disclosure
  • USB Attached SCSI Protocol (UASP) v1.0 and Adopters Agreement

你可能感兴趣的:(usb Mass Strorage分析(2))