Alarmingly low disk/memory card transfer speeds

Discussion in 'MacBook Pro' started by macstatic, Sep 7, 2008.

  1. macstatic macrumors 65816


    Oct 21, 2005
    I'm trying to figure out how to improve the speed of transferring photos from my Compact Flash memory cards to my Mac and where the bottleneck is located. After some googling I came across Xbench (freeware/donationware) which has a "disk test" function. I don't understand all the different values, but can still see that it's way slower than I expected.

    My system consists of the following:

    - 15" PowerBook G4 (1.67GHz, 1.5GB RAM, MacOS 10.4.11)
    - internal Seagate ST9808211A (80GB ATA) hard drive
    - external Firewire 800 hard drive (OWC Mercury Elite AL Pro enclosure with Samsung HD400LD (400GB ATA hard drive))
    - Box2s USB 2.0 multi card reader
    - Sandisk 1GB Ultra II Compact Flash memory card
    - PCMCIA to Compact Flash card adapter (plugged into the PowerBook's PCMCIA slot)
    - Xbench 1.3

    This is what I've read about transfer speeds and what to expect:
    - The USB 2.0 card-reader should be able to transfer up to 480 MB/sec
    - Firewire 800 should be able to transfer up to 800 MB/sec
    - the Sandisk Ultra II CF memory card series have a read speed up to 10 MB/sec and a write speed of 9 MB/sec

    Now here are the results from Xbench's "disk test":

    1. USB 2.0 card reader with Sandisk Ultra II 1GB Compact Flash memory card:

    2. Next, the same 1GB Sandisk Ultra II CF card is inserted into the Powerbook's PCMCIA slot via a generic PCMCIA to CF adapter:

    3. Here's the results of my PowerBook's internal 80GB ATA hard drive:

    4. Finally, here's my external Firewire 800 hard drive connected to the PowerBook's Firewire 800 port:

    Can someone explain these results and where the problem might lie?
  2. Firefly2002 macrumors 65816

    Jan 9, 2008
    Erm.... could you explain to me where the slow transfer speeds are? Memory cards aren't supposed to be fast, if that's what you mean... *sigh*
  3. Muncher macrumors 65816


    Apr 19, 2007
    "Up to" are the key words here. Just because transfer speeds of 1 Billion TB/msec on USB 9.0 are possible, the drive I'm plugging in is still a USB 1.1 device; basically, the connections operate at the highest supported speed of the slowest device in the chain.
  4. Firefly2002 macrumors 65816

    Jan 9, 2008
    Oh God. I didn't even see that. He's expecting those speeds? LOL. Wow.

    Btw, those aren't MB/s, that's Mb/s. A Mb (megabit) is 1/8th a MB (megabyte).

    If you know this little about computers perhaps you shouldn't have bought a pro :)
  5. crazzyeddie macrumors 68030


    Dec 7, 2002
    Florida, USA
    First of all, for the Compact Flash card, you need to erase it before you do any tests on it because flash memory is very slow at overwriting old data.

    Next, you have do some math with USB/Firewire speeds. The speeds are actually stated in Mb/sec, not MB/sec, so as Firefly2002 said, you have to divide by 8, which gives you up to 60MB/sec with USB, and 100MB/sec with Firewire 800. But thats not all. That is the burst speed of those interfaces, and particularly USB will be MUCH slower than that with a sustained transfer.

    The limiting factor with your Firewire 800 external drive is the physical hard drive mechanism inside the enclosure. Also note that you're using really small block sizes (4k, 256k). If you run the test on the FW800 drive using the Speedtools that OWC includes and the block sizes set to 20MB-100MB, you will see how fast the drive can actually be. A good comparison is how fast can you move individual sand particles vs. big handfuls.
  6. macstatic thread starter macrumors 65816


    Oct 21, 2005
    I see, so apparently I got my calculations all wrong and have to divide the expected values with 8 (x bits/8= xBytes) and have to interpret MB as MegaBYTES and Mb as MegaBITS.
    So with those calculations in mind the following is probably more correct:

    USB 2.0: 480 Mbits/sec (or 60 MBytes/sec)
    FireWire 800: 800 Mbits/sec (or 100 MBytes/sec)
    Sandisk Ultra II: 10 MBytes/sec (according to this Sandisk page -scroll to the bottom for specs)

    Assuming my calculations this time are correct I still see that the speeds are slow. For example, with my USB 2.0 card reader (capable of speeds up to 60 MBytes/sec) together with the CF memory card (capable of speeds up to 10 MBytes/sec) the highest read speed I get is 2.56 MBytes/sec.
    Even though I don't know why it says "Uncached read" two times under "sequential" and twice under "random" (a typo, where one of them should be "Cached"?) there still aren't any numbers close to 10 MBytes/sec.

    As pointed out earlier in the thread the highest speed is determined by the slowest device in the chain. But if I'm not mistaken the slowest device in the chain is the memory card meaning I should be able to get read speeds of 10 MBytes/sec (or close).
    Something's not making sense here.

    PS: I never got any software with my OWC hard drive enclosure.
  7. plinden macrumors 68040


    Apr 8, 2004
    Hmm, you definitely get much lower speeds than my three year old 512MB CF card, connected to a SanDisk ImageMate USB card reader. XBench is weird though - although my sequential results are much better than yours, and the Random write tests only slightly worse, I get a worse overall score. I just don't trust it.

    I ran a couple of tests.

    1. I tried a real world test using Activity Monitor to measure disk read/write. I get 9.5-10.91MB/s read speeds, as measured by Activity Monitor, copying photos from it to my HDD.

    Writing, I get 2-4.25MB/s. Try this yourself.

    2. With XBench, I get the following:
    Results	1.54	
    	System Info		
    		Xbench Version		1.3
    		System Version		10.5.4 (9E17)
    		Physical RAM		2048 MB
    		Model		iMac4,1
    		Drive Type		Generic STORAGE DEVICE
    	Disk Test	1.54	
    		Sequential	9.61	
    			Uncached Write	7.00	4.30 MB/sec [4K blocks]
    			Uncached Write	7.78	4.40 MB/sec [256K blocks]
    			Uncached Read	10.63	3.11 MB/sec [4K blocks]
    			Uncached Read	19.64	9.87 MB/sec [256K blocks]
    		Random	0.84	
    			Uncached Write	0.22	0.02 MB/sec [4K blocks]
    			Uncached Write	3.54	1.13 MB/sec [256K blocks]
    			Uncached Read	388.32	2.75 MB/sec [4K blocks]
    			Uncached Read	52.98	9.83 MB/sec [256K blocks]
    I have a couple of observations. Subjectively, I found that USB in Leopard was a good deal faster than in Tiger. I never quantified it though.

    Also, the card reader may contribute to transfer speeds. And whether the USB port you're connecting to is on an internal hub could affect speed. Try connecting the reader to another port.
  8. otispunkmeyer macrumors 6502

    Jun 5, 2007
    Middlesbrough UK
    photos do take ages.... large continuous files are fine but when you transfer lots of little ones...things dont run so smoothly. even my san disk ultra 3 CF cards dont seem to go over 3meg a second. (megabytes, which if you x8 to get bits isnt anywhere close to USB2.0's theoretical speed)

    oh yeah remember that theres 8 bits in a byte and that all connection speeds are quoted in bits
  9. macstatic thread starter macrumors 65816


    Oct 21, 2005
    I didn't know that "Activity monitor" displayed read/write speeds, but I see it does. I just tried it, having taken a bunch of photos, then copying the memory card over to the desktop (via the USB card reader -it's connected directly to a USB port, and I've tried both USB ports on my Powerbook).
    I got around 2.5 MBytes/sec; much much lower than Plinden's results.

    otispunkmeyer: you may be on to something there, because I take mostly JPGs with my camera, which translates into many small files (they're generally around 1.2 or 1.3 MBytes each)
    Let me try taking a bunch of RAW photos, then copying those over to the Mac desktop....
    ... nope, not much difference. Something like 2.6 MBytes/sec when the memory card had only RAW files (around 6 MBytes each).

    I then made a huge (145 MByte) zip file which I placed on the memory card and copied back to the desktop. Pretty much the same values as above (2.5 MBytes/sec).
    I also tried the PCMCIA slot with the same card and file. Even a bit slower there (around 2 MBytes/sec).

    otispunkmeyer: you say you don't get anything above 3 MBytes/sec (I suppose you use a slightly faster card than me, although I've never heard of the "Ultra III", only "Extreme III" -is this what you mean?).
    Have you tried transferring very large files?
    What I did was to zip compress a large application (I used NeoOffice) which ended up as that 145 MByte file (I understand that a Mac application, although it looks like a single file, is really a bunch of files and folders, which is why I zipped it to get just one large file). I'd be interested in hearing your results.
    Also, which version of MacOS are you using? Plinden might be on to something.

    Plinden: you mentioned getting around 10 MBytes/sec (actually over 10, which is the maximum of the Ultra II -which specific Sandisk card are you using?), and this is way more than I apparently can dream about for the time being. Were those large or small files?

    Has anyone tried reading their CF memory cards via a PCMCIA adapter?
  10. alphaod macrumors Core


    Feb 9, 2008
    Especially on the memory cards, if the controller is slow, it doesn't matter how fast the interface is. Another thing could the reader. I know when I use a cheap reader, I get like 1MB/s, but when I use a quality reader, I can get 40MB/s on my Extreme III CF.
  11. plinden macrumors 68040


    Apr 8, 2004
    It's a good old fashioned standard SanDisk 515MB CF card that I got at least three years ago - no "ultra", no "extreme", no "I", "II" or "III"

    The files I copied were 70 or so standard sized 3 megapixel photos, ranging from 700kB to 1.2MB.

    I used a first gen Intel iMac, 17", 1.83GHz Core Duo. The ImageMate card reader is connected directly to one of the iMac's USB ports.

Share This Page