Monday, November 30, 2009

QuickStudy: Serial vs. Parallel Storage

Computerworld - Data stored on disk is made up of long strings (called tracks and sectors) of ones and zeroes. Disk heads read these strings one bit at a time until the drive accumulates the desired quantity of data and then sends it to the processor, memory or other storage devices. How the drive sends that data affects overall performance.

Years ago, all data sent to and from disks traveled in serial form—one bit was sent right after another, using just a single channel or wire.
More
Computerworld
QuickStudies

With integrated circuits, however, it became feasible and cheap to put multiple devices on a single piece of silicon, and the parallel interface was born. Typically, it used eight channels for transmission, allowing eight bits (one byte) to be sent simultaneously, which was faster than straight serial connections. The standard parallel interface used a bulky and expensive 36-wire cable.

So why are vendors dropping parallel interfaces in favor of serial ones, when we need to get data to and from disks faster than ever?

For example, most printers don't even come with parallel ports anymore. Laptops have dropped traditional parallel and serial ports in favor of higher-speed Universal Serial Bus and IEEE 1394 ports. [See QuickLink 29332 for more about these technologies.] We now see this same migration in the interfaces that connect disk drives.

At first glance, this seems counterintuitive. Isn't parallel more efficient than serial, with more capacity? Not really, and certainly not anymore. At current speeds, parallel transmission has several disadvantages.

Processing Overhead

First, remember that data is stored and retrieved one track at a time, one bit at a time. We talk about bytes for convenience, but a byte is just a line of eight bits in a row, and ultimately, we have to process each bit separately.

Thus, before we can send a byte in parallel to a disk drive, we have to get those eight bits and line them up, funneling each to a different wire. When we've done all the processing and moving to get them all ready, we fire off that byte.

At the other end of the cable, when the drive receives the bits, it must go through the reverse process to convert that byte back into a serial bit stream so the disk drive write heads can write it to the disk.

To visualize this another way, think about what's almost precisely the reverse process—converting parallel to serial for transmission and back again. This is what happens in sending Morse code over a telegraph line. The message starts out as written words (think parallel) on a sheet of paper. A processor (i.e., the operator's brain) has to convert each letter into a series of dots and dashes (serial) and then send these over the wire.

At the receiving end, another processor has to listen to these serial dots and dashes, then convert them back into letters and words. A lot of overhead is required because the transmission medium doesn't match the original input or desired output.

Signal Skewing

As a signal travels over a wire or an integrated circuit trace, imperfections in the wires or integrated circuit-pad drivers can slow down some bits.

In a parallel connection, the eight bits that leave at the same time don't arrive at the other end at the same time; some will get there later than others. This is called skew. To deal with this, the receiving end has to synchronize itself with the transmitter and must wait until all bits have arrived. The sequence of processing is this: read, wait, latch, wait for clock signal, transmit.

The more wires there are and the longer the distance they span, the greater the skew and the higher the delay. This delay limits the effective clock rate as well as the length and number of parallel lines that are feasible to use.

Crosstalk

The fact that parallel wires are physically bundled means that one signal can sometimes "imprint" itself on the wire next to it. As long as the signals are distinct, this doesn't cause problems.

But as bits get closer together, signal strength attenuates over distance (especially at higher frequencies), and spurious reflections accumulate because of intermediate connectors. As a result, the possibility for error grows significantly, and the disk controller may not be able to differentiate between a one and a zero. Extra processing is needed to prevent that.

Serial buses avoid this by modifying signals at the time of transmittal to compensate for such loss. In a serial topology, all the transmission paths are well controlled with minimum variability, which allows serial transmission to run reliably at significantly higher frequencies than parallel designs.

The Newer, Smaller Serials

We've already seen serial connections displace parallel ones for printers and other peripherals. Now, inside computers, we're replacing parallel connections to disk drives and arrays, both SCSI and Advanced Technology Attachment (ATA), with a new serial architecture called Serial Attached SCSI and Serial ATA .

Other storage-related serial system interfaces include Serial RapidIO, InfiniBand and Fibre Channel.

Problems With Parallel




Kay is a Computerworld contributing writer in Worcester, Mass. You can reach him at russkay@charter.net.

See additional Computerworld QuickStudies

No comments: