SSDs, microSD cards, USB flash drives: capacity and read/write speed

Dimo Dimov, 2018-01-03 .. 2018-03-11

You can find here information about total raw capacity and read/write speed under GNU/Linux, of some Solid State Drives (SSD), microSD cards and USB flash drives.

MicroSD cards

#PictureName, PN, EAN/UPC barcodeCapacity, sectorsRead MB/sWrite MB/s
1n.a. Goodram 4GB3.7 GiB, 771686416.62.0 (vfat)
2Sandisk 16GB SanDisk 16GB14.9 GiB, 3111628820.24.7 (vfat)
3Sandisk Ultra 16GB redgray SanDisk Ultra 16GB14.5 GiB, 3031859217.48.5 (ext4)
4Sandisk Ultra 16GB redgray SanDisk Ultra 16GB, SDSQUNC-016G-GN6IA, UPC=61965913462414.9 GiB, 3111628821.48.0 (vfat)
5Sandisk Ultra 16GB whitegray SanDisk Ultra 16GB, SDSQUNB-016G-GN3MN, UPC=61965913402014.9 GiB, 3111628819.88.4 (ext4)
6Sandisk Ultra 64GB redgray SanDisk Ultra 64GB 59.5 GiB, 12473548819.88.9 (exfat, fuse-exfat-1.2.7)
7Transcend 16GB black Transcend Premium 200x 16GB, TS16GUSDHC10, EAN-13=076055781788814.9 GiB, 3122585619.79.5 down to 6.5 (vfat)

USB flash drives

#PictureName, PN, EAN/UPC barcodeCapacity, sectorsRead MB/sWrite MB/s
1n.a. Kingston DT microDuo 3C 32GB (USB 3.0, metal)29.3 GiB, 6145766440.15.4 (vfat)
2Integral Fusion 32GB Integral Fusion 32GB (USB 3.0, metal), INFD32GBFUS3.0, EAN-13=505528842252028.9 GiB, 6056601642.46.0 down to 4.3 (vfat)
3Transcend JetFlash 32GB Transcend JetFlash 32GB (USB 3.0, metal)29.4 GiB, 6170214471.718.0 (vfat)
4Transcend JetFlash 64GB Transcend JetFlash 64GB (USB 3.0, metal), TS64GJF710SE, UPC=76055783102058.9 GiB, 12340428883.520.9 (vfat)
5Eaget U85 64GB Eaget U85 64GB (USB 3.0, metal)57.7 GiB, 121012224108.820.6 (exfat, fuse-exfat-1.2.7)

Solid state drives

#PictureNameCapacity, sectorsRead MB/sWrite MB/s
1Intel 540s 480GB Intel SSD, 540s series, 480GB447.1 GiB, 937703088501463 (btrfs)


Capacity and number of sectors are obtained with fdisk -l command. Curiously, microSD cards #3 and #4, have identical name and appearance, but noticeably different capacity.

If you need to get the total size of a block device in bytes, in your scripts for example, you can also compile and use ioctls.c a simple C program, which intrinsically uses ioctl().

Reading and writing speed

Reading performance is averaged direct reads portion of the hdparm output, three or four times, outliers excluded:

hdparm -Tt --direct /dev/sdb

If you are following this, do not forget to replace /dev/sdb with the correct device path for your situation. In case of SD or microSD card that path might be something like /dev/mmcblk0 for example.

Writing performance is measured by dd creating a 1GiB file onto a mounted partition of device under test. Three or four runs are averaged, outliers excluded:

time sh -c "dd if=/dev/zero of=tmp1 bs=1G 
count=1 oflag=direct && sync"

The temporary files, like tmp1 in the example above, should be deleted afterwards.

Other test conditions

MicroSD cards have been tested on a Lenovo T530 laptop with Ricoh Co Ltd PCIe SDXC/MMC Host Controller (rev 08).

USB flash drives have been tested through either of the two Super Speed (SS) USB 3.0 ports of a Lenovo T530 laptop.

So far, all the devices, which I have tested, have sectors of 512 bytes. However this may not always be the case. You can look into the output of fdisk -l for sector size of your devices.