Linux+: Hardware Part 15 – Integrated Drive Electronics (IDE) The Integrated Drive Electronics (IDE) is one of the main drive types available in computer systems. IDE drives are inexpensive compared to other Hard Disk Drive (HDD) types and are installed in most desktop systems. The term IDE refers to the hard disk as well as the built-in controller. The IDE drive is connected to a 40-pin connector on the motherboard or an expansion card. Since the controller is built-in to the hard drive, the connection on the motherboard or expansion card, is not the controller. The connection on the motherboard or expansion card is an Industry Standard Architecture (ISA) slot. If the expansion card were in a Peripheral Component Interconnect (PCI) slot, then the card operates as a bridge between the Host Bus and the AT Attachment (ATA) interface. NOTE: The AT stands for Advanced Technology as used by IBM. When the ATA specification was released, Advanced Technology was simply made AT to prevent litigation with IBM. The AT Attachment (ATA) interface is a storage device standard known as Parallel AT Attachment (PATA). The Parallel in PATA refers to the fact that the data is sent in a parallel fashion. Data sent in parallel means that multiple signals are sent at once along multiple wires. In this way data can be sent as whole bytes or multiple bytes at once instead of a single byte at a time as with Serial interfaces. NOTE: PATA is being replaced with Serial AT Attachment (SATA) devices. Original ATA interfaces (ATA-1) only allowed for IDE drives to be connected to them. In 1994, Western Digital introduced Enhanced IDE (EIDE) devices. Most of the Western Digital EIDE specifications became the ATA-2 standard. ATA-2 allowed for the addition of non-HDD devices to be attached to the connections such as CD-ROM drives and tape drives. NOTE: Originally CD-ROM drives were connected to a system by the sound card so it allowed audio CD’s to be listened to on the computer. Even EIDE devices are still referred to as IDE. Another part of the EIDE specification was the ATA Packet Interface (ATAPI). ATAPI specified the ability for removable media to be used as well as the ability to determine if the media was present in the device. Devices such as CD-ROM drives could be issued a command to eject the media which was not present in the IDE specification. The IDE and EIDE specification could allow for two drives on one controller. If an IDE device were attached to a cable it would be considered a Stand alone device. When two devices are connected on a cable, one device is set as the Master (MS) and the other is the Slave (SP) device. The controller on the Master device also controls the Slave device. To specify which drive is which, jumpers are set on the IDE devices to specify Master or Slave. NOTE: On one cable there must be a Master device and only one Master device when two devices are present. When there is only one IDE device present on the cable there is a jumper setting for Stand-alone (Master with no Slave). One other option of jumper settings is Cable Select (CS). When set on the devices a special cable is required. When used, the end device is set as Master and the middle device on the cable is set as the Slave. There are two data transfer methods for IDE: Programmed Input/Output (PIO) Direct Memory Access (DMA) The PIO method requires that all data pass through the Central Processing Unit (CPU). By requiring data to go through the CPU, it is easy to see that this method can cause the CPU to be busy when data is transferred which can slow other processes. There are five accepted PIO transfer modes. Each mode allows for a different transfer speed and the faster the speed the faster the CPU must be to support it as follows: Mode 0 – 3.3 MB/s Mode 1 – 5.2 MB/s Mode 2 – 8.3 MB/s Mode 3 – 11.1 MB/s Mode 4 – 16.6 MB/s DMA allows data to be passed to and from the Random Access Memory (RAM) and the IDE device without passing through the CPU. The transfer does require the use of the bus which will slow down other process as well. Any processes in the CPU will be processed, but new data cannot be retrieved from outside the CPU until the bus is free. There are two types of DMA data transfer: Single word Multiple word In the Single word transfer, a single word of data is transferred at once. Depending on the device and system, a Single word is sometimes a single byte of data (eight bits). In Multiple word transfers, data is sent as multiple bytes. For Single word DMA transfers, there are three modes as follows: Mode 0 – 2.08 MB/s Mode 1 – 4.16 MB/s Mode 2 – 8.33 MB/s For Multiple word DMA transfers, there are six modes as follows: Mode 0 – 4.16 MB/s Mode 1 – 13.33 MB/s Mode 2 – 16.6 MB/s Mode 3 – 33.3 MB/s (UDMA/33, PATA/33) Mode 4 – 66.6 MB/s(UDMA/66, PATA/66) Mode 5 – 100 MB/s(UDMA/100, PATA/100) NOTE: DMA and PIO modes are usually set up in the BIOS.