How good are your old pendrives?

We all have been accumulating a number of mass storage devices, in the form of external hard drives we use for backing up our data, as well as a variety of Pendrives or Flash drives1. They have in common that they connect to your computer through a USB interface and that they become obsolete very quickly as their cost keeps falling. Still, I continue using even the oldest pendrives to exchange small databases, films etc., and I never hesitate to give them away2!

Recently, I was made aware of some extremely “capacitous” pendrives, which allegedly store Terabytes of data and cost … peanuts. Amazon offers 1 TB pendrives in the range of or just under 100$, but some unscrupulous vendors have offered “4TB pendrives” for just 5$. In reality, they store significantly less data than the drive pretends to and declares to your computer. There is thus the need to check the actual capacity of the drives and, if possible, to reset their drive parameters to their actual values, in such a way that the storage device can be used without risk for your data.

In the Linux world, there are many applications to test disk and drive performance. I use three: f3probe, KdiskMark and, a more generic tool, HDSentinel, which I have been keeping in my toolbox and using for about 15 years3. f3probe (F3=Fight Flash Fraud) has frequently been referred to on the Internet since the emergence of the devices with inflated capacities, e.g. How to Check Real USB Capacity in Linux Terminal. KDiskMark is a GUI Benchmark Tool for storage devices for that runs under Linux. Details and downloads are available from LinuxUprising.

As indicated, f3probe is essentially a tool to determine the actual capacity of a drive. It does so by writing a number of files to determine which disk addresses do actuallty exist, i.e. are actually writable and readable. f3probe output includes data from which it is easy to determine read and write speeds of a drive, even if this is not its primary purpose of the tool. It is stressed that f3probe does not separate read and wrire speeds. Kdiskmark, on the other hand, is a dedicated disk performance assesment tool.

The purpose of this post is thus to compare f3probe and KDiskMark as tools to measure disk performance (speed) and run them on a subset of my collection of disks and pendrives, including the two hard disks in my Lenovo portable4.

The test drives

17 drives were tested, numbered from [1] to [17]. The first [1] is the NVMe SSD disk which hosts the laptop’s system and the second [2] is a traditional 5400 rpm internal HDD, which hosts the /home directory. The list includes two external HDDs, [3] and [4], which serve mostly as backup storage for [1] and [2]. If I exclude [8], a SD-card, the remaining devices are a motley collection of USB sticks, the oldest of which [14] is probably about 20 years old, or possibly more.

In the table below the drives are identified by name or nickname (e.g. [13], “Red plastic” or [14], “Wooden”). The Model (last column) is the identification provided by HDSentinel, when available5.

NrTypeName/NicknameImageModel
[1]DiskInternal SSD nvme0n1KBG40ZNT512G TOSHIBA MEMO
[2]DiskInternal HDD sda6TOSHIBA MQ04ABF100
[3]DiskExternal HDD, USBSeagate Backup+ Hub BK
[4]DiskExternal HDD, USBSeagate Basic
[5]PenShort metalSanDisk Ultra USB 3.0
[6]PenMini SandiskSandisk Ultra Fit
[7]PenTranscendJetflash Transcend 64GB
[8]SD-CardTranscend 600x7Generic storage device
[9]PenADATA UV128ADATA USB Flash Drive
[10]PenVentoy orangeSpecific STORAGE DEVICE
[11]PenLong grey metalGeneric Flashdisk
[12]PenBlack VerbatimVerbatim Store N Go
[13]PenRed plastic8General UDisk
[14]PenWooden9USB2.0 Flash Disk
[15]PenVictorinox10Upen USB Flash Disk
[16]PenPhilips?
[17]PenBufaloBUFFALO USB Flash Disk

Drive performance

The three first columns in the table below were obtained using f3probe which provides Total *usable* storage capacity in GBytes (column A), the total number of 512-Byte blocks as well as the Probe time:

*Usable* size: 15.09 GB (31641664 blocks)
Physical block size: 512.00 Byte (2^9 Bytes)
Probe time: 13'47"

Column B, the number of Blocks read per second is obtained from the ratio between A and the Probe time. The relative speed (column C) is standardised for drive [4], a good quality external USB-3.0 HDD set to 1000.

Columns D through K are taken directly from KDiskMark output11. RS to R3 (D to G)characterises reading speed while WS to W3 (H to K) is about writing. Both RS and WS correspond to sequential reads in MB per second. Remaing columns refer to random reads, R1 and W1 are in MB per second, R2 and W2 are measured in IOPS, the Average number of random read I/O operations per second. R3 and W3 are the average duration in µsec (microsecond, 10⁻⁶ second). There is, of course, a direct relation between R2 and R3 and between W2 and W3 (their product is a constant)

Altogether, there is a high level of redundance among the D-G and H-K variables, and eventually we retained B, D and H for a comparaison of the performance of the drives using f3probe and KDiskMark.

The first observation is the high disparity of speeds between the drives. If a “standard” external Seagate backup drive is assigned the value 1000, the internal NVMe SSD drive [1] is 12 times faster and [14], the “wooden” USB2.0 Flash Disk is is 2900 times slower. Its capacity is just 500 MB but the drive remains in regular use. The speed compared to the speed of drive [4] is referred to as “Relative speed” (variable C), as already mentioned.

When comparing columns D and H, sequential reads and writes, reads appear to be 2.8 times faster than writes (the 0.05 confidence interval is 1.6 to 3.9). When comparing sequential reads with random reads (D vs. E), the ratio is 11.0 (0.05 confidence interval from 5.4 to 16.7) sequential writes are 44.7 times faster random writes (H vs. I, 0.05 confidence interval from 18.8 to 70.6)

f3probe and KDiskMark compared

In the table above, the variables in columns B, D and H all represent read-write speeds that can be converted to Bytes/second, assuming 512 Bytes blocks for f3probe. The graph has only one value per device for f3probe disk access speeds as the tools does not ouput separate read and write speeds.

Since the speeds cover about 5 orders of magnitude (f3probe) and or 4 for KDiskMark, they can only be represented meaningfully in logaritmic graph. Even if the correlations are significant (0.5577 at the 0.01 level for n=17, see here), f3probe “speeds” tend to exceed those listed by KDiskMark by a factor of 51 on average for read speeds and 76 for write speeds. When considering only the slowest f3probe speeds (average of 5 lowest values), the ratios f3probe_speed over KDiskMark_read_speed and f3probe_speed over KDiskMark_write_speed are 0.49 and 1.75, respectively. This is to say that the two tools provide about the same speed values. For the 5 highest values, however, the ratios are 65 and 97. Since the fastest speeds correspond actualy to true hard disks, the ratio was computed over the pendrives only, resulting in ratios of 5.8 and 9.3.

Conclusion

We have compared disk access speeds of f3probe, a tool to assess pendrive/harddisk fraud, and KDiskMark, a tool to measure read and write speeds. The speeds cover a very large range of values from about 10 and 1 MByte/sec to 990 MByte/sec and 730 MByte/sec (respectively sequential read and sequential write as assessed with KDiskMark). KDiskMark is to be preferred because it is a dedicated disk-speed tool and because it separates write and read speeds. The large range of values is a witness of evolving mass-storage technology over the last 20 years or so.

But whatever the age of your Pendrive: don’t throw it away. If it still works, use it!

  1. They have several other names, for instance Memory sticks. In French, they are mostly referrred to as “Clé USB”, i.e. “USB key”. ↩︎
  2. Old external hard disks are different, because they are slow and their capacity is low. Because of the very slow access speeds, we tend to discard them. Writing a small file to a small and old pendrive takes some seconds, but copying a 5 GB film on an old external HD takes… patience. ↩︎
  3. The Linux version is free. HD sentinel writes out an impressive list of disk parameters (as far as they are monitored by the drive!). When one of the two hard disks of my portable was substituted by unknown people (call them spies!) when I was working in Beijing, it was very easy to see that one disk had operated for a number of hours compatible with the age of the computer, while the other was new! I had my data but the drive had been on the computer for few days only when I realised there had been a disk substitution, thanks to the regular use of HD sentinel. ↩︎
  4. Lenovo Laptop System product: 82EY v, IdeaPad Gaming 3 15ARH05, model LNVNB161216 v. SDK0R32862 FCCN17WW, dated 01/12/2022. The OS is the xfce4 flavour of Linux Mint 21.3. ↩︎
  5. Many drives provide no indication whatsoever about their manufacturer or vendor. ↩︎
  6. The illustration is a 4TB disk while the version in my portable has 1 TB. It is illustrated here. ↩︎
  7. This is the storage card I use with my camera. I use it through an Aceele 11-in-1 USB-C adapter. ↩︎
  8. I love this pendrive. I used it a lot when I was working for the Chinese Academy of Sciences in Beijing, where I always left in on my desk. I started monitoring it a bit closer after I realised that it had a mobility of it’s own. It faithfully stayed on my desk, but moved a couple of cm relative to the tea cup and the red pen which I had carefully positioned and photographed. One year, I left the Red Plastic pendrive on the desk during the Chinese New Year holiday. After the holiday, on the first working day, the drive had moved to the pocket of my coat. Maybe I had arrived to the office earlier than expected and my faitfhul spy had to resort to plan B? ↩︎
  9. This pendrive was a gift accompanying a fancy box of Toscanelli cigars, probably around 2005. According to the Computer history website, flash drives were first introduced in 2000. The CDW site mentions Memory sticks in 1998 and USB keys in 2001. According to the Britannica, the USB flash drive was invented several times in parallel by different manufacturers. ↩︎
  10. This is where I keep Tails, but please do not tell anyone. ↩︎
  11. KDiskMark was used with standard presets, except for the internal disk [1] for which NVMe settings were adopted. Test data were set to random. Default settings were used for queues and threads. Among the 10 default profiles, “Real world Performance” was selected. ↩︎
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments