Last year I got 3 “SanDisk Ultra Android 64 GB microSDXC Class 10 Memory Card + SD Adapter up to 80 Mbps” and have used them in action cameras to take around 150.000 - 200.000 images on each. They have all much lower write speeds, and some times read speeds, now. One writes as slow as 600 KB/s (Class 10 should do at least 10 MB/s but this card should be much more). The two other cards will write as slow as 4 MB/s. All can write with 6-7 MB/s some times, but not enough for a Class 10.
My card reader is a fast (non Sandisk but a good brand) USB 3.0 reader, that at times reads these cards with 80 MB/s.
I have read that fragmentation can cause this slowness. Not file system framentation (as known from harddrives) but fragmentation due to the wear leveling algorithm. A fix should be to use a tool to issue a command that erases the card completely and lets the wear leveling use the space without fragmentation.
Does anybody know a tool that can do this?
On Linux I have tried to see if the commands (TRIM or ERASE) are supported, and they did not appear (see below). A tool for Windows is OK (I have a Windows 8 too).
sudo hdparm -I /dev/sdd
/dev/sdd:
SG_IO: bad/missing sense data, sb: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ATA device, with non-removable media
Standards:
Likely used: 1
Configuration:
Logical max current
cylinders 0 0
heads 0 0
sectors/track 0 0
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 0 MBytes
device size with M = 1000*1000: 0 MBytes
cache/buffer size = unknown
Capabilities:
IORDY not likely
Cannot perform double-word IO
R/W multiple sector transfer: not supported
DMA: not supported
PIO: pio0