Skip to main content

Basic data transfer mechanisms in USB

Short answer

USB defines four transfer types: control for configuration and status with reserved bandwidth; bulk for large bursts with no time guarantee; interrupt for small data with bounded latency; isochronous for real-time data with guaranteed bandwidth and no retry.

Explain the basic data transfer mechanisms used in USB standards.

USB defines four basic transfer types. The transfer type is fixed per endpoint and is declared in its endpoint descriptor.

TypePurposeDirectionGuaranteesError handlingExamples
ControlConfiguration, commands, statusBothReserved bandwidth (10% low/full speed, 20% high speed)CRC and retryEnumeration, SET_ADDRESS
BulkLarge bursts of dataOne way per endpointNo time guarantee, uses spare bandwidth, lowest priorityCRC and retry (ACK/NAK)Printers, scanners, flash drives
InterruptSmall data, bounded latencyMostly INGuaranteed maximum polling interval (1-255 ms)CRC and retryKeyboard, mouse
IsochronousReal-time, constant rateOne wayGuaranteed bandwidth and latencyCRC detection, no retry, no handshakeAudio, video camera
  • Control transfer stages: SETUP (token + 8-byte data + ACK), optional DATA stage (IN/OUT), STATUS stage (zero-length packet in the opposite direction).
  • Bulk packets are 8/16/32/64 bytes at full speed and 512 bytes at high speed.
  • The host controller divides each 1 ms frame between the types: periodic transfers (isochronous and interrupt) are scheduled first and bulk and control take the remaining time.

✓ Answer checked by Claude Sonnet 5.5

All Instrumentation II chapter 3 questions →