Verifying a 32 GB USB Flash Memory Drive

This resembles the 32 GB Micro SD card checkout, with the exception that, for some unknown reason, the available space doesn’t match up with the actual space occupied by the file. It also turns out that rsync deletes the incomplete file, rather than leaving a stub, which makes perfect sense, but was still a bit disappointing after two hours.

I had two identical Sandisk Cruzer Fit Flash Drives, one of which appears here:

32 GB Sandisk USB Flash Drive
32 GB Sandisk USB Flash Drive

Those squares are an inch on a side, so it’s a bit larger than the Micro SD card. Adding a lanyard loop on the plastic cap or a string between cap and drive seems like a great idea, because that little thing is certain to get lost.

The snippets here represent a compendium of Things Done that happened over the course of two days; I didn’t save all the logs. The process started with the same 32 GB file of entropy I used for the Micro SD card:

df -B1 /mnt/part2
Filesystem       1B-blocks      Used   Available Use% Mounted on
/dev/sdc1      31512350720 180424704 31331926016   1% /mnt/part2
-----------------------
time rsync --progress /mnt/part/Testdata/Testdata.bin /mnt/part2
Testdata.bin
 31298191360  99%   14.18kB/s    0:39:38
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync: write failed on "/mnt/part2/Testdata.bin": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(322) [receiver=3.0.9]
rsync: connection unexpectedly closed (28 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]

real	126m20.505s
user	3m6.393s
sys	2m17.492s
-----------------------
time dd bs=8K count=20000000 if=/mnt/part/Testdata/Testdata.bin of=/mnt/part2/Test1.bin
dd: writing ‘/mnt/part2/Test1.bin’: No space left on device
3820963+0 records in
3820962+0 records out
31301320704 bytes (31 GB) copied, 7455.97 s, 4.2 MB/s

real	124m15.970s
user	0m1.607s
sys	1m17.546s
-----------------------
truncate -s 31301320704 /mnt/part/Testdata/Testdata.bin
-----------------------
ll /mnt/part/Testdata/Testdata.bin
-rw-r--r-- 1 ed ed 31301320704 Dec 24 18:13 /mnt/part/Testdata/Testdata.bin
-----------------------
time diff /mnt/part/Testdata/Testdata.bin /mnt/part3/Test1.bin 

real	26m37.081s
user	0m4.400s
sys	0m52.723s

Notice that the write speed runs around 4 MB/s, which is a lot slower than you might expect from a USB 2.0 device; as with a hard drive, the interface doesn’t limit the throughput! The read speed, on the other paw, trots along at about 20 MB/s.

One of these will go to Mary’s folks as an online daily backup device; their PC will soon run a version of the rsnapshot scripts that back up our basement file server. It’s not off-site backup and it’s not proof against catastrophic hardware failure, but it should be good enough.