Repository navigation
v0.4.0
Added
- New "Test disk" menu on
b— pressbwith a disk selected to open a four-option menu: Read benchmark, Full benchmark, Quick capacity test, and Full capacity test. Navigate with↑↓/jk, confirm with Enter. The footer and help screen (?) now list thebkey. - Read benchmark (non-destructive) — measures sequential read over the first 1 GiB (or the whole disk if smaller) in 4 MiB chunks, then runs a 5-second random 4 KiB read test, reporting MB/s and IOPS. It modifies nothing, so it starts immediately with no confirmation dialog and is allowed even on protected/system disks (administrator rights are still required).
- Full read/write benchmark (destructive) — wipes the disk via the standard prep step, then measures sequential write, sequential read, random 4K write (5 s), and random 4K read (5 s). The final summary reports all four figures; the disk is left blank (RAW) afterwards. Requires the usual typed confirmation.
- Quick capacity test (destructive) — h2testw-style counterfeit-flash detector. Writes 1 MiB deterministic pattern blocks at roughly 256 evenly spaced points across the entire address space (always including the very last MiB), flushes, reopens the disk, and reads every sample back. Because fake-capacity drives wrap high addresses onto low ones, a mismatch surfaces within minutes; the failure message names the offset where data did not survive. Refuses disks smaller than 4 MiB.
- Full capacity test (destructive) — writes a deterministic pattern over every byte of the disk, then reads the entire disk back and compares. Reports the exact first mismatching offset as the estimated real usable capacity. Takes two full-disk passes, so the confirm prompt warns it may take hours. The disk is left blank (RAW) on success; cancelling mid-way warns that partial test patterns remain on the disk.
- Live speed graph in the progress dialog — the progress modal now has a 3-line sparkline that plots throughput samples (updated every 250 ms, last 240 samples kept) during benchmarks, capacity tests, secure erase, and image writes.
- Phase labels in progress text — long-running operations now prefix their progress line with the current phase (e.g.
writing:,verifying:,seq read:,4K write:) alongside bytes done, speed, and ETA.
Changed
- Write image now verifies after writing — after the sector-by-sector write and flush, the image is re-read from the source file and compared bit-for-bit against the disk through a fresh unbuffered handle. A mismatch aborts with
VERIFICATION FAILED at offset …and suggests running the disk tests (b). The confirm dialog text, help entry, and success message all now mention verification. - Cancelling during image verification reports that the image itself was already fully written, so you know the write completed even if the check did not.
- All benchmark and capacity-test I/O bypasses the Windows cache — devices are opened with
FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGHusing 4 KiB-aligned buffers, so reported speeds reflect the physical disk rather than RAM caching. - Cancellability is now opt-out rather than opt-in — every operation except Format and Quick erase can be cancelled from the progress dialog (previously only Secure erase and Write image could). This covers the new benchmarks and capacity tests.
- README updated to document the read-back verification on image writes and the new Benchmark / Capacity test features.
Security
- Destructive tests go through the same guard path as erase — Full benchmark and both capacity tests require the protected-disk guard check and the typed confirmation dialog, and they run the existing prep/wipe routine that honours the safety-override (
u) setting. Only the read-only benchmark skips confirmation.
Full Changelog: v0.3.0...v0.4.0