- Solid State Disk (SSD)
- Non-Volatile Memory Storage (NVMe)
- Hard Disk (HDD)
- USB Stick
- SD-Card
- etc...
Disktest is a tool to check Hard Disks, Solid State Disks, USB sticks,
SD cards or similar storage media for errors.
It does so by writing a pseudo random sequence to the device and then
reading it back and verifying it to the expected pseudo random sequence.
This tool can be used to:
- Check disks for hardware errors (e.g. platter errors, Flash errors, etc...).
- Overwrite storage media with a cryptographically strong pseudo random stream. This can either be used to delete existing data on the disk, or to prepare the disk for encryption.
- Test for tampered media that pretend to have more storage area than they physically actually have. Sometimes such media are sold by fraudulent sellers for cheap prices.
- Measure read and write speed.
- ... probably lots of other tasks
The following table shows some example speed measurements of disktest in various operation mode on different hardware.
These speed tests don't write to an actual disk, but only to the /dev/null device, which is a device that does nothing. So these speed test results do not include the speed limits of any actual disk hardware.
Hardware | Algorithm | Data rate |
---|---|---|
AMD Ryzen 5 5500U; 6x2 cores | ChaCha20 | 8.1 GiB/s |
AMD Ryzen 5 5500U; 6x2 cores | ChaCha8 | 8.3 GiB/s |
Intel i5-3320M; 2x2 cores | ChaCha20 | 2.1 GiB/s |
Intel i5-3320M; 2x2 cores | ChaCha8 | 4.4 GiB/s |
Raspberry Pi 4; 4 cores 1.5 GHz | ChaCha20 | 420 MiB/s |
Raspberry Pi 4; 4 cores 1.5 GHz | ChaCha8 | 920 MiB/s |
The random number stream is generated by the following algorithm:
OUTPUT_DATA := CHACHA20(PBKDF2(SEED | THREAD_ID))
If more than one thread is used, then each thread generates such a random number stream, which are then interleaved in a regular pattern.
disktest is stable/production quality software.
That means its features are well tested and the remaining amount of bugs probably is minor.
The software does include a reasonable amount of documentation.
-
disktest release 1.15.0
.tar.xz archive
PGP signature - Older disktest releases can be found here.
The development source code of disktest can be downloaded using
the Git version control system as follows:
git clone https://git.bues.ch/git/disktest.git
To browse the Git repository online, go to the
repository web interface.
Or download the compressed snapshot.
A mirror of the repository is available on
GitHub,
GitLab,
Bitbucket and on
NotABug.org.
If you want to contribute to disktest, please read
the contribution guidelines first.
If you find any bugs in disktest or if you have any suggestion for new
features, we would like to hear from you.
Your help is greatly appreciated and will help to create better
software and improve the overall experience for everybody.
So don't hesitate to report anything that that limits your disktest usage.
If you have got any code improvements or other improvements that should be merged into the project, please send such enhancements to the disktest maintainer.
Please read the contribution guidelines first.
Copyright (C)
Michael Büsch
Licensed under the terms of the
GNU General Public License version 2
.
See the sourcecode for details.