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.
# | Picture | Name, PN, EAN/UPC barcode | Capacity, sectors | Read MB/s | Write MB/s |
---|---|---|---|---|---|
1 | n.a. | Goodram 4GB | 3.7 GiB, 7716864 | 16.6 | 2.0 (vfat) |
2 | ![]() |
SanDisk 16GB | 14.9 GiB, 31116288 | 20.2 | 4.7 (vfat) |
3 | ![]() |
SanDisk Ultra 16GB | 14.5 GiB, 30318592 | 17.4 | 8.5 (ext4) |
4 | ![]() |
SanDisk Ultra 16GB, SDSQUNC-016G-GN6IA, UPC=619659134624 | 14.9 GiB, 31116288 | 21.4 | 8.0 (vfat) |
5 | ![]() |
SanDisk Ultra 16GB, SDSQUNB-016G-GN3MN, UPC=619659134020 | 14.9 GiB, 31116288 | 19.8 | 8.4 (ext4) |
6 | ![]() |
SanDisk Ultra 64GB | 59.5 GiB, 124735488 | 19.8 | 8.9 (exfat, fuse-exfat-1.2.7) |
7 | ![]() |
Transcend Premium 200x 16GB, TS16GUSDHC10, EAN-13=0760557817888 | 14.9 GiB, 31225856 | 19.7 | 9.5 down to 6.5 (vfat) |
# | Picture | Name, PN, EAN/UPC barcode | Capacity, sectors | Read MB/s | Write MB/s |
---|---|---|---|---|---|
1 | n.a. | Kingston DT microDuo 3C 32GB (USB 3.0, metal) | 29.3 GiB, 61457664 | 40.1 | 5.4 (vfat) |
2 | ![]() |
Integral Fusion 32GB (USB 3.0, metal), INFD32GBFUS3.0, EAN-13=5055288422520 | 28.9 GiB, 60566016 | 42.4 | 6.0 down to 4.3 (vfat) |
3 | ![]() |
Transcend JetFlash 32GB (USB 3.0, metal) | 29.4 GiB, 61702144 | 71.7 | 18.0 (vfat) |
4 | ![]() |
Transcend JetFlash 64GB (USB 3.0, metal), TS64GJF710SE, UPC=760557831020 | 58.9 GiB, 123404288 | 83.5 | 20.9 (vfat) |
5 | ![]() |
Eaget U85 64GB (USB 3.0, metal) | 57.7 GiB, 121012224 | 108.8 | 20.6 (exfat, fuse-exfat-1.2.7) |
# | Picture | Name | Capacity, sectors | Read MB/s | Write MB/s |
---|---|---|---|---|---|
1 | ![]() |
Intel SSD, 540s series, 480GB | 447.1 GiB, 937703088 | 501 | 463 (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 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.
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.