What happens during USB Transfer?

Mythmaker

Arch-Supremacy Member
Joined
Nov 29, 2004
Messages
11,772
Reaction score
0
If I have this setup like this:

USBQuestion.JPG


I transfer a single 32GB file from Device A to Device B - works.

Transfer speed is USB 2.0 - why?

Does Device A first copies to Computer's RAM sector by sector, which is then copied to Device B?

Or does the USB controller in the computer, being USB 2.0, the restricting party? Specifically, it's because it can only do error checking during the transfer at USB2.0 speed, which slowed down the entire process?

Or does the USB hub behaves like a dumb hub, and broadcast the data to *all* devices connected to it? When it took quite some time to reach Computer, all the other devices have to wait for it to finish before they can transfer the next packet. In other words, they were waiting.

Or are all of the above completely wrong? (I won't be surprised :s13:)
 

ondooy

Arch-Supremacy Member
Joined
Apr 9, 2012
Messages
11,026
Reaction score
1,227
your pc only supports usb2.0 your usb 3.0 hub is useless...
 

commach

Great Supremacy Member
Joined
Apr 11, 2001
Messages
53,997
Reaction score
18
Its called Universal Serial Bus but not Universal Parallel Bus for a reason.

All device connected to the USB Controller Hub in a star connection and the USerialB hub will determine which data packet to send to the correct device one at a time, in serial.
 

Mythmaker

Arch-Supremacy Member
Joined
Nov 29, 2004
Messages
11,772
Reaction score
0
Its called Universal Serial Bus but not Universal Parallel Bus for a reason.

All device connected to the USB Controller Hub in a star connection and the USerialB hub will determine which data packet to send to the correct device one at a time, in serial.

Thanks commach! Your explanation shed some light but I'm still quite confused.

Since it's a serial connection and a star network, I would imagination something like this:

USB%201.JPG


USB%202.JPG


USB%203.JPG


USB%204.JPG


USB%205.JPG


USB%206.JPG


Shouldn't the transfer be done in USB 3 instead?

And does that mean that the USB controller in the hub have some form of intelligence; it behaves more like a switch than a dumb hub that broadcast to all (one at a time)?

Disclaimer:
This is not work/studies related. It's purely a question that's nagging on the back of my head for at least half a decade :s13:
 
Last edited:

Mythmaker

Arch-Supremacy Member
Joined
Nov 29, 2004
Messages
11,772
Reaction score
0
Data transfer will be Device A to computer, then computer to Device B.

So in detail, the transfer is block by block, from Device A to Computer's RAM, then from Computer's RAM to Device B?

If that's the case, I'm surprised such an inefficient design can actually last for 18 years :s13:
 

Mythmaker

Arch-Supremacy Member
Joined
Nov 29, 2004
Messages
11,772
Reaction score
0
Ok, here's what I gather so far.

1. Device A is plugged in.

2. A reset signal is sent from Computer. During this process, speed negotiation will happen. Because Computer is USB 2, Device A's maximum transfer rate will be set to USB 2 by software/firmware.

3. When transferring a file from Device A to Device B, it first goes to Computer's ROOT HUB. Then it goes back down again to Device B. Block by Block.

Correct so far?
 

kandinsky

Master Member
Joined
Jan 7, 2015
Messages
4,693
Reaction score
10
This link might help? Looks damn detailed description of what goes on.

USB (Universal Serial Bus) : How it works and what it does

To the consumer, a hub simply expands one USB port into multiple ports. However, to manage this the hub must by able to be able to manage communications between itself and other devices, ensuring that only one transmission occurs on the bus at one time. Communications flows through the hub can be either from the host to a device, or vice versa.

A hub goes into an idle state whenever there are no communications requests coming into it. When it detects data coming to it from wherever it connects to the USB, it immediately establishes a communications connection between itself and all devices connected to its ports, relaying that data as in figure 9. If a connected device has data to send to the host, the hub temporarily switches off all communications with other devices and relays the data to the point where it connects to the USB. This is then repeated by all further hubs (figure 10) until the data finally reaches the host.

The hub is also responsible for monitoring what devices are connected to its ports. When a connection or disconnection occurs, the host is notified by use of the status reply to a token packet. The host then sends another packet to the hub to inquire exactly what changes occurred. If it was a connection, a reset signal is sent to the appropriate port, an address is assigned to the device by the host, and a configuration sequence occurs via the default control pipe of that device. If a device is detached, the host updates its information to remove all devices on the disconnected chain from its records.

fig9_10.gif
 
Important Forum Advisory Note
This forum is moderated by volunteer moderators who will react only to members' feedback on posts. Moderators are not employees or representatives of HWZ Forums. Forum members and moderators are responsible for their own posts. Please refer to our Community Guidelines and Standards and Terms and Conditions for more information.
Top