FireWire 800 throughput

Discussion in 'Mac Accessories' started by timelessbeing, Nov 25, 2011.

  1. timelessbeing, Nov 25, 2011
    Last edited: Nov 25, 2011

    timelessbeing macrumors member

    Oct 15, 2009
    I am copying data from one external HD to another via FW800. They are daisy chained together like so:
    MacbookPro =---= LaCie =---= iomega
    Because my 1st gen Mac only had FW400, I connect them through a FW800 ExpressCard.

    According to Wikipedia, "FireWire 800 ... and corresponding products allow a transfer rate of 786.432 Mbit/s full-duplex" (98 MB/s). Both these external HD's are dual-disk 7,200 rpm RAID0 configurations. The LaCie Big Disk Extreme (16MB buffer) features boast "Burst transfer rate up to 80-90MB/s in FireWire 800". Macworld reviews of the Iomega Mac Companion (8MB buffer) report rates up to 79.6 MB/s. Am I correct in assuming the limiting factor in throughput speed is the drives themselves which aren't able to saturate the interface?

    I used iStat Menus to monitor the HD activity and the peak read/write speed is 22.50 MB/s. Is it because they're daisy chained? Would I be better off with one HD plugged into the ExpressCard and one to a native FW400 port on my Macbook? Can anyone shed some light on as to why my files only transfer at a quarter of the full rate? It took about 12 hours to copy 1 TB of data.

    Cheers. :)
  2. Lennyvalentin macrumors 65816


    Apr 25, 2011
    Modern harddrives offer (peak) linear transfer rates well over 100 MB/s for just one single drive (let alone when striped in RAID 0), due to their enormous capacity, which packs a lot of data onto each track of the drive. This leads to quite high read and write speeds.

    Do note though that since tracks on a harddrive is cylindrical in nature this means the further you move towards the center, the shorter each track will be, so for each revolution of the disk the amount of data read or written diminishes.

    Since the rotational speed is fixed it means the theroretical data rate slows down the more the drive is filled. I say theoretical, because usually data in modern computers are accessed in very small chunks at a time, around 4k per access is quite typical, while huge accesses with large chunks is typically very uncommon, so it's rare to get close to the drive's theoretical top speed.

    The transfer speed crashes and burns badly if any seeks is involved; random seeks with 4k buffer sizes typically give a low single-digit megabytes per second transfer rate, or even slower.

    What all this means is that if the disks you're testing performance on has any data stored on them you won't get full performance out of them, thus possibly explaining your low figures. Also, test figures are generally not comparable between different benchmark programs, so if the manufacturer says XX MB/s, and you only get YY, using a different benchmark, this doesn't neccessarily mean all that much.

    As for daisy-chaining affecting performance, theoretically it shouldn't unless you access multiple devices in the chain simultaneously, but like with so much else in life you never really know. Why don't you experiment yourself to check this out, as it's almost impossible to give any accurate information regarding this without hands-on access to your equipment. Run the drive as a single device on both your internal FW port and the add-on port and see what happens.

    Also, very low performance figures COULD possibly be a result of a lot of bad sectors on the drive(s), since the drive would be forced to use spare sectors instead. A SMART analysis tool might be able to shine some light there, if performance remains low no matter what else you do.

    Finally: unless your goal is to transfer LOTS of (large) files using these drives, you're almost never going to be gated by linear transfer speed, so don't worry so much about it. :) Access time is a far, far bigger factor in basically every other scenario other than large file transfers, and in that regard traditional harddrives all suck donkey rocks. 15k RPM server drives aren't quite as bad, but they're not good. If you want high file performance it's a set of SSDs you need, although their price/capacity leaves a lot to be desired for the moment of course...
  3. timelessbeing thread starter macrumors member

    Oct 15, 2009
    Thanks for that analysis, Lenny. Sounds like there are many factors.

    I conducted some experiments and the results are interesting. I timed how long it took to copy a 1.89 GB movie file (in Finder), for every HD combination (including my internal HD)

    First, I tried them daisy-chained both ways:
    FW800 ExpressCard =---= LaCie =---= iomega
    FW800 ExpressCard =---= iomega =---= LaCie
    Transfer speeds were all in the range of 22-29 MB/s

    Then I tried putting the externals HD's on separate controllers.
    FW800 ExpressCard =---= iomega
    Built-in FW400 =---= LaCie
    (Only one combination was possible since the iomega drive only has 1394 beta ports)
    All speeds involving the internal HD dipped slightly. But when copying between the two external HDs, especially from the LaCie to the iomega (which is my goal), the speed jumped to 39 MB/s!

    Some background info:
    internal HD: 100GB, 5400 rpm, SATA1.5, 73% full
    external LaCie: 1 TB, 7200 rpm, RAID 0, 99% full
    external iomega: 2 TB, 7200, RAID 0, 0% full
    No bad sectors anywhere.

    What does all this mean? Platter HDs have little to benefit from the interface technology you use (though separate channels seem to help). USB3.0 adopters will be very disappointed. As Lenny said speeds seem to be limited by the HD's themselves. Even the SSDs may read data twice as fast, but write speeds aren't much better. Free space didn't seem to make a huge impact, but that may be due to RAID striping. The other important thing to note is that advertised speeds are likely measured in absolutely ideal conditions and have no significance in real world situations.

    On a side note, I wonder if data can flow directly from one external HD to the other, or does it always go through the computer. According the IEEE 1394 specification, "It allows peer-to-peer device communication — such as communication between a scanner and a printer — to take place without using system memory or the CPU"

    If anyone is interested in the data I collected, just ask and I can post the tables.
  4. Intell macrumors P6


    Jan 24, 2010
    I'm not sure, but you may have reached the maximum speed of the ExpressCard slot.
  5. timelessbeing thread starter macrumors member

    Oct 15, 2009
    How do you figure? PCI Express has 250 MB/s of bandwidth.
  6. Intell macrumors P6


    Jan 24, 2010
    I quote:
    480 Mbit/s (USB mode) and
    2.5 Gbit/s (PCI Express mode)

    Its possible that your card is running in USB mode. USB 2.0 has a maximum transfer speed of about 30 megabytes per second. Which is around your maximum speed.
  7. timelessbeing thread starter macrumors member

    Oct 15, 2009
    I quote (from System Profiler):


    Type: IEEE 1394 Open HCI
    Driver Installed: Yes
    MSI: No
    Bus: PCI
    Slot: ExpressCard@5,0,0
    Vendor ID: 0x104c
    Device ID: 0x8025
    Subsystem Vendor ID: 0x14db
    Subsystem ID: 0x702a
    Revision ID: 0x0001
  8. MisterMe macrumors G4


    Jul 17, 2002
    It seems to me that you are making the classic mistake of assuming that each of your devices rigorously adheres to your naïve reading of technology specifications. This is simply not the case. Even when it is the case, you still must be careful how you configure things.

    In the case of FW400 and FW800, you should not place the FW400 device in the middle of the chain. This will throttle all subsequent FW800 devices to FW400. FW400 goes on the end.

    You must be particularly careful [at purchase] of devices that support both USB and FireWire. Many manufacturers tie these ports together. The FireWire data passes through the USB circuitry. Suffice it to say, this design limits the throughput of FireWire to what USB 2.0 is capable of.

    If I were you, then I darned sure would not mix FW400 and FW800 on a single PCI Express card. Also, I would not mix USB and FireWire on the card. In fact, I am mystified why you are using the PCI Express card in the first place. Your MacBook Pro has multiple USB ports. It also has a FW800 port. What do hope to gain by using PCI Express?
  9. timelessbeing thread starter macrumors member

    Oct 15, 2009
    I didn't do this...
    ... or this.
    USB was never part of the discussion. Reread the topic title.
    See my original post...
    I think you are confused. Not that I blame you. My posts are a bit long and rambling.
  10. Lennyvalentin macrumors 65816


    Apr 25, 2011
    I really doubt this is at all technically possible, since FW supports advanced features like DMA and peer-to-peer transfers, which USB2 does not. It's not really going to be possible to shoehorn in support for these features onto USB2 in a way that won't totally break compatibility with a lot of FW devices.

    Not to mention, FW is a much more efficient protocol than USB2, so a device expecting a high level of performance wouldn't be able to function (properly) anyhow.
  11. MisterMe macrumors G4


    Jul 17, 2002
    Posting your understanding of FireWire and USB specifications does nothing to diminish my warning that some OEMs tie the two ports together.
  12. Lennyvalentin macrumors 65816


    Apr 25, 2011
    What I'm saying is that due to FW being a more advanced and feature-laden protocol, it's not really feasible, or perhaps even technically possible, to do what you suggest. So it would in fact diminish your warning, yes.

    Would you mind mentioning a couple OEM devices that "tie together" these ports in such a way as you claim, because I've never heard of this. Ever.

Share This Page