A flash-card exchanger has two modes of operation. When a host personal computer
(PC) is connected to a Universal-Serial-Bus (USB) connector, the flash-card exchanger
operates in a card reader mode, allowing the host to read data from removable flash-memory
cards inserted into connector slots of the flash-card exchanger. When the host
PC is not connected, a USB flash-memory thumb or key-chain drive can be inserted
into a second USB connector. A USB dual-mode microcontroller acts as a USB host,
reading data from the removable flash-memory card and writing the data to the USB-memory
key drive using USB packets. Since the USB-memory key drive is small and removable,
the user can upgrade to larger storage capacities by plugging in a larger-capacity
USB-memory key drive. A flash-exchanger program executing on the USB dual-mode
microcontroller copies data from an input-output bus and generates USB packets
to the USB-memory key drive.