If you're "rolling your own" interface and code, compact flash looks just
like an IDE hard drive. A USB memory stick, however, only looks like a
hard drive after you get the USB stack and correct protocol all
implemented. I.e., much more software to write.
SD cards are a little weird, AFAIK -- they complete interface at the
"wire" level is not fully available without NDAs and whatnot, although the
SD card readers use an IC that makes the SD card appear, again, as an IDE
hard drive on the far side of a USB link. Hence only the guy who made the
No, not at all; the interface ICs for SD cards or USB memory sticks are
plenty complex.
There are SD cards
(
http://www.sandisk.com/Products/Catalog(1096)-SanDisk_Ultra_II_SD_Plus_Cards.aspx)
and even CompactFlash cards where they've put that "controller" IC into
the memory card into, and thus the SD card can plug directly into a USB
port as well (and the CompactFlash card reader really was little more than
"wires"), but these are very much the exception rather than the norm. (It
never really made sense for CompactFlash cards either, since unlike the SD
card shown at the link above you still need the mechanical adapter... the
idea originally was apparently that, say, 128MB CF card w/internal USB
bridge & mechanical adapter might be, say, $120 whereas a regular 128MB CF
card was, say, $100 and a full-fledged reader was $80.)
Indeed -- this is a good idea. It's amazing how cheap flash memory is
these days... It was only something like 5 years ago that we were paying
something like $10 a 2MB flash IC, and today you can get something around
a gigabyte for that much in the form of an SD card or USB memory stick.
---Joel