I'm getting only 30MB/sec between my computer and a USB drive, despite the fact that USB 2.0 supports 480Mb/sec (or 60MB/sec) transfers. (Therefore, I'm only getting half the rated speed) Is there something present in the USB standard which should result in such half apparent speeds?
Answer
USB 2 uses 1 millisecond frames, and in High Speed (480 Mb/s) mode they are divided into 8 micro-frames. The maximum size of bulk packets (used by USB mass storage devices) is 512 bytes. According to this very informative document the theoretical maximum is 13 packets per microframe. So the theoretical maximum speed of a USB 2 drive is:
1000 * 8 * 512 * 13 = 53248000 ~= 53 MB/s
This other document from Cypress says near the end that they actually acheive 43 MB/s.
In practice the limit will usually be the flash itself.
Edit: This information is actually also in the USB 2 spec.
No comments:
Post a Comment