English
Language : 

SH7216 Datasheet, PDF (5/32 Pages) Renesas Technology Corp – USB Mass Storage Class
SH7216 Group
USB Function Module: USB Mass Storage Class
3. Overview of the USB Mass Storage Class (Bulk-Only Transport)
This section describes the USB Mass Storage Class (Bulk-Only Transport).
We hope that it will provide a convenient reference for use when developing USB storage-related systems. For more
detailed information on standards, please see (3) and (4) of the section 6 "Documents for Reference".
3.1 USB Mass Storage Class
USB Mass Storage Class is a class of standards that apply to large-scale memory (storage) devices that are connected to
a host PC and handle reading and writing of data.
In order to let the PC know that a function is in this class, a value of H'08 must be entered in the bInterface Class field
of the Interface Descriptor. Furthermore, USB Mass Storage Class must tell the host the serial number using the String
Descriptor. Unicode 000000000001 is returned in this sample program.
When transferring data between the host PC and the function, four transport methods defined by the USB are used
(control transfer, bulk transport, interrupt transfer, and isochronous transfer).
Protocol codes determine the transport method and how it is used.
In USB Mass Storage Class, there are two types of data transport protocols:
⎯ USB Mass Storage Class Bulk-Only Transport
⎯ USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport
As its name indicates, USB Mass Storage Class Bulk-Only Transport is a data transport protocol that only uses bulk
transport.
USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport is a data transport protocol that uses control transfer,
bulk transport, and interrupt transfer. CBI Transport is further subdivided into a data transport protocol that uses
interrupt transfer, and one that does not use interrupt transfer.
The sample programs provided here use USB Mass Storage Class Bulk-Only Transport as the data transport protocol.
When the host PC uses a device in order to load and save data, instructions (commands) are provided by the host PC to
the function. The function then executes those commands to load and save data. The commands sent by the host PC to
the function are defined in the form of sub-class code.
3.2 Sub-Class Code
Sub-class codes are values that indicate the command format sent from the host PC to a function by means of command
transport. There are seven types of command formats, described in table 2.
Table 2 Sub-Class Code
Sub-Class Code
H'01
H'02
H'03
H'04
H'05
H'06
Command Standards
Reduced Block Commands (RBC), T10/1240-D
Attachment Packet Interface (ATAPI) for CD-ROMs. SFF-8020i,
Multi-Media Command Set 2 (MMC-2)
Attachment Packet Interface (ATAPI) for Tape. QIC-157
USB Mass Storage Class UFI Command Specification
Attachment Packet Interface (ATAPI) for Floppies. SFF-8070i
SCSI Primary Commands –2 (SPC-2), Revision 3 or later
In order to tell the host PC the command format supported by the device, a sub-class code value must be entered in the
bINterface SubClass field of the Interface Descriptor.
The sample programs used here use a sub-class code value of H'06, which indicates the SCSI Primary Commands.
REJ06B0897-0100/Rev.1.00
July 2009
Page 5 of 32