I copied some MySQL-DB stuff to my Class 6 SD card. It needed 45 min. for the transfer. Same machine with XP it does it in a few minutes, with Win7 on another machine transfer is also fine. Checked all the forums and sources but found nothing really related.
Sometimes the default IO scheduler treats these flash drives poorly. One solution that I've found to be useful is to switch the ioscheduler to deadline or noop for just that device. So for example,
$ lsscsi [0:0:0:0] disk ATA TOSHIBA THNS128G AGLA /dev/sda [1:0:0:0] cd/dvd HL-DT-ST DVDRAM GT30N LT09 /dev/sr0 [7:0:0:0] disk Patriot Memory PMAP /dev/sdb
$ cat /sys/block/sdb/queue/scheduler noop [deadline] cfq
and now try your data transfer again, you must do this before you load the device.
Should that work for you a udev rule can be created to automatically set this for all usb hotplug devices. Here's one I wrote a long time ago that's a little crufty, I believe it only scans for usb hotplug devices, not MMC cards, so you would have to examine udev output to determine what class your media is in and adjust accordingly.
PROCEED AT YOUR OWN RISK, IF THIS DOESN'T WORK FOR YOU ITS UP TO YOU TO DEBUG
$ sudo chmod +x /lib/udev/rules.d/100-usb-scheduler.rules