USB Mass Storage Device Class
USB Mass Storage Device Class
Ricardo Vallejos
Rodrigo Saldívar
Microsoft Windows………………………………………………………….………………………………… 5
Mac OS………………………………………………………….…………………………………………………… 6
Unix like………………………………………………………….…………………………………………………. 6
Game Consoles………………………………………………………….…………………………………….… 6
Graphing Calculator…………………………………………………………………………………………… 6
Device Access………………………………………………………….………………………………………… 7
Complications………………………………………………………….………………………………………… 8
Flash-based devices………………………………………………………….…………………………..…… 8
Conclusion………………………………………………………….……………………………………………… 10
Introduction
Here we present a device widely used today, the USB mass storage device; makes no
more than 5 years these devices were still unknown to many, today, we can hardly say
that we did not see one, for its practicality and effectiveness is quickly became a
"friend" of all those who manage computer data, we hope our work be from your total
satisfaction, we start here...
USB mass storage device class
The USB mass storage device class or USB MSC or UMS 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.
A USB flash drive like this one, will typically implement the USB mass storage device
class.
Some of the devices which are connected to computers via this standard are:
Devices which support this standard are referred to as MSC (Mass Storage Class)
devices. While MSC is the official abbreviation, UMS (Universal Mass Storage) has
become common in on-line jargon.
Most current mainstream operating systems include support for USB mass storage
devices, although support on older systems is available through patches.
Microsoft Windows
Windows 95 OSR2.1, an update to the operating system, featured very limited support
for USB. During that time, no generic USB mass storage driver was produced by
Microsoft, even for Windows 98. This meant that a device-specific driver was needed
for each type of USB storage device. Today, generic drivers which support USB flash
drives even in Windows 98 are available as free downloads. By 2000, the problem was
almost solved. Products designed for Windows Me and Windows 2000 (where a
specific driver was required only for rare devices) are only fully corrected in
subsequent OSes. On Windows Server 2003, however, a drive letter has to be assigned
to it in order to access it. This can be done in Disk Management (under Computer
Management (local) | Storage | Disk Management).
There is no native (supplied by Microsoft) support for USB in Windows NT, earlier
versions of Windows, or MS-DOS, although some third-party solutions exist for each
OS. A third party driver for Windows 98 and Windows 98SE is also now available. There
is also a USB UMS driver for Windows NT 4.FreeDOS supports USB mass storage as
ASPI devices.
Windows Mobile supports accessing of the most USB mass storage devices formatted
with FAT on devices with USB Host, although portable devices typically cannot provide
enough power for disk enclosures containing hard drives (a 2.5" hard drive typically
requires the maximum 2.5 W provided by the USB specification). On the other way
around, Windows Mobile devices can not show their file systems as a mass storage
device unless the device implementer explicitly decides to add such functionality.
However, third party applications exist to add MSC emulation to most WM devices
(commercial "Softick CardExport" and free "WM5torage"). Generally only memory
cards can be exported, and not internal storage memory, due to the complications
outlined below.
Mac OS
Apple Computer's Mac OS 8.5.1 supports USB mass storage through an optional driver.
Mac OS 9 and Mac OS X support USB mass storage natively.
Unix-like
The Linux kernel has supported USB mass storage devices via a generic driver since
kernel version 2.4 (year 2001), and a backport to kernel 2.2 has also been made.
Solaris also supports devices since the 2.8 release and up (year 1998), NetBSD since
the 1.5 release and up (year 2000), FreeBSD since the 4.0 release and up (year 2000),
and OpenBSD since the 2.7 release and up (year 2000).
Game consoles
The Xbox 360 and PlayStation 3 support most mass storage devices.
Graphing Calculators
Independent developers have released drivers for the TI-84 Plus and TI-84 Plus Silver
Edition in order to access USB mass storage devices. usb8x contains the driver for this
access, while msd8x handles the user interface.
Device access
A USB Card reader like this one, will typically implement the USB mass storage device
class.
The USB mass storage specification does not require any particular file system to be
used on conforming devices. Instead, it provides a simple interface to read and write
sectors of data—much like the low-level interface used to access any hard drive—using
the "SCSI transparent command set." Operating systems may treat the USB drive like a
hard drive, and can format it with any file system they like.
Because of its ubiquity and relative simplicity, the most common file system on
embedded devices such as USB flash drives, cameras, or digital audio players is
Microsoft's FAT or FAT32 file system with (optional) support for long names. Large
USB-based hard disks may come formatted with NTFS, which is much less supported
outside Microsoft Windows. However, a keydrive or any other device may be
formatted using another filesystem (for example HFS Plus on an Apple Macintosh, or
Ext2 under Linux, or Unix File System under Solaris or BSD). Of course, this choice may
limit other operating systems' ability to access the contents of the device.
In cameras, MP3 players, and similar gadgets which must access the file system
independently from an external host, the FAT filesystem is typically preferred by
device manufacturers.
Complications of the mass-storage device class
The mass storage interface is an attractive option for many devices, such as cameras
and media players, which are nonetheless capable of more functionality than being
simple data repositories. By presenting themselves as simple datastores, these devices
can take advantage of the high degree of support for the USB mass-storage device
class in current operating systems' USB driver stacks and allow easy read and write
access to their internal memories. The downside of doing so is that it prevents the
device from easily presenting its actual functional behavior across the USB interface
too. For example, the makers of a digital still camera would also like it to implement
the USB still-image device class, allowing it to be controlled by image capture software.
Some USB digital cameras feature a switch allowing them to appear either as a mass-
storage device or as a still-picture device (PictBridge or PTP), but they cannot be both
at the same time because file system layers in operating systems usually assume that
they are the only user. As a result of this, the PTP implementation in the device would
be unable to change the underlying filesystem without making the host's operating
system's notion of the changed sectors inconsistent.
Flash-based devices
Disk file systems were not devised with flash memory in mind. Flash-specific concerns
like limited number of writes per cell can be affected by a write-heavy file system,
causing flash memory manufacturers to reserve about 5 percent of each medium's
capacity for wear leveling. On the other hand, issues such as fragmentation or
contiguity which affect magnetic disk performance are irrelevant in flash, because they
impose no appreciable I/O seeking delays. However, fragmentation may lead to
reduced performance with file systems that use extents.
Many modern hard drives support additional advanced commands, such as Native
Command Queuing, which may increase performance, and S.M.A.R.T., which allows a
computer to measure various indicators of drive reliability. These exist as extensions to
the basic low-level command sets used by hard drives, such as SCSI, SATA, or PATA.
These features do not work when hard drives are encapsulated in a disk enclosure
supporting the USB mass storage interface. USB mass storage provides a generic
interface which only provides basic read/write commands, as outlined above. This
works perfectly well for basic data transfer using hard drive-based devices, however it
means that there is no simple way to send advanced, device-specific commands to USB
mass storage devices (although devices may create their own communication
protocols over the USB-standard "control interface").
The new eSATA standard for external drives promises to address this issue, since it
extends the internal SATA bus to external disks without any intermediate translation
layer.
Conclusion
We conclude that after learning a bit more with these devices we have nothing more
to comment which our way to transport data (without a network) between computers
through these beautiful devices became immensely easier, the way we see an archive
of more than 1.44 Mb is no longer “scare”, with devices of the size of a little finger we
can carry more than 100 Gb, hoping our information has been useful, is all.