Various disk interfaces in use in TCM
The Integrated Drive Electronics interface appeared in 1986, and became Enhanced in the early 1990s. Also called AT Attachment.
It is a parallel interface, with 16 bits of data and a 40 wire ribbon cable. Each controller supports just two drives, one "master" and one "slave", the social distinction being made either by jumpers on the drives, or by the position of the drive on the cable (cable select). Maximum cable lengths are very short (18"), so it is suitable for internal drives only.
Early versions could not support "large" drives (including CD readers!), and could not query drives in order to detect their capacity. Indeed, IDE originally addressed disk blocks in terms of cylinder, head and sector (CHS). This scheme requires the host computer to know the details of the disk geometry (such as how many heads it has), and is now replaced by Linear Block Addressing (LBA), in which the disk blocks are referenced by number, starting at zero.
Enhanced IDE can support CD drives, and can request that a drive identifies itself. Early PCs had one IDE controller, whereas from the mid 1990s two became standard, thus supporting four devices.
The original standard did not permit the drive to transfer directly to the host computer's memory, but rather via the CPU, and achieved speeds of between 3MB/s and 8MB/s. By the mid 1990s Direct Memory Access transfers appeared, alongside new CPU-driven speeds, both reaching 16MB/s. However, the greater efficiency of (Ultra) DMA won, and later modes were all DMA. The speed is usually expressed in MB/s: hence ATA-33, ATA-66, ATA-100 and ATA-133. All devices have to run at the speed of the slowest on the cable, and the faster UDMA modes require 80 wire cables which have a ground wire between each pair of signal wires, in order to minimise crosstalk. They still use the same 40-pin connectors.
UDMA cables (>=ATA66) must have 80 conductors, and the end intended for the PCB must be blue, that for the master black, and the slave grey. Cable select must be supported, although the slave connector is optional. The black connector must be at the end of the cable. The cable is asymmetric. Disks can tell whether they have a 40 or 80 conductor cable (one pin is wired differently), and will not enable ATA-66 and above on 40 pin cables.
So far (2003) there have been five revisions to the original ATA/IDE standard.
ATA Packet Interface is physically identical to ATA, but supports some extra commands "borrowed" from SCSI which are necessary to run tape drives or CD readers and writers on an ATA interface.
Serial ATA is a development of ATAPI which uses cables with just seven wires (hence serial) and runs at 150MB/s. The cables are point-to-point, that is, just one device per controller, not two. The original ATA is sometimes called PATA (Parallel ATA) to distinguish it.
The Small Computer System Interface is a few years older than IDE, although more sophisticated, and has always used LBA. It too comes in a large number of flavours, and is often seen supporting scanners as well as drives.
Each SCSI controller can support 7 (or 15) devices, rather than just two as in IDE, and the data path is 8 bits wide, or 16 for "wide" SCSI. The maximum cable lengths are much longer, hence SCSI is suitable for external peripherals.
The original SCSI (SCSI-1) used a 5MHz 8 bit data path, and a separate 5MHz command path. The maximum cable length was 6m.
SCSI-2 doubled the data speed, halved the maximum cable length, and introduced the option of a 16 bit data path. Ultra SCSI increases the data speed again to 20MHz, and halves the cable length. Thus Wide Ultra SCSI can manage 40MB/s theoretically.
The more expensive (high voltage) differential SCSI standard is similar to the above, but each data bit is transfered down a twisted pair of wires which have no net current so as to reduce interference and increase cable length. Differential SCSI can drive 12m cables at Ultra SCSI speeds. Non-differential SCSI is often called Single Ended (SE). Differential and SE equipment cannot be mixed.
In the late 1990s Low Voltage Differential SCSI was introduced. This is always 16 bits wide, and can support 12m cables at 40MHz (80MB/s, Ultra2 LVD), or 6m at Ultra160 or Ultra320 speeds. The command rate is still 5MHz. LVD devices will autosense and operate as Ultra SE devices if necessary.
SCSI cables must always be terminated with impedance matching devices which eliminate reflections from the free end of the cable.
Fibre Channel was originally SCSI over optical fibre, running at 1GBit/s (100MB/s after decoding) in each direction, and supporting 127 devices per controller and hundreds of metres of cable length. However, confusingly, a fibre channel over copper standard was also produced, which uses twisted pair serial copper cables.