Re: Poor performance with USB 1.1 drive connected to USB 3.0 port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 24 Sep 2014, Mark Knibbs wrote:

> Hi,
> 
> I did some benchmarks to check the maximum transfer rate of a USB-to-SCSI
> converter. The converter is USB 1.1, so limited to the 12Mbps full speed
> rate. The performance when connected to a USB 3.0 port is significantly
> worse than when connected to a USB 2.0 port, about 26.5% slower (0.63MB/sec
> vs 0.86MB/sec).
> 
> The USB 3.0 port is provided by an ExpressCard which has a Renesas
> controller. It doesn't seem to be defective because I can get 138MB/sec
> from a USB 3.0 hard disk. lspci shows
>   05:00.0 USB Controller: Renesas Technology Corp. Device 0015 (rev 02)
> 
> I didn't test with an unmodified mainline kernel, but the issue is present
> with both Ubuntu kernel 3.0 and Debian 3.14 (booted from Kali Linux live
> DVD).
> 
> I used sg_rbuf from the sg3-utils package. That issues READ BUFFER commands
> instead of reading data from disk, so the result should be closer to the
> maximum achievable. The USB-SCSI converter was a Newer Technology uSCSI
> connected to an HP 2600fx MO drive.
> 
> In a USB 2.0 port:
> 
> # sg_rbuf --buffer=524288 -v -t -q /dev/sg3
>     Read buffer cdb: 3c 03 00 00 00 00 00 00 04 00 
> READ BUFFER reports: buffer capacity=983040, offset boundary=0
> time to read data from buffer was 242.800241 secs, 0.86 MB/sec
> Read 200 MiB (actual: 209715200 bytes), buffer size=512 KiB (524288 bytes)
> 
> # sg_rbuf --buffer=524288 -v -t -q /dev/sg3
>     Read buffer cdb: 3c 03 00 00 00 00 00 00 04 00 
> READ BUFFER reports: buffer capacity=983040, offset boundary=0
> time to read data from buffer was 242.800230 secs, 0.86 MB/sec
> Read 200 MiB (actual: 209715200 bytes), buffer size=512 KiB (524288 bytes)
> 
> 
> In a USB 3.0 port:
> 
> # sg_rbuf --buffer=524288 -v -t -q /dev/sg3
>     Read buffer cdb: 3c 03 00 00 00 00 00 00 04 00 
> READ BUFFER reports: buffer capacity=983040, offset boundary=0
> time to read data from buffer was 330.311337 secs, 0.63 MB/sec
> Read 200 MiB (actual: 209715200 bytes), buffer size=512 KiB (524288 bytes)
> 
> # sg_rbuf --buffer=524288 -v -t -q /dev/sg3
>     Read buffer cdb: 3c 03 00 00 00 00 00 00 04 00 
> READ BUFFER reports: buffer capacity=983040, offset boundary=0
> time to read data from buffer was 330.388556 secs, 0.63 MB/sec
> Read 200 MiB (actual: 209715200 bytes), buffer size=512 KiB (524288 bytes)
> 
> 
> By comparison, I checked the transfer rate in native Windows (Vista) with
> the WinSAT program. That reported 0.66MB/sec for both USB 2.0 and 3.0
> ports. (WinSAT reads data from disk, probably in smaller chunks than 512KB.
> There's no sg_rbuf executable in the Windows sg3_utils archive.)
> 
> Any ideas what the reason for the discrepancy might be? Can anyone else
> reproduce it? I guess USB 1.1-only devices aren't that common nowadays.

You might be able to get more detailed timings if you collect usbmon
traces of the two tests.  They won't answer your question but they may 
help point in a particular direction.

The xhci-hcd driver has been under active development.  For the best 
results, you really should use the most up-to-date version of the 
kernel.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux