Checking USB flash drives and flash memory cards for correct functionality
Test Run
![](/var/linux_magazin/storage/images/issues/2014/161/f3-testing-flash-memory/78002285_20.png/611633-1-eng-US/78002285_20.png_medium.png)
USB memory sticks and flash memory cards are part of the equipment of almost every mobile IT user today, but media defects can cause data loss. A small tool by the name of F3 helps.
USB sticks and flash memory cards are small, lightweight, and available in a variety of storage capacities, but even though they have no mechanical components, and some sticks even have a metal housing, the memory is not completely wear-free. Some flash storage media, often offered for low prices online, can fail to reach the advertised capacity. This shortcoming is really annoying when your important data is suddenly gone or you can no longer access the medium because of memory cell failure.
To spare yourself this mishap, you need only two things: Linux and the F3 program. F3 uses a read and write test to verify the integrity of the memory cells of your flash media and thus prevent unpleasant surprises.
Get Started
The program, which hails from Brazil, is available from a no-frills website as a source code archive [1]. Start by downloading the ZIP archive and unpacking it in a directory of your choice. Next, change to the newly created f3-2.2
subdirectory and compile the software in a terminal using the make linux
command.
If you see an Error 127 message initially, you need to install make
and the gcc
collection from your distribution's repositories. When successfully compiled, the routine generates two executable programs: f3write
and f3read
[2]. These two command-line tools test your flash medium with read and write accesses to determine the actual available capacity, and they help you track down defective memory cells and placebo storage quickly and reliably.
Test
I tested the software with an Intenso stick [3] and a no-name USB stick – both of which claimed to have 4GB of capacity – as well as an SD card. To use F3, you first need to make sure you have backed up all the important data on the storage medium to be tested before emptying the medium. F3write writes 1GB files with an extension of .fff
to the medium; depending on the capacity, the last file to be written can be smaller.
Because f3write does not overwrite any existing data, the medium should be completely free of old data to ensure reliable writes by f3write. To start the software, you simply enter the following command in a terminal:
./f3write /media/<drive-UUID>
Or, in distributions that use udisks2, enter:
./f3write /run/media/<username>/<drive-UUID>
The software generates the files and displays its progress in the terminal (Figure 1).
Depending on the capacity and memory blocks used, the write process can take quite a long time – even for smaller media, because they often reach their limits at speeds of 2 to 4MBps. Premium storage hardware, however, will also impress with higher write rates.
After successfully completing the write operation, enter the following in the terminal:
./f3read /media/<drive-UUID>
or
./f3read /run/media/<Username>/<drive-UUID>
F3read now reads the newly generated files. If any problems occur, or the tool cannot read some sectors, you will immediately see this reported in the terminal. After completing the read operation, the read speed is also visualized (Figure 2).
On the basis of the value detected when reading the storage medium, you can see the true capacity of your flash memory device. If the memory size differs compared with the capacity from the write operation and, in particular, if Corrupted shows a value other than 0, your flash memory is defective.
Independent
To test the reliability of F3 for storage media using various platforms, I formatted the test objects with different filesystems and then told F3 to read and write to the drives. I discovered that the software worked fine with USB memory sticks and memory cards using the typical FAT32 filesystem, as well as with media using the popular Linux ext2 filesystem. Additionally, F3 had no problems with the FAT16 filesystem designed for smaller disks. The write and read speeds are similar, independent of the filesystem used.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
![Learn More](https://www.linux-magazine.com/var/linux_magazin/storage/images/media/linux-magazine-eng-us/images/misc/learn-more/834592-1-eng-US/Learn-More_medium.png)
News
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.