What are the USB Transfer Types?

Rate this Article
Average: 2.3 (3 votes)

The Universal Serial Bus Specification defined four types of data transfer. Data transfer occurs between the memory buffer on the host computer, and an endpoint on the universal serial bus (USB) device.

Data is organized into packets before it is transferred.

The transfer type that is used depends on the pipe on which the transfer is being issued, which is determined by the USB device on your system.

The following table shows the transfer types that device drivers for USB devices can use.

Transfer Type

Description

Control

  • Bidirectional transfers that are used by the USB system software mainly to query, configure, and issue certain generic commands to USB devices.
  • Control transfers typically take place between the host computer and the USB device's endpoint 0, but your control transfers might use other endpoints.

Isochronous

  • Provide guaranteed amounts of bandwidth and latency.
  • Used for streaming data that is time-critical and error-tolerant or for real-time applications that require a constant data transfer rate. For example, an Internet telephony application that carries a conversation in real time is a good candidate for isochronous transfer mode.
  • Isochronous data requires guaranteed amounts of bandwidth and guaranteed maximum transmission times. For isochronous transfers, timely data delivery is much more important than perfectly accurate or complete data transfer.
  • Example isochronous devices include web cameras and USB headsets

Interrupt

  • Mainly to poll devices to check if they have any interrupt data to transmit.
  • The device's endpoint descriptor structure determines the rate of polling, which can range from 1 through 255 milliseconds.
  • Typically used for devices that provide small amounts of data at sporadic, unpredictable times. Keyboards, joysticks, and mouse devices fall into this category.
  • Signal the presence of data on other endpoints in the device.

Bulk

  • For devices that have large amounts of data to transmit or receive and that require guaranteed delivery, but do not have any specific bandwidth or latency requirements. Printers and scanners fall into this category.
  • Very slow or greatly delayed transfers can be acceptable for these types of device (if the data is delivered eventually). In the absence of any other demands for bus bandwidth, bulk transfers are processed as quickly as possible.