USB mass storage device class
Encyclopedia
The USB mass storage device class, otherwise known as USB MSC or UMS, is a protocol that allows a Universal Serial Bus
(USB) device to become accessible to a host computing device, to enable file transfers between the two. To the host device, the USB device appears similar to an external hard drive, enabling drag-and-drop
file transfers.
The USB mass storage device class comprises 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 that are connected to computers via this standard include:
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 online jargon.
s include support for USB mass storage devices, although support on older systems is usually available through patches.
There is no native (supplied by Microsoft) support for USB in Windows versions prior to Windows 95
and Windows NT 4.0
, or MS-DOS
. 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.
Windows 2000
has support via a generic driver for mass storage devices, however a device-specific driver was required for rare devices not conforming the USB MSC specification ). Windows Me
and all later Windows versions also include support. Today, third party generic drivers which support USB flash drives are available freely even for Windows 98 SE and Windows NT 4.0
.
Windows Mobile
supports accessing most USB mass storage devices formatted with FAT
on devices with USB Host. However, portable devices typically cannot provide enough power for disk enclosure
s containing hard drives (a 2.5" hard drive typically requires the maximum 2.5 W
provided by the USB specification) without a self-powered USB hub
. On the other way around, Windows Mobile devices cannot 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 with filesystems outlined in the Device access section.
feature worked indiscriminately on any removable media, allowing USB storage devices to become the infection entryway for computer virus
es. As the FAT
file system
, often used on USB storage for its simplicity and wide compatibility, has few access control features, a user has no convenient way to protect his or her USB drives from infection after inserting into an untrusted computer, unless the device has a hardware read-only switch. To address this issue, Microsoft announced it would be limiting the AutoRun functionality to CD/DVD drives only starting in Windows 7 and future updates to previous versions of Windows.
's Mac OS 9 and Mac OS X
support USB mass storage natively. (Mac OS
8.5.1, an older OS, supported USB mass storage through an optional driver.)
Note : Some external DVD drives that are currently sold on the market require Mac OS X 10.4.6 or later. Thus, it seems that prior versions of Mac OS may not be 100 % fully compatible with the USB mass-storage device class (or at least not with its latest versions)
has supported USB mass storage devices since kernel version 2.4 (year 2001), and a backport to kernel 2.2.18 has also been made. In Linux beyond generic driver for all devices conforming to USB mass storage device class, there are quirks, bug-fixes and additional functionalities for various devices, controllers and vendors to enable more functions (like ATA
command pass-through for ATA-USB bridges, useful for S.M.A.R.T. or temperature monitoring, controlling spin-up and spin-down of a disks in such hard drives and other options). This also includes most Android based devices, as it is using Linux kernel.
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). Digital UNIX (later known as Tru64 UNIX
), supports USB and USB mass storage devices since version 4.0E (year 1998). AIX supports USB mass storage devices since the 5.3 T9 and 6.1 T3 releases, but it is not well supported and lacks some features (like partitioning and using it as general block device in system).
has no generic support for USB but there are external drivers available which support USB mass storage devices. These are Duse, USBASPI and DOSUSB.
FreeDOS
supports USB mass storage as ASPI
devices.
supports USB mass storage devices through Poseidon, a 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 is used in AmigaOS
, MorphOS
and AROS
. The supposedly final AmigaOS version of the Poseidon stack was 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.
The FAT16 and FAT32 file systems are supported by the FAT95 file system driver.
In September 2009, Poseidon was released as open source
.
and PlayStation 3
support most mass storage devices for data transfer of media such as pictures and music. The Xbox 360 (as of April 2010) also allows using a mass storage device for saved games, and the PS3 allows transferring saves between devices on a mass storage device.
driver supports the msd8x user interface application.
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. Creating multiple partitions is also possible.
Because of its ubiquity and relative simplicity, the most common file system on embedded devices
such as USB flash drive
s, 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. Another storage options like LVM, partition tables and software encryption are also possible, depending on operating system.
In cameras, MP3 players, and similar gadgets which must access the file system independently from an external host, the FAT32 filesystem is typically preferred by device manufacturers. All such devices stops using file system (unmount) before making it available to host operating system, to prevent file system corruption or other damages (theoretically it is possible to use it by both device and host, by using read-only mode or by using so called cluster-aware file system, however non of them are used in any of existing commodity devices, and have limited usage even in theory, especially on embedded devices). Some devices have also switch or option in menu, which allows using them in read-only mode (write protection). Often used to share files to multiple computers, without risk of virus infection from any of them.
There is variety of partitioning schemes used by preformated devices. There are two main schemes used by vendors. First puts file system (most commonly FAT32) directly on the device without any partitions, effectively making it start from sector 0, without any additional boot sectors, headers or partitions. Second one, uses DOS partition table (and MBR code), with single (first) partition spanning entire device. This partition is often aligned to some high power of 2 of sectors (like 1 or 2MB), which is also common and important in solid state drives
for best performance and durability. Some devices with embedded storage, acting like USB mass storage device (like MP3 players with USB port), will report that file system is damaged or missing, if formatted using different file system than FAT32 (or any other originally used there). However most devices which uses partition by default can be repartitioned (by shrinking size of first partition and file system) to have more partitions. Such devices will use first partition for its own operations, however after plugging into host system all partitions will be available.
There are also devices which are connected using single USB port, but act as multiple USB devices, one of which is a USB mass storage device. This is often used to simplify distribution and access to drivers and documentation, mostly for Microsoft Windows and Mac OS X operating system. Such drivers are necessary to make full use of the device (usually because the device does not fit any of the standard USB classes, or has additional functionality). An embedded USB mass storage device makes it possible to install additional drivers without the need for any CD-ROM disks, floppies or Internet access to vendor web site. This becomes more important as many modern systems are supplied without any optical or floppy drives. Often Internet access is not available, for example, because the device is used to provide network access - such as Wireless, GSM or Ethernet cards. The embedded USB mass storage is commonly made permanently read-only by the vendor, preventing accidental corruption and the use of it for other purposes (it can be sometimes updated using proprietary protocols when doing device's firmware upgrade). There are multiple other advantages of this way of distribution: decreased costs, simplified installation and fact that user cannot forget the drivers (a problem when using the device or selling the device).
, which may increase performance, Secure Erase
, which allows all the data on the drive to be securely erased, 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
, Serial ATA
, or Parallel ATA.
These features do not work when hard drives are encapsulated in some disk enclosure
supporting the USB mass storage interface. Some USB mass storage interfaces 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.
Universal Serial Bus
USB is an industry standard developed in the mid-1990s that defines the cables, connectors and protocols used in a bus for connection, communication and power supply between computers and electronic devices....
(USB) device to become accessible to a host computing device, to enable file transfers between the two. To the host device, the USB device appears similar to an external hard drive, enabling drag-and-drop
Drag-and-drop
In computer graphical user interfaces, drag-and-drop is the action of selecting a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object...
file transfers.
The USB mass storage device class comprises a set of computing communications protocols defined by the USB Implementers Forum
USB Implementers Forum
The USB Implementers Forum is a non-profit organisation to promote and support the Universal Serial Bus. Its main activities are the promotion and marketing of USB, Wireless USB, USB On-The-Go, and the maintenance of the specifications, as well as a compliance program.It was formed in 1995 by the...
that run on the Universal Serial Bus. The standard provides an interface to a variety of storage devices.
Some of the devices that are connected to computers via this standard include:
- external magnetic hard drives
- external optical drives, including CD and DVDDVDA DVD is an optical disc storage media format, invented and developed by Philips, Sony, Toshiba, and Panasonic in 1995. DVDs offer higher storage capacity than Compact Discs while having the same dimensions....
reader and writer drives - portable flash memoryFlash memoryFlash memory is a non-volatile computer storage chip that can be electrically erased and reprogrammed. It was developed from EEPROM and must be erased in fairly large blocks before these can be rewritten with new data...
devicesUSB flash driveA flash drive is a data storage device that consists of flash memory with an integrated Universal Serial Bus interface. flash drives are typically removable and rewritable, and physically much smaller than a floppy disk. Most weigh less than 30 g... - adapters bridging between standard flash memory cardMemory cardA memory card or flash card is an electronic flash memory data storage device used for storing digital information. They are commonly used in many electronic devices, including digital cameras, mobile phones, laptop computers, MP3 players, and video game consoles...
s and USB connections - digital cameraDigital cameraA digital camera is a camera that takes video or still photographs, or both, digitally by recording images via an electronic image sensor. It is the main device used in the field of digital photography...
s - various digital audio players and portable media playerPortable media playerA portable media player or digital audio player, 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 a hard drive, microdrive, or flash memory. In contrast, analog portable audio...
s - card readerCard readerA card reader is a data input device that reads data from a card-shaped storage medium. Historically, paper or cardboard punched cards were used throughout the first several decades of the computer industry to store information and programs for computer system, and were read by punched card readers...
s - PDAPDAA PDA is most commonly a Personal digital assistant, also known as a Personal data assistant, a mobile electronic device.PDA may also refer to:In science, medicine and technology:...
s - mobile phones
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 online jargon.
Operating system support
Most current mainstream operating systemOperating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s include support for USB mass storage devices, although support on older systems is usually available through patches.
Microsoft Windows
Microsoft Windows natively supports MSC since Windows 2000 (Windows NT5).There is no native (supplied by Microsoft) support for USB in Windows versions prior to Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...
and Windows NT 4.0
Windows NT 4.0
Windows NT 4.0 is a preemptive, graphical and business-oriented operating system designed to work with either uniprocessor or symmetric multi-processor computers. It was the next release of Microsoft's Windows NT line of operating systems and was released to manufacturing on 31 July 1996...
, or MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...
. Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...
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
Windows 98
Windows 98 is a graphical operating system by Microsoft. It is the second major release in the Windows 9x line of operating systems. It was released to manufacturing on 15 May 1998 and to retail on 25 June 1998. Windows 98 is the successor to Windows 95. Like its predecessor, it is a hybrid...
. This meant that a device-specific driver was needed for each type of USB storage device.
Windows 2000
Windows 2000
Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...
has support via a generic driver for mass storage devices, however a device-specific driver was required for rare devices not conforming the USB MSC specification ). Windows Me
Windows Me
Windows Millennium Edition, or Windows Me , is a graphical operating system released on September 14, 2000 by Microsoft, and was the last operating system released in the Windows 9x series. Support for Windows Me ended on July 11, 2006....
and all later Windows versions also include support. Today, third party generic drivers which support USB flash drives are available freely even for Windows 98 SE and Windows NT 4.0
Windows NT 4.0
Windows NT 4.0 is a preemptive, graphical and business-oriented operating system designed to work with either uniprocessor or symmetric multi-processor computers. It was the next release of Microsoft's Windows NT line of operating systems and was released to manufacturing on 31 July 1996...
.
Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...
supports accessing most USB mass storage devices formatted with FAT
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
on devices with USB Host. However, portable devices typically cannot provide enough power for disk enclosure
Disk enclosure
A disk enclosure is essentially a specialized chassis designed to hold and power disk drives while providing a mechanism to allow them to communicate to one or more separate computers. Drive enclosures provide power to the drives therein and convert the data sent across their native data bus into a...
s containing hard drives (a 2.5" hard drive typically requires the maximum 2.5 W
Watt
The watt is a derived unit of power in the International System of Units , named after the Scottish engineer James Watt . The unit, defined as one joule per second, measures the rate of energy conversion.-Definition:...
provided by the USB specification) without a self-powered USB hub
USB hub
A USB hub is a device that expands a single USB port into several so that there are more ports available to connect devices to a host system.USB hubs are often built into equipment such as computers, keyboards, monitors, or printers...
. On the other way around, Windows Mobile devices cannot 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 with filesystems outlined in the Device access section.
Malware and inherent vulnerability
In the past Windows's AutoRunAutorun
AutoRun and the companion feature AutoPlay are components of the Microsoft Windows operating system that dictate what actions the system takes when a drive is mounted....
feature worked indiscriminately on any removable media, allowing USB storage devices to become the infection entryway for computer virus
Computer virus
A computer virus is a computer program that can replicate itself and spread from one computer to another. The term "virus" is also commonly but erroneously used to refer to other types of malware, including but not limited to adware and spyware programs that do not have the reproductive ability...
es. As the FAT
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
file system
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
, often used on USB storage for its simplicity and wide compatibility, has few access control features, a user has no convenient way to protect his or her USB drives from infection after inserting into an untrusted computer, unless the device has a hardware read-only switch. To address this issue, Microsoft announced it would be limiting the AutoRun functionality to CD/DVD drives only starting in Windows 7 and future updates to previous versions of Windows.
Mac OS
Apple ComputerApple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...
's Mac OS 9 and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
support USB mass storage natively. (Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
8.5.1, an older OS, supported USB mass storage through an optional driver.)
Note : Some external DVD drives that are currently sold on the market require Mac OS X 10.4.6 or later. Thus, it seems that prior versions of Mac OS may not be 100 % fully compatible with the USB mass-storage device class (or at least not with its latest versions)
Unix-like
The Linux kernelLinux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
has supported USB mass storage devices since kernel version 2.4 (year 2001), and a backport to kernel 2.2.18 has also been made. In Linux beyond generic driver for all devices conforming to USB mass storage device class, there are quirks, bug-fixes and additional functionalities for various devices, controllers and vendors to enable more functions (like ATA
ATA
ATA or Ata may refer to:* Ata , people with the first name or family name-Education:* Ashcroft Technology Academy, Wandsworth, London, England* Advanced Technologies Academy, a high school in Las Vegas, Nevada, USA...
command pass-through for ATA-USB bridges, useful for S.M.A.R.T. or temperature monitoring, controlling spin-up and spin-down of a disks in such hard drives and other options). This also includes most Android based devices, as it is using Linux kernel.
Solaris
Solaris Operating System
Solaris is a Unix operating system originally developed by Sun Microsystems. It superseded their earlier SunOS in 1993. Oracle Solaris, as it is now known, has been owned by Oracle Corporation since Oracle's acquisition of Sun in January 2010....
also supports devices since the 2.8 release and up (year 1998), NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...
since the 1.5 release and up (year 2000), FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
since the 4.0 release and up (year 2000), and OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
since the 2.7 release and up (year 2000). Digital UNIX (later known as Tru64 UNIX
Tru64 UNIX
Tru64 UNIX is a 64-bit UNIX operating system for the Alpha instruction set architecture , currently owned by Hewlett-Packard . Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation , where it was known as Digital UNIX .As its original name suggests, Tru64...
), supports USB and USB mass storage devices since version 4.0E (year 1998). AIX supports USB mass storage devices since the 5.3 T9 and 6.1 T3 releases, but it is not well supported and lacks some features (like partitioning and using it as general block device in system).
DOS
DOSDOS
DOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...
has no generic support for USB but there are external drivers available which support USB mass storage devices. These are Duse, USBASPI and DOSUSB.
FreeDOS
FreeDOS
FreeDOS is an operating system for IBM PC compatible computers. FreeDOS is made up of many different, separate programs that act as "packages" to the overall FreeDOS Project...
supports USB mass storage as ASPI
ASPI
ASPI, the Advanced SCSI Programming Interface provides an API originated by Adaptec which standardizes communication on a computer bus between a SCSI host adapter on the one hand and SCSI peripherals on the other.- History :...
devices.
Amiga
AmigaAmiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
supports USB mass storage devices through Poseidon, a 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 is used in AmigaOS
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...
, MorphOS
MorphOS
MorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...
and AROS
Aros
Aros may refer to:*Aros , a river in J. R. R. Tolkien's Middle-earth legendarium*AROS Research Operating System, a free software implementation of AmigaOS* Aros, the original Viking name of Aarhus, the second largest city in Denmark...
. The supposedly final AmigaOS version of the Poseidon stack was released OEM licensed with the Deneb USB card in May 2008.
AmigaOS 4.0
AmigaOS 4
AmigaOS 4, , is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code, and partially on version 3.9 developed by Haage & Partner...
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.
The FAT16 and FAT32 file systems are supported by the FAT95 file system driver.
In September 2009, Poseidon was released as open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
.
Game consoles
The Xbox 360Xbox 360
The Xbox 360 is the second video game console produced by Microsoft and the successor to the Xbox. The Xbox 360 competes with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation of video game consoles...
and PlayStation 3
PlayStation 3
The is the third home video game console produced by Sony Computer Entertainment and the successor to the PlayStation 2 as part of the PlayStation series. The PlayStation 3 competes with Microsoft's Xbox 360 and Nintendo's Wii as part of the seventh generation of video game consoles...
support most mass storage devices for data transfer of media such as pictures and music. The Xbox 360 (as of April 2010) also allows using a mass storage device for saved games, and the PS3 allows transferring saves between devices on a mass storage device.
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. In these calculators, the usb8xUsb8x
Usb8x is a Flash application for the TI-84+ and TI-84+SE graphing calculators. It is a driver that interfaces with the calculator's built in USB On-The-Go port, allowing developers to easily create their own USB device drivers for use on the calculators. This allows the newfound use of USB...
driver supports the msd8x user interface application.
Device access
The USB mass storage specification does not require any particular file systemFile system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
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
SCSI
Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it...
transparent command set." Operating systems may treat the USB drive like a hard drive, and can format it with any file system they like. Creating multiple partitions is also possible.
Because of its ubiquity and relative simplicity, the most common file system on embedded devices
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...
such as USB flash drive
USB flash drive
A flash drive is a data storage device that consists of flash memory with an integrated Universal Serial Bus interface. flash drives are typically removable and rewritable, and physically much smaller than a floppy disk. Most weigh less than 30 g...
s, cameras, or digital audio players is Microsoft's FAT
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
or FAT32 file system with (optional) support for long names
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
. Large USB-based hard disks may come formatted with NTFS
NTFS
NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
, which is much less supported outside Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
. However, a keydrive or any other device may be formatted using another filesystem (for example HFS Plus
HFS Plus
HFS Plus or HFS+ is a file system developed by Apple Inc. to replace their Hierarchical File System as the primary file system used in Macintosh computers . It is also one of the formats used by the iPod digital music player...
on an Apple Macintosh, or Ext2
Ext2
The ext2 or second extended filesystem is a file system for the Linux kernel. It was initially designed by Rémy Card as a replacement for the extended file system ....
under Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, or Unix File System
Unix File System
The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS...
under Solaris or BSD). Of course, this choice may limit other operating systems' ability to access the contents of the device. Another storage options like LVM, partition tables and software encryption are also possible, depending on operating system.
In cameras, MP3 players, and similar gadgets which must access the file system independently from an external host, the FAT32 filesystem is typically preferred by device manufacturers. All such devices stops using file system (unmount) before making it available to host operating system, to prevent file system corruption or other damages (theoretically it is possible to use it by both device and host, by using read-only mode or by using so called cluster-aware file system, however non of them are used in any of existing commodity devices, and have limited usage even in theory, especially on embedded devices). Some devices have also switch or option in menu, which allows using them in read-only mode (write protection). Often used to share files to multiple computers, without risk of virus infection from any of them.
There is variety of partitioning schemes used by preformated devices. There are two main schemes used by vendors. First puts file system (most commonly FAT32) directly on the device without any partitions, effectively making it start from sector 0, without any additional boot sectors, headers or partitions. Second one, uses DOS partition table (and MBR code), with single (first) partition spanning entire device. This partition is often aligned to some high power of 2 of sectors (like 1 or 2MB), which is also common and important in solid state drives
SSD
-Computing:* Solid-state drive, a type of data storage device which uses memory rather than rotating media* Seven-segment display, a display which uses 7 segments to display mostly numbers* System sequence diagram, a type of UML software engineering diagram...
for best performance and durability. Some devices with embedded storage, acting like USB mass storage device (like MP3 players with USB port), will report that file system is damaged or missing, if formatted using different file system than FAT32 (or any other originally used there). However most devices which uses partition by default can be repartitioned (by shrinking size of first partition and file system) to have more partitions. Such devices will use first partition for its own operations, however after plugging into host system all partitions will be available.
There are also devices which are connected using single USB port, but act as multiple USB devices, one of which is a USB mass storage device. This is often used to simplify distribution and access to drivers and documentation, mostly for Microsoft Windows and Mac OS X operating system. Such drivers are necessary to make full use of the device (usually because the device does not fit any of the standard USB classes, or has additional functionality). An embedded USB mass storage device makes it possible to install additional drivers without the need for any CD-ROM disks, floppies or Internet access to vendor web site. This becomes more important as many modern systems are supplied without any optical or floppy drives. Often Internet access is not available, for example, because the device is used to provide network access - such as Wireless, GSM or Ethernet cards. The embedded USB mass storage is commonly made permanently read-only by the vendor, preventing accidental corruption and the use of it for other purposes (it can be sometimes updated using proprietary protocols when doing device's firmware upgrade). There are multiple other advantages of this way of distribution: decreased costs, simplified installation and fact that user cannot forget the drivers (a problem when using the device or selling the device).
Hard drive-based devices
Many modern hard drives support additional advanced commands, such as Native Command QueuingNative Command Queuing
Native Command Queuing is a technology designed to increase performance of SATA hard disks under certain conditions by allowing the individual hard disk to internally optimize the order in which received read and write commands are executed...
, which may increase performance, Secure Erase
Data remanence
Data remanence is the residual representation of data that remains even after attempts have been made to remove or erase the data. This residue may result from data being left intact by a nominal file deletion operation, by reformatting of storage media that does not remove data previously written...
, which allows all the data on the drive to be securely erased, 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
SCSI
Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it...
, Serial ATA
Serial ATA
Serial ATA is a computer bus interface for connecting host bus adapters to mass storage devices such as hard disk drives and optical drives...
, or Parallel ATA.
These features do not work when hard drives are encapsulated in some disk enclosure
Disk enclosure
A disk enclosure is essentially a specialized chassis designed to hold and power disk drives while providing a mechanism to allow them to communicate to one or more separate computers. Drive enclosures provide power to the drives therein and convert the data sent across their native data bus into a...
supporting the USB mass storage interface. Some USB mass storage interfaces 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.
See also
- Disk encryption softwareDisk encryption softwareTo protect confidentiality of the data stored on a computer disk a computer security technique called disk encryption is used. This article discusses software that is used to implement the technique...
- Media Transfer ProtocolMedia Transfer ProtocolThe Media Transfer Protocol is a devised set of custom extensions to the Picture Transfer Protocol . Whereas PTP was designed for downloading photographs from digital cameras, Media Transfer Protocol supports the transfer of music files on digital audio players and media files on portable media...
- Picture Transfer ProtocolPicture Transfer ProtocolPicture Transfer Protocol is a widely supported protocol developed by the International Imaging Industry Association to allow the transfer of images from digital cameras to computers and other peripheral devices without the need of additional device drivers...
- USB flash driveUSB flash driveA flash drive is a data storage device that consists of flash memory with an integrated Universal Serial Bus interface. flash drives are typically removable and rewritable, and physically much smaller than a floppy disk. Most weigh less than 30 g...
External links
- 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".
- USB Mass Storage Device source code in FreeBSD
- USB Mass Storage source code in Linux