Processors keep getting faster and faster. Hard drives and SSDs are getting faster and faster. System memory gets faster and faster. Graphics processors get faster and faster. Network speeds get faster too. So why does so much feel slow?
My iMac is my most powerful Mac at present. It’s capable of running OS X 10.11 El Capitan. It could have an SSD installed. And it has a good amount of memory – six times what it shipped with. And it’s 10 years old. It’s a 20″ 2.4 GHz Early 2008 iMac.
My best Mac is a Late 2008 Aluminum MacBook running a 2.0 GHz Core 2 Duo CPU and loaded with 8 GB of memory and a 500 GB SSD. This machine has one bottleneck: The only way to connect an external drive is via USB 2.0.
With 480 Mbps of bandwidth, USB 2.0 was considered fast circa 2003, when it finally began to displace 12 Mbps USB 1.1 on Macs (USB 2.0 was finalized in 2001, but Apple didn’t want to undermine its own 400 Mbps FireWire technology). USB 2.0 is 40x as fast as USB 1.1, so it was a huge jump forward in throughput!
Then again, USB 1.1 was slower than the SCSI bus in pre-1998 Macs – a lot slower. And in 1999, Apple introduced FireWire, its answer to poky USB 1.1.
Speeds are in megabits per second. PCIe, PCI Mini Express, and mSATA are not included in this list, because there are so many variants of these protocols. For Macs with PCIe expansion slots, there are a lot of high speed options for super-fast SSDs, and for external use, USB 3.0 is fast and USB 3.1 faster yet. All modern Macs that use hard drives support SATA Rev. 3, so there are lots of hard drive and SSD options available for them.
- 10,000,000,000, USB 3.1
- 08,500,000,000, PCI-X bus
- 06,000,000,000, SATA Rev. 3
- 05,000,000,000, USB 3.0
- 03,000,000,000, SATA Rev. 2
- 02,128,000,000, 32-bit PCI or 66 MHz PCI bus
- 01,500,000,000, SATA Rev. 1
- 01,333,000,000, Ultra ATA/133
- 01,064,000,000, PCI bus
- 01,000,000,000, Ultra ATA/100
- 01,000,000,000, Gigabit ethernet
- 00,800,000,000, FireWire 800
- 00,667,000,000, Ultra ATA/66
- 00,640,000,000, NuBus 90
- 00,640,000,000, Ultra-640 SCSI
- 00,480,000,000, USB 2.0
- 00,400,000,000, FireWire 400
- 00,333,000,000, Ultra ATA/33
- 00,320,000,000, NuBus
- 00,320,000,000, Ultra-320 SCSI
- 00,160,000,000, Ultra3 SCSI
- 00,100,000,000, 100Base-TX ethernet
- 00,080,000,000, Ultra2 Wide SCSI
- 00,040,000,000, Ultra Wide SCSI/Ultra2 SCSI
- 00,020,000,000, Fast Wide SCSI/Ultra SCSI
- 00,012,000,000, USB 1.1
- 00,010,000,000, Fast SCSI
- 00,010,000,000, 10 Base-T ethernet
- 00,005,000,000, SCSI 1
- 00,000,230,400, LocalTalk
Bandwidth ≠ Throughput
Truth be told, 400 Mbps FireWire is generally faster than 480 Mbps USB 2.0, although that seems counterintuitive. Part of the reason is that no USB 1.1 or USB 2.0 device is able to use full bandwidth, giving USB 2.0 a real world ceiling of about 430 Mbps for an individual device. Add to that the fact that FireWire is an intelligent interface while USB is managed by the CPU, and you have one more reason for FireWire’s superior throughput.
I’ve been testing that using a nice bus-powered 2.5″ drive enclosure with USB 2.0, FireWire 400, and FireWire 800 ports. I did my early testing on my dual 2.3 GHz Power Mac G5, as it was my only Mac with FireWire 800 at the time. I tested six different notebook drives in this enclosure using Xbench 1.3.
I have also tested an external hard drive on my 20″ iMac using OS X 10.11 El Capitan.
On a Power Mac G5
My initial tests were performed using Mac OS X 10.5.8 Leopard, the highest version PowerPC Macs can use, and this Power Mac has 4 GB of RAM. The faster of two internal hard drives is a 3.5″ Western Digital (WD) SATA drive that achieved a maximum write speed of 53 MBps (424 Mbps) on the G5’s 1.5 Gbps SATA bus. Best read speed was 46.8 MBps (374 Mbps).
By comparison, a 7200 RPM 3.5″ Samsung hard drive in a USB 2.0 enclosure tops out at 13.34 MBps (186.7 Mbps) for writes, 14.73 MBps (117.8 Mbps) – 25% and 31% of the speed of the internal SATA drive.
Before testing the new enclosure, I dug out an old 40 GB 5400 RPM UltraATA drive in a USB 2.0/FireWire 400 enclosure. Here are the results:
- Maximum write: FireWire 400, 30.43 MBps; USB 2.0, 15.90 MBps
- Maximum read: FireWire 400, 19.01 MBps; USB 2.0, 14.81 MBps
On an Intel iMac
iMacs from 2006 through 2008 were a transitional design that used SATA for the hard drive but still used the older Ultra ATA/100 interface for their optical drives. Because of this, the easier solution of putting an SSD in the optical drive bay is not ideal – at best that would provide one-third the performance of the built-in 3 Mbps SATA Rev. 2 bus used by the hard drive.
I have a 2 TB 7200 rpm Toshiba DeskStar drive in the Iomega Mac Companion enclosure that I recently reviewed, which has USB 2.0, FireWire 400, and FireWire 800. The iMac was safe booted with Time Machine and File Sharing disabled before each of these tests. Numbers are the Xbench 1.3 drive score for sequential and random tests:
- USB 2.0: 42.9 seq., 51.9 random
- FireWire 400: 63.9 seq., 51.6 random
- FireWire 800: 94.2 seq., 55.5 random
- 3 Gpbs SATA: 120.1 seq., 39.41 random
Here are the maximum throughput scores:
- USB 2.0: 34.9 MB/s seq., 27.8 MB/s random
- FireWire 400: 40.9 MB/s seq., 24.4 MB/s random
- FireWire 800: 71.9 MB/s seq., 35.4 MB/s random
- 3 Gbps SATA: 98.3 MB/s seq., 34.8 MB/s random
The internal SATA bus is great with sequential transfers, but the old 7200 rpm 250 GB internal hard drive with it 8 MB buffer can’t hold a candle to the 7200 rpm drive in the external enclosure with its 64 MB buffer in the random tests. Although SATA Rev. 2 has almost 4x the bandwidth of FireWire 800, FireWire 800 actually edges it out in the random benchmark!
Swapping this hard drive into the iMac would make for a huge difference overall, but I am more interested in putting in an SSD, which will really speed things up.
It’s All Relative
Today’s fastest SATA bus, Revision 3, has 6 Gbps (6,000 Mbps or 600 MBps) bandwidth. SATA Rev. 2 is half that, and the original SATA standard half that – 1.5 Gbps or 150 Mbps. This compares favorably with the older Ultra ATA standards of 33, 66, 100, and 133 MBps.
On the external interface side, FireWire 800 has just over half the bandwidth of SATA Rev. 1, and FireWire 400 is half that at 400 Mbps/50 MBps. As noted above, USB 2.0 tops out at 280 Mbps (or 35 MBps), putting it roughly on par with the Blue & White Power Mac G3 introduced over 15 years ago in January 1999 – coincidentally the first Mac with FireWire (the 400 Mbps version), which has over 40% greater bandwidth.
Wicked Fast Interfaces
Gigabit ethernet has 1,000 Mbps of bandwidth, making it slower than any SATA version but also over three times as fast as USB 2.0. USB 3.0 took the Universal Serial Bus to the next level with 5 Gbps of bandwidth, although in the real world you can expect about 3.2 Gbps performance – a bit more than the maximum for SATA Rev. 2. USB 3.1 doubles bandwidth from USB 3.0.
Thunderbolt arrived in 2011 with 10 Gbps of bandwidth (and real world 1.0 GBps throughput), which Thunderbolt 2 doubles to 20 Gbps, maintaining twice the bandwidth of the current USB specification. And at the top of the bandwidth pile is PCIe (PCI Express), which Apple now uses for its SSDs. Apple currently uses 4x (four lane) PCIe, which provides 2 GBps (16 Gbps!) of bandwidth. Real world throughput is up to 1.2 GBps according to OWC.
Apple now uses USB-C connectors to support USB 3.x, Thunderbolt, and video I/O.
keywords: #bandwidth #throughput
short link: https://wp.me/p51SSp-4On