USB 3.0 on ARM platform

ODROID-XU has 2 x SuperSpeed USB 3.0 interfaces and 4 x HighSpeed USB 2.0 interfaces.

I want to introduce the USB 3.0 feature in ODROID-XU.
There is a standard A-Type 3.0 host connector and a micro A-B OTG 3.0 connector on the board.

If you need additional USB 3.0 host of standard A-type connector,
you can use 2 x USB 3.0 ports simultaneously with a Micro A to Standard A cable.

This item is available in our e-store.
https://www.hardkernel.com/shop/usb3-0-micro-a-to-standard-a-host-cable/

We performed a benchmarking test with our USB3.0 to SATA3 HDD/SSD interface kit.
http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137448544866
This is the PCB of USB3.0 to SATA3 HDD/SSD interface kit.

 

Tested SSD is OCZ’s Vertex3 128GB SSD.
Image

Test Root File System : Linaro Ubuntu with Linux Kernel 3.4.5
Read Test Command : dd if=./test of=/dev/null bs=1M count=1000 iflag=nocache oflag=nocache
Write Test Command : dd if=/dev/zero of=./test bs=1M count=1000 iflag=nocache oflag=nocache conv=fdatasync

Test result
Write Speed : 190 MB/S
Read Speed : 151 MB/S

We also made a same test with USB 2.0 port.
Wrtie Speed : 25.5 MB/S
Read Speed : 22.8 MB/S

The throughput of storage on USB 3.0 is about 7~8 times faster than USB 2.0 in the real world.

We also tested our USB 3.0 to Gigabit Ethernet adapter performance.
http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137447448698

 

[~]$ iperf -s -f M
Server listening on TCP port 5001
TCP window size: 0.08 MByte (default)
------------------------------------------------------------
[  4] local 220.90.137.114 port 5001 connected with 220.90.137.115 port 43969
[  5] local 220.90.137.114 port 5001 connected with 220.90.137.115 port 43970
[  6] local 220.90.137.114 port 5001 connected with 220.90.137.115 port 43971
[  7] local 220.90.137.114 port 5001 connected with 220.90.137.115 port 43972
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-48.5 sec   743 MBytes  15.3 MBytes/sec
[  5]  0.0-48.5 sec   670 MBytes  13.8 MBytes/sec
[  6]  0.0-48.5 sec   708 MBytes  14.6 MBytes/sec
[  7]  0.0-48.5 sec   690 MBytes  14.2 MBytes/sec
[SUM]  0.0-48.5 sec  2810 MBytes  58.0 MBytes/sec
[  8] local 220.90.137.114 port 5001 connected with 220.90.137.115 port 43973
[  5] local 220.90.137.114 port 5001 connected with 220.90.137.115 port 43975
[  6] local 220.90.137.114 port 5001 connected with 220.90.137.115 port 43976
[  4] local 220.90.137.114 port 5001 connected with 220.90.137.115 port 43974
[  8]  0.0-59.4 sec   887 MBytes  14.9 MBytes/sec
[  5]  0.0-59.4 sec   890 MBytes  15.0 MBytes/sec
[  6]  0.0-59.4 sec   884 MBytes  14.9 MBytes/sec
[  4]  0.0-59.4 sec   889 MBytes  15.0 MBytes/sec
[SUM]  0.0-59.4 sec  3551 MBytes  59.8 MBytes/sec

This iPerf test shows about 60MByte/sec transfer rate. 
It is 5~6 times faster than the 10/100 Ethernet speed.
I think we can improve the device driver and get more speed up to 80~90MByte/sec.

Let’s enjoy the SuperSpeed USB 3.0 performance with our tiny ARM embedded platform.