Hard Disk Interfaces

IDE and SCSI

There were two main types of hard disk architecture used in modern PCs. These were IDE (Integrated Drive Electronics) and SCSI (Small Computer Systems Interface).

The name IDE came about because in the old days, the disks themselves and the circuitry that accompanied them were not integrated into one unit, but were in fact separate hardware.

Up until around the era of the 486, connecting a hard disk still required a 'controller' card. This is a bit of a misnomer since control logic is actually part of the integrated circuitry that makes an IDE disk... erm, integrated. The controller card plugged into an ISA slot and thereby provided an interface between the system bus and the hard disk. A few years later, the interface was moved onto the motherboard as standard. Aside from improvements in speed, not much has really changed since.

The older IDE drives had an upper size limit of 528MB. While basically the same as IDE, the main functional difference of modern EIDE (enhanced IDE) disks is that this limit was surpassed. Most motherboards come with two EIDE interfaces (unless they support RAID, in which case they usually have more). Each EIDE interface on the board provides two EIDE channels, one of which is configured as the master and the other, if present, as the slave. Thus, typical boards support support four EIDE devices (which include hard disk drives, CDROM drives, DVD drives/writers and CD rewriters). The image below shows a typical pair of EIDE/ATA 40-pin connectors.

IDE slots

(Actually, modern boards use coloured connectors. With everything inside the box coloured, building a PC these days is about as hard as assembling a small piece of lego.)

SCSI controllers do not normally come integrated as standard on desktop PC motherboards. The SCSI connector is easily distinguished from the EIDE connector as the former resembles a long, thin serial port with 50, 68 or 80 pins (referred to as narrow, wide and ultra-wide SCSI).

A SCSI interface can support up to 7 or 15 devices (of various types, including hard disk drives and scanners). A few years ago, SCSI was the preference if a large amount of storage was required as it was faster and supported larger drives (although more expensive). These days that is no longer true. However, SCSI does support hot-pluggability and the drives are said to be more robust - qualities which may be desirable in servers.

IDE, ATA and ATAPI

What is ATA?

That's easy. ATA stands for Advanced Technology Attachment and refers to the formal standardisation of IDE devices.

ATAPI stands for Advanced Technology Attachment Packet Interface. This standard extends ATA for non-hard disk devices, such as CD-ROM drives.

ATA-2 was an extension to the standard that roughly correlates with what most people think of as "EIDE" This standard gives full DMA support. Since the drives still use the ISA bus, hard disk transfer rates were limited to 16MB per second (since ISA is a 16 bit bus, runs at 8.33MHz, and data is pushed down the wires once per clock cycle).

ATA-3: the major new implementation with this standard was support for S.M.A.R.T - Self Monitoring Analysis and Reporting Technology. This technology allows drives to monitor their own status and warn of impending drive failure. It does this by monitoring parameters such as temperature, spin-up time, head flying height, and remapped sectors. By following changes in these parameters, the user can be informed of impending failure. However, S.M.A.R.T can not fore-warn against unpredictable one-off catastrophic failures

ATA-4: This standard implements Ultra DMA, aka Ultra-ATA. At this time, hard disk mechanics had well exceeded the data transfer rates possible through the interface. This standard allows data to be pushed twice per clock cycle, thus doubling the bandwidth to 33MB/sec. Hence this is often described as ATA/33.

ATA-5: The bandwidth was doubled again, to ATA/66. Note that to use hard disks in this mode, an 80 line wire is required, rather than a standard 40 line wire.

Note the thinner wires in the 80 wire Ultra-ATA cables

The new Serial ATA standard

For those of you who know the difference between serial and parallel ports on a PC (see Comms Interfaces), the fact that Serial ATA (aka SATA) is replacing Parallel ATA may come as something as a surprise. Recall that serial communication involves sending bits one after another, sequentially, while parallel involves sending several bits of data in parallel. Thus, parallel is intuitively the quicker route. And indeed this is true for PC communication ports. But not so for hard disks.

So how does it work?

Well, parallel transfer over ATA works by sending data across multiple channels (i.e. in parallel) with every clock cycle. The upper speed limitation on this type of data transfer is imposed by interference caused between the channels at high clockspeeds. While serial transfer only uses a single channel - think of an A road compared to a multi-lane highway - interference is no longer a limitation. Therefore data can be pushed through much more rapidly. For example, with parallel ATA/100 (a common ATA standard supporting a throughput of 100MB/sec), the controller clock runs at 50MHz. This is as fast as the clock can go before interference becomes a problem. The first incarnation of SATA supports a throughput of 150MB/sec using a clock at 1500MHz! Back to our road analogy, think of our highway having a speed restriction of 50mph, while our A road flows smoothly with a speed limit of 1500mph! This transfer rate is expected to double every three years for the foreseeable future. Thus we can expect transfer rates of 300MB/sec in a couple of years.

(This is analogous to the differences between analog and digital video display adaptors. Traditionally, graphics cards have had analog video ports with 15 pins. Only 3 of those pins actually carry screen data: each carries analog information to describe the levels red, green and blue that make up each pixel on the screen. In the old days, graphics cards had digital interfaces where a wire was used for each bit in the display. This was fine for 4 bit display with only 16 colours, but is not practical for today's 16, 24 and 32 bit displays. So, instead of sending digital information down 32 lines in parallel, modern digital interfaces send the data down fewer wires in serial, just like in SATA.)

It should be noted that while data rates of 150MB/sec are quoted for SATA, with much larger figures expected soon, this is not the speed that a drive will actually transfer data. This is because the limiting factor on disk throughput is its mechanics, not the interface. Hence modern drives, even those using SATA/150, are unlikely to yield transfer rates much higher than 60MB per second.

Serial ATA interfaces are much smaller than the conventional 40-pin parallel connectors There are other advantages to SATA. Firstly, the interface is 7 pins rather than the 40-pin connector used in parallel ATA. Hence these interfaces occupy much less space.

Serial ATA cables are thinner and more flexible than their parallel counterparts Furthermore, this means that the cables themselves are much thinner and therefore more flexible. Since the cables and connectors occupy less space, there is more space in the case for heat dissipation. Also, SATA cables can be much longer than their parallel counterparts.

Parallel hard drives require a large signalling voltage of 5V per parallel channel. As chips become smaller and smaller, this kind of voltage is becoming increasingly difficult to supply. Serial ATA requires less than a tenth of this voltage for signalling. An upshot of this is that less heat is generated. Also, SATA drives use a new 15-pin power interface.

That's it for hard disk interfaces. Feel free to go on and look at formatting and file systems.