Я скопировал кое-что из MySQL-DB на мою SD-карту класса 6. Требовалось 45 минут. для передачи. Та же машина с XP делает это за несколько минут, с Win7 на другую машину перенос тоже подойдет. Проверил все форумы и источники, но не нашел ничего действительно связанного.
Иногда планировщик IO по умолчанию рассматривает эти флеш-накопители плохо. Одно решение, которое я нашел, чтобы быть полезным, состоит в том, чтобы переключить ioscheduler на крайний срок или noop для просто того устройства. Так, например,
$ 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
sudo tee /sys/block/sdb/queue/scheduler << EOF
deadline
EOF
$ cat /sys/block/sdb/queue/scheduler noop [deadline] cfq
и теперь попробуйте свою передачу данных снова, необходимо сделать это перед загрузкой устройства.
Если та работа для Вас правило udev может быть создана для автоматической установки этого для всех устройств замены в горячем режиме usb. Вот тот, который я записал давным-давно, что это является немного неработоспособным, я полагаю, что он только сканирует для устройств замены в горячем режиме usb, не карт MMC, таким образом, необходимо было бы исследовать вывод udev для определения то, в чем класс медиа находится и корректируется соответственно.
ПРОДОЛЖИТЕ ДВИГАТЬСЯ НА ВАШ СОБСТВЕННЫЙ РИСК, ЕСЛИ ЭТО НЕ РАБОТАЕТ НА ВАС ДО ВАС ДЛЯ ОТЛАДКИ
sudo tee /lib/udev/rules.d/100-usb-scheduler.rules << EOF
# custom udev rule: 28.10.11
# adjust io scheduler for usb block devices: queue/scheduler
# scheme based on "persistent storage rules"
# forward scsi device event to corresponding block device
ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
ACTION!="add|change", GOTO="persistent_storage_end"
SUBSYSTEM!="block", GOTO="persistent_storage_end"
# skip rules for inappropriate block devices
KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*|dm-*|md*", GOTO="persistent_storage_end"
# ignore partitions that span the entire disk
TEST=="whole_disk", GOTO="persistent_storage_end"
# for partitions import parent information
ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
# USB storage devices suffer from performance issues unless they use deadline io scehduler
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", \
RUN="/bin/sh -c 'echo deadline > /sys/$env{DEVPATH}/queue/scheduler'"
LABEL="persistent_storage_end"
EOF
$ sudo chmod +x /lib/udev/rules.d/100-usb-scheduler.rules