USB mass storage device class

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.

Some of the devices which are connected to computers via this standard are:
* external magnetic hard drives
* external optical drives, including CD and DVD reader and writer drives
* portable flash memory devices
* adapters bridging between standard flash memory cards and a USB connection
* digital cameras
* various digital audio players & portable media players
* Card readers
* Portable Gaming systems (Nokia N-GAGE/Sony PSP)
* personal data assistants and handheld computers
* some newer mobile phones, such as the Sony Ericsson K800 and K510, Nokia N73, Nokia E61

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.

Operating system support

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.


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).


AmigaOS supports UMASS storage devices through [ Poseidon] , a third-party USB stack which has become a de facto standard. It supports various USB device types through a modular system of Hardware Independent Device Driver (HIDD) classes. Poseidon as used in AmigaOS Classic up to version 4.0, and in the MorphOS operating system. The supposedly final AmigaOS version of the Poseidon stack is released OEM licensed with the Deneb USB card in May 2008.AmigaOS 4.0 has its own USB stack called Sirion, though it can still use Poseidon.A new USB stack called [ ANAIIS] (Another Native Amiga IO Interface Stack) is available for all Amiga platforms with Highway or Subway hardware, but does not yet support UMASS.

FAT16 and FAT32 filesystems are supported by the FAT95 filesystem.

AROS, an Open Source AmigaOS clone for Intel based PCs, does support UHCI and OHCI USB root hubs (since May 2007) but does not yet support USB mass storage class.

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

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.

Hard drive-based devices

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.

ee also

* Disk encryption software
* Media Transfer Protocol
* Picture Transfer Protocol
* USB flash drive

External links

* [ Installing USB Mass Storage Devices on Windows 98] - Generic driver download for Windows 98SE to allow USB mass storage devices to work
* [ Jan Axelson's Usb Mass Storage article & book]
* [ Mass Storage device class specification] — on the site of the USB Implementers Forum.
* [ Bootability specification Mass Storage bootability specification] — describes how bootable USB Mass Storage devices should work.
* [ "USB Mass Storage BOT" ] is a link that often rots, lately found buried at [ "USB"] -> Developers -> Documents -> Class Specs -> Approved -> Mass Storage -> "Mass Storage Bulk Only 1.0".
* [ "Microsoft USB Storage FAQ"]
* [;a=blob;f=drivers/usb/gadget/file_storage.c USB Mass Storage Device Source Code in Linux]
* [;a=tree;f=drivers/usb/storage USB Mass Storage Host Source Code in Linux]
* [ Using a USB Mass Storage Device with an Xbox 360]
* [ USB Server]

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • USB mass storage device class — (USB MSC) (clase de dispositivo de almacenamiento masivo USB) es un conjunto de protocolos de comunicación definido por la USB Implementers Forum que funciona sobre USB. El estándar proporciona una interfaz para una variedad de dispositivos de… …   Wikipedia Español

  • Mass storage — This article describes mass storage in general. For the USB protocol, see USB mass storage device class. In computing, mass storage refers to the storage of large amounts of data in a persisting and machine readable fashion. Devices and/or… …   Wikipedia

  • USB communications device class — (or USB CDC) is a composite Universal Serial Bus device class. It provides a single device class, but there may be more than one interface implemented such as a custom control interface, data interface, audio, or mass storage related interfaces.… …   Wikipedia

  • USB Attached SCSI —   компьютерный интерфейс для высокоскоростного обмена с USB устройствами хранения, таких как жесткие диски, твердотельные диски и флэш накопители . UAS зависит от протокола USB, и использует стандартные набора команд SCSI. Предназначен для… …   Википедия

  • USB — This article is about the computer bus to connect peripherals. For other uses of USB, see USB (disambiguation). Universal Serial Bus Original logo Type Computer Hardware Bus …   Wikipedia

  • USB flash drive — JumpDrive redirects here. For the fictional propulsion system, see Jump drive. SanDisk Cruzer Micro, a brand of USB flash drives …   Wikipedia

  • Memoria USB — Lector de tarjetas SD que actúa como memoria USB. Una memoria USB (de Universal Serial Bus; en inglés pendrive, USB flash drive), es un dispositivo de almacenamiento que utiliza una memoria flash para guardar información. Se lo conoce también con …   Wikipedia Español

  • USB — Символ USB USB (ю эс би, англ. Universal Serial Bus  «универсальная последовательная шина»)  последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных …   Википедия

  • Media Transfer Protocol — The Media Transfer Protocol is a devised set of custom extensions to the Picture Transfer Protocol (PTP).[1] Whereas PTP was designed for downloading photographs from digital cameras, Media Transfer Protocol supports the transfer of music files… …   Wikipedia

  • Portable media player — Sixth generation iPod A portable media player (PMP) or digital audio player, (DAP) is a consumer electronics device that is capable of storing and playing digital media such as audio, images, video, documents, etc. the data is typically stored on …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”