System information

5.1 USB Device Emulation
command set is the basic unit of SCSI communication. It consists of a one byte operation
code followed by five or more bytes containing command-specific parameters. Figure 5.5
illustrates the process of encapsulating SCSI commands. The SCSI commands are sent
over the bulk out pipe. Every SCSI command is preceded by a Command Block Wrapper
(CBW) [72, 70]. It is a packet containing a command block and additional information. A
command block specifies a standardized command set. Possible command sets are: RBC
7
,
MMC-2
8
, UFI
9
or SCSI transparent set for example.
SCSI
Command
CBW
USB
Controller
Host
Computer
SCSI
Response
CSW
Bulk Out
Bulk In
Figure 5.5: USB commands encapsulate SCSI commands. The CBW and CSW are the USB
wrapper.
The CHARM USB mass storage device uses the SCSI command set. This is the common
command set for new designs of mass storage devices. The response of a command is sent
over the bulk out pipe. It ends with a Command Status Wrapper (CSW) [70]. The CSW
indicates the success or failure of a command.
Table 5.2 gives a brief summary of the processing entities of the MSBO
10
device. The
related pipes of the SCSI commands are the bulk pipes.
ARM CPU USB Controller
Tasks Processing of SCSI commands Processing of:
USB Standard Requests
USB Class Requests
Related Pipes Bulk In/Out Pipe Control Pipe
Table 5.2: Processing entities of the MSBO device.
7
Reduced Block Commands, a subset of SCSI commands.
8
Multimedia Commands, a command set for CD and DVD device.
9
Command set, specialized for floppy disk devices.
10
Mass Storage Bulk Only [72].
71