WOW. I just did a little testing with my new 800 drive and was astounded to find how SLOW it was running on the mac pro here. (original 8 core):
Service-Right:~ root # dd if=/dev/rdisk1 of=/dev/null bs=1024000 count=1000
1000+0 records in
1000+0 records out
1024000000 bytes transferred in 24.799520 secs (41291122 bytes/sec)
40mb/sec! This is with a firewire 800 cable going from the enclosure to the 800 port on the front. Wait... that's about fw400 speeds isn't it? Changed to a 400/400 cable from the 400 port on front with 400/800 adapter at the enclosure:
Service-Right:~ root # dd if=/dev/rdisk1 of=/dev/null bs=1024000 count=1000
1000+0 records in
1000+0 records out
1024000000 bytes transferred in 25.020858 secs (40925855 bytes/sec)
SAME. OK. Try
rear 800 port instead of front:
Service-Right:~ root # dd if=/dev/rdisk1 of=/dev/null bs=1024000 count=1000
1000+0 records in
1000+0 records out
1024000000 bytes transferred in 11.909888 secs (85978978 bytes/sec)
Shazam! the 800 port on the front of the earlier mac pros runs at 400 speed!
I've already ran into a similar issue with my MBP, one of its USB ports runs a little slower than the other. (speed loss is almost identical to what you'd expect going through a USB hub so I am assuming internally that's the issue) But was NOT expecting this of the fw800 port on the front of the MP... The 800 port itself must just be wired up for 400, or the front panel board only has a 400 link to the logic board?
Additional:
I dropped block size from 1mb to 100k and upped block count from 1,000 to 10,000 (so still 1gb of data to test) and it cut transfer speed by about 15%. Going the other way didn't make a difference. So a block size of 1024000 (1mb) appears to be optimal for high speed devices. I also tested just now on a newer mac pro with dual 800's on the front and they
do run at 800 speeds.
One more thing it occurred to me to check is system profiler, to see if it lists as a 400 or 800 device:
Service-Right:~ root # system_profiler SPFireWireDataType
FireWire:
FireWire Bus:
Maximum Speed: Up to 800 Mb/sec
Unknown Device:
Manufacturer: OWC Mercury Elite
Model: 0x0
GUID: 0x23A409E010D860
Maximum Speed: Up to 800 Mb/sec
Connection Speed: Up to 800 Mb/sec
Sub-units:
Unknown Unit:
Unit Software Version: 0x10483
Unit Spec ID: 0x609E
Firmware Revision: 0x103
Product Revision Level: GKAO
Sub-units:
Unknown SBP-LUN:
Capacity: 1 TB (1,000,204,886,016 bytes)
Removable Media: Yes
BSD Name: disk1
Partition Map Type: GPT (GUID Partition Table)
S.M.A.R.T. status: Not Supported
Volumes:
OWC800:
Capacity: 999.86 GB (999,860,912,128 bytes)
Available: 938.89 GB (938,889,232,384 bytes)
Writable: Yes
File System: Journaled HFS+
BSD Name: disk1s2
Mount Point: /Volumes/OWC800
Built-in Hub:
Maximum Speed: Up to 800 Mb/sec
Connection Speed: Up to 800 Mb/sec
So it looks like Apple's hiding the issue ... Or rather they only tell you what everything is
theoretically capable of, and don't tell you what speeds you're
actually getting in the current configuration. Smacks of Vista Home telling you that you have "4gb RAM
installed" and then with enough digging it admits "3gb
usable".
Wow again. The revelations continue. This is the first time I've had my hands on a quality enclosure and it has USB (and eSata) on it as well so I'll test the USB also.
front USB: 1024000000 bytes transferred in 26.672113 secs (38392159 bytes/sec)
38mb/sec on USB. I have
never seen that good before. This is on the front USB port but I expect the back to be the same.
Next is my mbp (2.5ghz).
left USB: 1024000000 bytes transferred in 60.710148 secs (16867032 bytes/sec)
right USB: 1024000000 bytes transferred in 30.782929 secs (33265191 bytes/sec)
Yes really. Right port is
twice as fast as left port. Internally, the magport, usb port, and audio ports are on the "left io board", a separate part from the logic board, and I assume this is why it's slower, but that's sure quite a difference!
If memory serves me correct, I was getting a typical 9-12mb/sec on all the previous USB-only externals I've tested. (western digital, maxtor, hitachi) They must have low quality bridge chips - I don't think a really slow HD can even produce speeds that bad.
PMG5 here (dual 2)
front USB: 1024000000 bytes transferred in 64.991735 secs (15755850 bytes/sec)
rear USB: 1024000000 bytes transferred in 63.125977 secs (16221531 bytes/sec)
FW400: 1024000000 bytes transferred in 24.173656 secs (42360163 bytes/sec)
FW800: 1024000000 bytes transferred in 12.885357 secs (79470052 bytes/sec)
So on the G5 there's little usb port difference, and the FW is about the same as on the MP, though it's usb speeds are definitely a lot worse overall. (more than twice as slow) But nice to see the intels getting closer to the potential max for USB.
Lessons learned for greater disk speeds:
1) avoid all cheap large USB-only drives
2) avoid USB connections on PPCs
3) use FW800 whenever possible, it's worth almost any additional bother/cost
Just the last test on the PPC showed a difference in copying a gig, between 13 and 65 seconds, depending on connection. That's just
HUGE.
FWIW, I installed what looked like a good quality USB card in my G5 at home, and it did
nothing to improve speeds, so I assume it's an OS issue. (bus issue would affect firewire too wouldn't it?)