Information Technology Reference
In-Depth Information
In a USB mass-storage device, the hardware or firmware must perform the
following functions:
• Detect and respond to generic USB requests and other events on the bus.
• Detect and respond to USB mass-storage requests for information or
actions from the device.
• Detect and respond to SCSI commands received in USB transfers. These
industry-standard commands read and write blocks of data in the storage
media, request status information, and control device operation.
In addition, devices that create, read, or write to files and directories on their
own (not via a USB host) must implement a file system. A file is a named
collection of data. A directory structure provides an index to the files. Popu-
lar file systems for embedded systems include FAT16 and FAT32.
Two popular types of storage media for embedded systems are flash-memory
cards and hard drives. A flash-memory card contains flash-memory chips to
provide storage, a controller that manages reading and writing to the mem-
ory, and an interface to the outside world. Common types of flash-memory
cards includes the MultimediaCard (MMC), Secure Digital (SD) Card, and
CompactFlash ® (CF ® ) card. A hard drive contains a hard disk that provides
storage, drive components to perform functions such as spinning the disk
and positioning the heads, a drive controller, and an interface to the outside
world. An embedded system that accesses flash-memory cards or hard drives
must have a microcontroller or other CPU or intelligent hardware to man-
age communications with the cards or drives.
This topic focuses on block storage devices, where data is transferred in
blocks of defined sizes. USB hard drives and flash drives are block storage
devices. Other devices are stream devices, where each data transfer is a
sequence, or stream, of data that can be any length. An example of a stream
device is a modem that carries voice communications.
Embedded Hosts
An embedded system that functions as a USB host for flash or hard drives
requires the following hardware (Figure 1-2):
A microcontroller or other CPU or intelligent hardware to manage the
embedded system's operation.
Search WWH ::




Custom Search