USB3 Write Speeds very slow on External SSD

I am using Debian 10 Buster image. When I am doing HDparm (read) and DD (write) speed test, it is extremely slow, over the USB3.

I tested the same HDParm and DD test on my Rock Pi S (USB 2), and the results were similar on the USB2 (Pi S) and USB3 (Pi E)

I used the same test on my Rock64 on both the USB2 and USB3 ports… big difference…

Anyone having similiar issues with slow write speeds on USB3 on the Rock Pi E?

For test.
On ROCK Pi E, use command, lsusb -t, to see whether it is recognized as USB 3.0 device. The recognized sign is 5000M.

root@rockpie:~# lsusb -t
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Wireless, Driver=rtk_btusb, 480M
    |__ Port 1: Dev 2, If 1, Class=Wireless, Driver=rtk_btusb, 480M
    |__ Port 1: Dev 2, If 2, Class=Vendor Specific Class, Driver=rtl8821cu, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M

I doubt it’s recognized as a USB 3.0 device.

I tested with a 500GB 7200rpm HDD,

rock@rockpie:/mnt/ntfs$ lsusb -t
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Wireless, Driver=rtk_btusb, 480M
    |__ Port 1: Dev 2, If 1, Class=Wireless, Driver=rtk_btusb, 480M
    |__ Port 1: Dev 2, If 2, Class=Vendor Specific Class, Driver=rtl8723du, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M

and the hdparm read test results:

rock@rockpie:/mnt/ntfs$ sudo hdparm -Tt /dev/sda1

/dev/sda1:
 Timing cached reads:   928 MB in  2.00 seconds = 463.79 MB/sec
 Timing buffered disk reads: 330 MB in  3.00 seconds = 109.98 MB/sec
rock@rockpie:/mnt/ntfs$ sudo hdparm -Tt /dev/sda1

/dev/sda1:
 Timing cached reads:   916 MB in  2.00 seconds = 458.05 MB/sec
 Timing buffered disk reads: 336 MB in  3.02 seconds = 111.43 MB/sec

which is the max this 7200rpm HDD can do.’

DD write tests:

rock@rockpie:/mnt/ntfs$ dd if=/dev/zero of=./test bs=512k count=2048 oflag=direct
2048+0 records in
2048+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 11.9521 s, 89.8 MB/s

Is that NTFS file system?

@pbies If you’re referring to my post, yes, It’s an NTFS file system mounted as rw.

@jayanta525 so this is the problem. Current software maintaining NTFS file system needs somewhat fixing and extending, so that’s why you have shortage of performance for that file system.

@pbies Its a 7200rpm HDD and can do a max of ~130MBps read and somewhat 100MBps write. I am using ntfs-3g cli to mount the drive and I don’t have any issue. The read/write speeds i am getting on the Pi E is sufficient as a HDD over USB 3.0.

The user in the post @Eric_Tan seems to be getting USB2.0 speeds on an SSD connected over USB 3.0.

Sorry, mistaken you with the OP. My post should go to the OP.

1 Like

@Eric_Tan please see the whole thread. Seems like you have connected drive to the USB 2.0 ports. Or you have issues with current treatment of NTFS file system. Other issues not listed here can occur.

FYI, USB2.0 port in Pi E is accessible via GPIO which i doubt is being used by OP.

My guess would be a faulty USB cable.

lsusb -t should highlight the issue.

lsusb -t shows its connected as USB3

The following are my read/write speeds (on NTFS external USB mounted SSD) - All using the same SSD and external case.

Rock64 (USB3) = 260/25.2 (running Armbian OS)

Rock64 (USB3) = 100/16 (running RockPi E OS)
Rock E (USB3) = 96/16.4mb (running RockPi E OS)

Rock S (USB2) = 29/6mb (running RockPi S OS)

Sorry, I think the OS/driver issue, as the same OS in the Rock64 also gives it a lower speed.

What OS are you running? Did you have any other drivers installed?

Or is it the standard NTFS-3G?

Debian 10 from ROCK Pi E download page.

For mounting NTFS FS, i followed this guide: https://www.cyberciti.biz/faq/debian-ubuntu-linux-auto-mounting-windows-ntfs-file-system/

What’s the result of ROCK Pi E running Armbian?

I couldn’t get it to run properly. The image provided is WIP… and it was a little buggy…

I was using the same image (current version)… just cant seem to get your speeds…
I will visit the mounting options and tweak to see whether can I get the speeds up. Thanks for the link.

1 Like

Just a little suggestion, when editing /etc/fstab don’t forget to mount the partition as RW.

/dev/sda1 /mnt/ntfs/ ntfs nls-utf8,umask-0222,uid-1000,gid-1000,rw 0 0

I used this exact code. But speed remains the same… I think the OS is not optimized, or has a bug in it…

It might be a kernel version issue, 4.x vs 5.x kernel, we will check it.

I tried the same setup with Armbian for the Pi E and have been getting similar results as Debian 10 from the downloads page (100MBps read/write with USB3 HDD).

Armbian supports Rock64 as well as the Pi E, it would be a better comparison IMO if you could test your SSD performance issues with armbian.

https://www.armbian.com/rockpie/
https://www.armbian.com/rock64/