With so many fast types of computer I/O now available (Thunderbolt, USB3, ESATA etc) Phil Rhodes explains everything you need to know about connecting storage to your computer
Last time, we discussed the way in which data moves around inside computers, particularly with regard to getting HD video from input-output cards to the memory and processor and back again in a timely manner. Usually, though, we'll want to do far more than that. We need to store or retrieve video on disk, process it on a graphics card, with or without sending it through the mangle of a nonlinear editor. We know that the things which connect the CPU, memory, and expansion cards together are fast enough to handle this sort of work without breaking a sweat. What about everything else?
The saga of SATA
The vast majority of hard disks you can buy at the moment use an interface standard known as SATA. This acronym has a rather complicated history where the "S" refers to the serial, rather than parallel, nature of the communication and ATA refers to the old “AT Attachment” standard which it replaces. "AT" is a reference to IBM's original PC/AT design, where it stood for “Advanced Technology”. SATA outperforms the previous parallel architecture, with its familiar 40-way ribbon cables, using the same techniques by which PCIe outperforms PCI – sending information down a single lane of communication, and avoiding the timing problems inevitable when many simultaneous signals must work together. Also, like PCIe, it uses differential signalling, where the signal is sent alongside an electrically inverted version of itself. Any noise is superimposed on the two signals identically, and when the inverted version arrives at the receiver it can be re-inverted. The inverted signal is now back to normal, but the noise on it is inverted with respect to the normal signal. Summing these two signals therefore cancels the noise by destructive interference, providing a much more robust channel of communication.
This technique is key to successfully handling higher data rates and offsetting the reduction in performance inherent to sending one bit after another as opposed to all at the same time. It is not a new technique, having been used in the audio field with analogue signals for perhaps a century, which is why XLR microphone connectors have three pins; for the normal signal, inverted signal, and ground.
This approach – differentially signalled channels of high speed serial – is becoming extremely common in modern computing. Apart from SATA, the same method is also used by PCIe, USB, firewire, DVI and HDMI, DisplayPort, Thunderbolt, twisted-pair Ethernet, and others such as AES digital audio (which was intended to be run over existing XLR microphone cabling). Beyond the most basic levels of electrical signalling, though, they are be quite different, and it's important to understand why certain configurations of external expansion buses sometimes seem to work better than others.
Until Thunderbolt, internal expansion buses were generally much faster than external ones – and really, that hasn't much changed. Despite being commonly proposed as (or at least assumed to be) a replacement for internal expansions, Thunderbolt itself has a bandwidth of about 10 gigabits per second over copper wire, which is only equivalent to two of the PCIe 2.0 links common in workstations at the time of writing. Even if Thunderbolt is used to connect a single device, without the included DisplayPort link being used, it is only half as capable as the interface provided to a single modest PCIe card, most of which, other than graphics cards, use four lanes.
Recently, one manufacturer announced an adaptor case that would allow an internal graphics card to be connected to a laptop, which would otherwise lack a PCIe expansion slot to accept it, via thunderbolt. This is useful, but it's worth bearing in mind that graphics cards are commonly 16-lane PCIe devices, for a total of 80 gigabits per second against the perhaps ten available over Thunderbolt.
Exotic new interfaces aside, this sort of problem is easy to encounter in other circumstances. For instance, modern hard disks are very often mechanically capable of exceeding the 480 Mbps (60 megabytes per second) of which USB 2.0 is capable, especially given that there are likely to be other USB devices on the same bus competing for bandwidth. USB 3.0 is the suggested replacement, working at up to 5 Gbps (or 5,000 Mbps, equal to 625 megabytes per second), although USB3 itself is not yet universally available.
Perhaps a better solution would be to remove the SATA hard disk mechanism from its USB-compatible enclosure, which is really just a SATA to USB signal converter, and plug it directly into an ESATA port – the E stands for “external”, and an ESATA port really is little more than a SATA port made more rugged, for external use. This offers a number of advantages: as each SATA channel is privately reserved for a single hard disk (except in some exotic configurations), there is no competition between devices. SATA is also full-duplex, meaning it can send and receive simultaneously whereas USB cannot, and the CPU is relieved from the work of managing the USB bus, which is more work than allowing a SATA controller to do its job. This is an example of achieving better performance by removing complicated systems from the chain, which is a good idea in most instances, even though USB may be more convenient than a lower-level interface that might require opening the computer's case.
Buses such as USB (which may now rival a single PCIe link for performance, at least on paper) are still very convenient and more than adequate for simple devices such as mice and keyboards. Modern variations such as USB3 and Thunderbolt (which is only twice as fast) can be extremely effective with portable hard disks, up to and including very fast flash-based solid state disks (SSDs), which is how offloads from devices like Atomos's onboard recorders work – although ESATA could also be used, possibly with a performance edge.
At the high end, when we're building big disk arrays for demanding work, there is still no real alternative to a PCIe SATA RAID controller connected to an array of disks, about which I've written recently. Current Thunderbolt bandwidths are adequate for normal uncompressed HD work, but the 1.25 gigabytes per second theoretically available (which will be less in practice) could easily be challenged by the demands of uncompressed 4K, regardless of how big a disk array you put on the end. At these levels, USB, of any revision, need not apply, and a single SATA link, at 0.6 gigabits, is unlikely to cut the mustard either. So, much as modern external buses are convenient, it's likely that we'll still be plugging circuit boards into other circuit boards for the foreseeable future.
There are of course many things, such as SCA disks, SCSI and a lot of older things, which I've had to omit from this discussion for the sake of space while trying to tailor to be useful to someone specifying a video workstation in 2013. Either way, perhaps we'll hear about what people are specifying for this sort of work in the comments.
For part 1 of this article, “How fast is your computer inside” click here.