How to compare speed of USB flash pen drives (USB sticks)

Written by - 0 comments

Published on - last updated on December 1st 2019 - Listed in Hardware Linux


More or less two weeks ago, I tweeted about my NAS (Debian Jessie running on a HP Proliant N40L micro server) is dead because the USB Flash Drive (on which the OS was installed) died.

I removed the supposedly dead USB drive, inserted a new one and installed a fresh Debian (Stretch this time) on it. Took quite some time, given the USB flash drive was very slow to write on to, but eventually my NAS was up again.

The slow write speed led me to buy a new USB flash drive which was supposed to be much faster. Really? How does one compare actual write and read speed of USB flash drives? There's an app tool for it! It's called F3 and its main purpose is to find bad USB flash drives which claim to have a certain capacity but are in fact offering much less than what's written on the drive. This tool writes multiple files onto the flash drive until all space is used and then reads these files again. The comparison from written sectors vs. read sectors would show if a flash drive was advertising a wrong capacity. F3 also shows the actual write and read speeds and shows an average at the end of both steps. That can be used to compare speeds of USB flash drives!

I compared three USB flash/pen drives:

USB Flash Drive Comparison on Linux
  • TDK TF10 8GB
  • Transcend JetFlash 4GB
  • Sandisk Ultra Flair 32GB

All drives were inserted into the same USB 2.0 port so they can operate with the same bus speed (the Sandisk Ultra supports USB 3.0 but this wouldn't be a fair comparison to the older pen drives).

First I installed f3:

# apt-get install f3

A typical test run starts with the f3write command on the filesystem mounted from the pen drive:

# f3write /mnt/Test/
Free space: 2.35 GB
Creating file 1.h2w ... OK!                         
Creating file 2.h2w ... OK!                          
Creating file 3.h2w ... OK!                          
Free space: 16.00 MB
Average writing speed: 1.74 MB/s

Followed by the read operation of these created files:

# f3read /mnt/Test/
                  SECTORS      ok/corrupted/changed/overwritten
Validating file 1.h2w ... 2097152/        0/      0/      0
Validating file 2.h2w ... 2097152/        0/      0/      0
Validating file 3.h2w ...  710064/        0/      0/      0

  Data OK: 2.34 GB (4904368 sectors)
Data LOST: 0.00 Byte (0 sectors)
           Corrupted: 0.00 Byte (0 sectors)
    Slightly changed: 0.00 Byte (0 sectors)
         Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 16.48 MB/s

Show me the results!

Here are the results for the speed comparison:

USB Flash Drive
Average Write Speed
Average Read Speed
TDK TF10 8GB (0718:070a)
1.74 MB/s 16.48 MB/s
Transcend JetFlash 4GB (8564:1000)
1.89 MB/s 14.66 MB/s
Sandisk Ultra Flair 32GB (0781:5591)
13.14 MB/s 34.02 MB/s
Sandisk Ultra 32GB (0781:5581)
13.01 MB/s
33.67 MB/s
Generic USB stick 2GB (090c:1000)
5.86 MB/s
19.30 MB/s

Clearly the Sandisk pen drive is much faster on write speed but only twice as fast on read speed. Anyway, thanks to this benchmark test the Sandisk drive will become the new USB flash drive for the NAS server.

Updated November 29th 2019: Added Sandisk Ultra 32GB (USB ID 0781:5581)

Updated December 1st 2019: Added Generic USB stick 2GB (090c:1000)


Add a comment

Show form to leave a comment

Comments (newest first)

No comments yet.

RSS feed

Blog Tags:

  AWS   Android   Ansible   Apache   Apple   Atlassian   BSD   Backup   Bash   Bluecoat   CMS   Chef   Cloud   Coding   Consul   Containers   CouchDB   DB   DNS   Database   Databases   Docker   ELK   Elasticsearch   Filebeat   FreeBSD   Galera   Git   GlusterFS   Grafana   Graphics   HAProxy   HTML   Hacks   Hardware   Icinga   Influx   Internet   Java   KVM   Kibana   Kodi   Kubernetes   LVM   LXC   Linux   Logstash   Mac   Macintosh   Mail   MariaDB   Minio   MongoDB   Monitoring   Multimedia   MySQL   NFS   Nagios   Network   Nginx   OSSEC   OTRS   Office   OpenSearch   PGSQL   PHP   Perl   Personal   PostgreSQL   Postgres   PowerDNS   Proxmox   Proxy   Python   Rancher   Rant   Redis   Roundcube   SSL   Samba   Seafile   Security   Shell   SmartOS   Solaris   Surveillance   Systemd   TLS   Tomcat   Ubuntu   Unix   VMWare   VMware   Varnish   Virtualization   Windows   Wireless   Wordpress   Wyse   ZFS   Zoneminder