USB Mass Storage
Overview
The Universal Serial Bus (USB) is a communications architecture that gives a
PC the ability to interconnect
a variety of devices via a simple four-wire cable. The
USB is actually a two-wire serial communication link
that runs at 1.5, 12, or 480 megabits (Mbs) per second. USB protocols can configure devices at startup or
when they are plugged in at run time.
Devices in a given class can be broken into subclasses. These divisions allow software
to search the bus and
select all of the devices that it can control. Each device can have one or more configurations that define how
the device functions. A device that can function in several different ways will have a configuration for each
function. A configuration is a collection of interfaces. An interface specifies which hardware in the device
will interact with the USB. Each of these pieces of hardware
is called an endpoint. Therefore, an interface is
a collection of endpoints (for each alternate setting of the interface). The
USB Device Class Definitions
define the default configurations, interfaces, alternate settings, and endpoints that a device in a given class
or subclass should provide.
Spec
A Mass Storage USB
Class/Function Driver is a USB class/function driver that supports the USB Mass Storage Class Specification.
This specification addresses the Control/Bulk/Interrupt (CBI) architecture, in which the Control, Bulk
In/Out and Interrupt endpoints are used for communication between the
host stacks
and device stacks . That is, the
Control endpoint is used to transport command blocks to the device via a class-specific request, as well as
to transport standard USB requests.
The Bulk In and Bulk Out endpoints are used to transport data between
the host and the device. The Interrupt endpoint is used to signal command completion.
The host and mass storage devices
communicate over the USB using the protocols described by this
specification. These protocols are based on the command/data/status style of communication. That is, the
protocols transport command blocks from the host to the device; transport data between the host and device;
transport “status” of the command block from the device to the host; and allow the host to reset the device.
Mass storage devices
shall accept two types of resets and three types of command blocks.
The two types of resets are:
- Port Reset
- Command Block Reset
The three types of command blocks are:
- Non-Data
- Data-In
- Data-Out
The three types of command blocks, with their respective protocols, including status and error reporting, are
covered below. The host decides which protocol to try. The device then decides whether to cooperate. The
“status” of a command block is given by the device and is one of In-Progress, Passed, or Failed.
This specification does not define how the device responds if the host fails to comply with the requirements
of this specification (often expressed using the phrase “ the host shall…” ). A host that discovers it has
violated protocol inadvertently should reset the device.
Implementation
The Mass Storage USB Class Driver supports the host-side communication with mass storage USB peripherals,
while the Mass Storage USB Function Driver provides the required device-side USB
mass storage implementation for such peripherals.
Mass Storage
The USB Mass Storage device
Class Working Group is open to any DWG members and addresses issues related to using hard drives, flash media, optical devices and other types of mass storage devices over the Universal Serial Bus.
Lockable Mass Storage
Lockable Mass Storage is tasked with creating a specification that allows users to lock their mass storage device so
that the data stored on it will not be vulnerable in the event the device is lost or stolen.
This feature specification extends the USB Mass Storage class to allow hosts and devices to lock and unlock storage,
without breaking the legacy host behavior that exists today and without resorting to vendor-specific descriptors and requests.
DWG Members may join this group only after executing the IP Agreement corresponding to the specification under development by this
group.
Mass Storage Compliance Test
Mass Storage Compliance is an open sub-group of the Mass Storage Working Group and handles distribution of and feedback concerning
the Mass Storage Compliance testing software integrated into USBCV.
Engineering releases of the Compliance Test software will be available here for testing before public release. Interim releases and
enhancements may also be available here between public releases.
Note that these non-public releases are subject to their own license agreement. The license agreement is provided as part of the .
zip file containing the software. Be sure to read the terms of that agreement.
The sub-group mailing list can be used for feedback and technical questions regarding the software, and discussion of how the software
implements the Compliance Test specification, as well as discussion of the specification itself.
Resources
The USB mass storage device class is a set of computing communications protocols defined by the USB
Implementers Forum that run on the Universal Serial Bus. The standard provides an interface to a variety of
storage devices.
- Jan Axelson's book & article Usb Mass Storage -A mass-storage device
can provide access to data for just about any purpose. Every time you load an application or save a file on a PC,
you’re using a mass-storage device. A computer’s hard drive is a mass-storage device, as are flash, CD, and DVD drives.
Devices with dedicated functions–data loggers, robots, and other embedded systems
–can use mass storage as well
Every USb mass-storage device contains a microcontroller, microprocessor, or other intelligent hardware that knows how to access the contents of the storage media.
- Installing USB Mass Storage Devices on Windows 98-Generic driver download for Windows 98SE to allow USB mass storage devices to work...Read more
- USB Mass Storage Host and Device-provide a complete embedded solution for host and device communication with mass storage USB devices,
such as disks, CD drives, DVD drives, thumb drives, floppy drives,
zip drives, CDROMs, etc.
- Mass Storage device class specification-on the site of the USB Implementers Forum.
- Mass Storage USB Class Driver-Device Stack Support for composite USB devices, to allow several USB Mass Storage Interfaces
(multiple pipes for parallel data transfers and higher bandwidth) on the same embedded device, as well as,
support for general composite devices (e.g. CDC-ACM + HID + Mass Storage)
- Microsoft USB Storage-FAQ
- How to know mass storage is safely removed at vista-For XP, after click icon "safely removed", host will stop sending
any package so device goes to suspend mode...Read more
For further details and to contribute information relevant to our website, please Contact us