i would be careful with the CF card, they are good and save power (hell i swapped the HD on a kohjinsha and now get 6hrs+ min, 8hrs max) however you really really want to play with the formatting options as it will lengethn the life of the card and greatlly speed up filesystem acsess, also considering diffrent FS's would help
CF usage cuts into usable RAM speed, so reading from a CF card slows down how much data you can dump from ram. i remeber the wince guys noticing a speed imprvment on slow mem devices by using an SD card for storage rather than a CF card (diffrent bus)
if you find the sweet spot with the diffrent FS's and block sizes then you might see a speed improvment, the sandisk site used to have a whitepaper (now disappeared) that stated the exact situation where one would get 40x speed. for large files it was easy provided you maxed out the block size of the filesystem as the flash they were using had a 128KB erase size, and reading and writing 512 bytes at a time ment that the same block got erased sevral times.
of course you woludnt notice this on a microdrive where there is no minimum erase size however falsh is a diffrent ball game.
have a look at teh man page howevr a quick glance reveals that mkfs.ext3 -b 4096 -O dir_index,filetype <dev>
note the -O stuff may be unsafe, i use it and havent had any problems and the dir_index thing sounds nice. the -b changes the block size to the largest valid size, this means if you have a file smaller than 4K the extra size is wasted, however you have 16GBs dont you?
i belive that fat32 and xfs can both do lager block sizes (fat32 is up to 128KB which is ideal, and i belive xfs was designed for large devices) but both are out of the question.
riser3 has "tail packing" which would jam sevral files in that 4K space, but i am not sure of distro support for that.
tried that code and for some reason /dev/null is always cached and i cant fill it up. however i get incredable compression