Hard Disk and Solid State Disk tester

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:

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 Phenom II X6 1090T; 6 cores 3.2 GHz ChaCha20 3.0 GiB/s
AMD Phenom II X6 1090T; 6 cores 3.2 GHz ChaCha8 4.5 GiB/s
Intel i5-3320M; 2+2 cores 2.6 GHz ChaCha20 2.0 GiB/s
Intel i5-3320M; 2+2 cores 2.6 GHz ChaCha8 4.2 GiB/s
Raspberry Pi 4; 4 cores 1.5 GHz ChaCha20 300 MiB/s
Raspberry Pi 4; 4 cores 1.5 GHz ChaCha8 500 MiB/s

Note: The default Rust compiler shipped with Raspberry Pi OS is too old to compile Disktest. A newer Rust compiler must be used on Raspberry Pi.

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.

Latest bleeding edge disktest can be downloaded using the Git version control system as follows:

git clone https://git.bues.ch/git/disktest.git

or by downloading the disktest snapshot archive.
To browse the Git repository online, go to the git web interface.
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.

Updated: Sunday 29 November 2020 20:45 (UTC)
xhtml / css