I got a task last week to copy about 8TB of data onto a a set of internal hard drives. No big deal, right? Well, not so fast. For starters, the 8TB of data is distributed onto 4 Maxtor external drives (2TB each). And all I have is a laptop…a Lenovo T61 to be exact. The Maxtor external drives have USB 2.0, Firewire400 and Firewire800 connections…but unfortunately my laptop only has USB 2.0 ports and a single Firewire400 4-pin port, not the standard 6-pin port that peripherals typically use. The internal hard drives are 2TB Seagate Barracuda models…with SATA connectors. The laptop has a single SATA connector in a proprietary IBM hard drive bay.
My initial question was…how am I going to do this with a laptop? Taking the stuff home was not an option. Luckily, my IT guy had a spare SATA to USB 2.0 adapter. I was also able to find a gutted LaCie external drive enclosure. Unfortunately, the LaCie drive enclosure utilizes a proprietary LaCie RAID 0 controller which is designed to stripe data across two drives…so just popping two of the SATA drives into this thing was a no-go.
My only choice at this point was to take the SATA to USB adapter and connect that to one of the internal drives. But what about providing power to the drive? That’s where the LaCie external drive comes into play. I used that to provide the power. So to verbalize what has happened at this point…I have a 2TB internal drive powered by a gutted LaCie external enclosure and connected to one of my laptop’s USB ports using the USB-to-SATA converter. I connected all of the Maxtor units to the laptop via USB. You can see some of this mess in the picture.
The issue with this setup is that each one of these 2TB internal drives needs to be formatted…and formatting a drive of this capacity takes…in the neighborhood of 6 hours. After the drive is formatted…I have to then copy the massive chunks of data to the internal drive(s). I found a utility out there that is roughly 3x faster than the native XP copy…it is called FastCopy. Using this, I am able to copy at a data rate of approximately 17.7MB/s from the Maxtor external to the Seagate internal. Unfortunately, at 17MB/s, a single copy of 1TB of data can take 17 hours!
My bright idea was to kick off a copy session of one of the largest segments of data late Friday afternoon…so that when I got to work on Monday, 2TB of the data would be transferred. Unfortunately, I was told that power to the building was lost at approximately 6:00PM…so all was lost.
In frustration, I went and bought several things to speed up this process. I could have gotten a SATA enclosure, but I ended up getting an eSATA PCMCIA card for starters…with dual controllers on board. Even with this, the theoretical limitation on speed is 33MB/s because of the antiquated Cardbus architecture. So I also got a USB2.0 to SATA bridge appliance; a tiny thing that plugs in to the USB port and provides SATA connectivity at USB 2.0 speeds. I am using that to format one of the drives. While that one is formatting, I am using the eSATA card to copy data to two of the drives. And I also found a 4-pin to 6-pin Firewire400 adapter.
You might be wondering…how can Firewire400 be any faster than USB 2.0? USB 2.0 is spec’d out at 480 Mbps…and Firewire400 tops out at 400 Mbps. The difference is the architecture. Firewire400 uses a peer to peer architecture in which the peripherals are intelligent and can negotiate bus conflicts to determine which device can best control a data transfer. USB 2.0 uses a master-slave architecture in which the computer handles all arbitration functions and dictates data flow to, from and between the attached peripherals (adding additional system overhead and resulting in slower data flow control). In effect, the USB architecture is CPU bound and the Firewire architecture offloads the processing to the hardware controller. Additionally, using the Firewire channel to read the data and the USB bridge to write the data is much, much faster than performing read-writes on a single USB bus…that is sort of akin to the old days when you would connect your IDE hard drives to different controllers to get faster throughput.
Here I sit again..watching bits get shuffled single file through a maze of cables. Yes, it is definitely a Monday.