I'm not sure if you're talking about a simple card reader or something with a battery operated HDD inside, but 3 seconds per image is still very slow - almost certainly limited by the USB2 bus (max data rate of ~33MB/s)

My Sandisk SDDR-289 (Image Mate All in One) can read a Lexar 1000x CF card at 150MB/s, that's between 3-4 images per second.