Transfer Rate data

USB 2.0 data rates
The theoretical maximum data rate in USB 2.0 is 480 Mbit/s (60 MB/s) per controller and is shared amongst all attached devices. Some chipset manufacturers overcome this bottleneck by providing multiple USB 2.0 controllers within the southbridge.

Transfer speeds in practice

Typical hi-speed USB hard drives can be written to at rates around 25-30 MB/s, and read from at rates of 30-42 MB/s, according to routine testing done by CNet.[62] This is 70% of the total bandwidth available.
According to a USB-IF chairman, "at least 10 to 15 percent of the stated peak 60 MB/s (480 Mbit/s) of Hi-Speed USB goes to overhead — the communication protocol between the card and the peripheral. Overhead is a component of all connectivity standards."[63] Tables illustrating the transfer limits are shown in Chapter 5 of the USB spec.
For isochronous devices like audio streams, the bandwidth is constant,  and reserved exclusively for a given device. The bus bandwidth therefore only has an effect on the number of channels that can be sent at a time, not the "speed" or latency of the transmission.

Data packets
USB communication takes the form of packets. Initially, all packets are sent from the host, via the root hub and possibly more hubs, to devices. Some of those packets direct a device to send some packets in reply.
After the sync field, all packets are made of 8-bit bytes, transmitted least-significant bit first. The first byte is a packet identifier (PID) byte. The PID is actually 4 bits; the byte consists of the 4-bit PID followed by its bitwise complement. This redundancy helps detect errors. (Note also that a PID byte contains at most four consecutive 1 bits, and thus will never need bit-stuffing, even when combined with the final 1 bit in the sync byte. However, trailing 1 bits in the PID may require bit-stuffing within the first few bits of the payload.)
USB PID bytes
TypePID value
(msb-first)
Transmitted byte
(lsb-first)
NameDescription
Reserved00000000 1111
Token10000001 1110SPLITHigh-bandwidth (USB 2.0) split transaction
01000010 1101PINGCheck if endpoint can accept data (USB 2.0)
Special11000011 1100PRELow-bandwidth USB preamble
HandshakeERRSplit transaction error (USB 2.0)
00100100 1011ACKData packet accepted
10100101 1010NAKData packet not accepted; please retransmit
01100110 1001NYETData not ready yet (USB 2.0)
11100111 1000STALLTransfer impossible; do error recovery
Token00011000 0111OUTAddress for host-to-device transfer
10011001 0110INAddress for device-to-host transfer
01011010 0101SOFStart of frame marker (sent each ms)
11011011 0100SETUPAddress for host-to-device control transfer
Data00111100 0011DATA0Even-numbered data packet
10111101 0010DATA1Odd-numbered data packet
01111110 0001DATA2Data packet for high-bandwidth isochronous transfer (USB 2.0)
11111111 0000MDATAData packet for high-bandwidth isochronous transfer (USB 2.0)

Read Users' Comments (0)

0 Response to "Transfer Rate data"

Post a Comment