I bought two Dane-Elec 8GB USB drives recently. Flash memory (as opposed to Hard disk storage) has faster “seek” capability. This is inherent in the design as flash memory is solid state whereas hard disks are electro-mechanical with a “head” that needs to be moved around using a “drive” mechanism. Since seek times are better on flash drives, they are faster when you are reading or writing a lot of small files.
However flash drives do not have sustained data transfer rates that hard disks have (i.e throughput). My thought process what that the throughput can be made up by slapping together two or more USB drives and applying software RAID 0 over them. Below are some performance results and they look encouraging.
Note that the timings are in seconds.
Single 8GB Dane-Elec USB drive 131.11 for 683MB (write) 44.62 for 683MB (read)
Single 2GB Transcend USB drive 204.50 for 683MB (write) 63.26 for 683MB (read)
Single 8GB Sandisk drive 197.61 for 683MB (write) 29.73 for 683MB (read)
RAID0 (two Dane-Elec 8GB USB drives) 61.177 for 683MB (write) 17.9 for 683MB (read)
I created a test file with 683 MB of data by funnelling /dev/urandom into it and then copied it to the USB drive(s) to measure write performance. Then I unmounted the USB drive(s) to make sure the buffer cache is emptied. On remounting I measured read performance by copying the test file back to the harddisk. The hard disk used was a Seagate Barracuda 320GB (7200rpm).
If four USB drives (say Sandisk 8GB) can be RAID’ed together on level 0 we would have a cheap SSD. One thing that prevents me from trying this out is the question of reliability. I have not used this setup long enough or stressed it hard enough to be comfortable using this for normal use.
To rig something like this yourself, read this article.