How ide controllers work

How ide controllers work

Integrated Device Electronics (IDE) is one of the existing standards that define how hard drives interface with other components on the PC motherboard. IDE was first developed and implemented by Compaq in 1986 for its Deskpro 386 computer, and further refined by Western Digital. IDE is a spin-off of the AT-Attachment (ATA) standard originated by IBM for its AT computer. At a much lower cost, IDE combines the motherboard and controller card on a single device for transparency and ease of use.

Before IDE was created, hard drives were connected to the motherboard via a disk controller in the computer. The hard drive’s geometry, i.e. physical features, such as the number of tracks, sectors, and platters, had to match one of the pre-existing hard drive configurations in the CMOS, software that defined system parameters.

The BIOS (basic input-output software) would then use the information in the CMOS to drive data transfer between the hard drive and the CPU (central processing unit i.e., the brains of the computer) via the controller. Problems often arose if a hard drive made by a particular manufacturer was connected to a disk controller made by another manufacturer.

The proprietary nature of either component could result in the hard drive not being recognized in the CMOS. Using a non-proprietary controller and hard drive could cause erosions in the signal quality driving data transfers and poor performance.

The invention of IDE essentially eliminated the need for separate controllers and hard drives. The controller was now integrated onto the hard disk drive. The CMOS no longer had to worry about signal translation for each hard drive type. The integrated controller was able to translate the signals so that it worked correctly with the physical features of the drive. IDE also simplified firmware implementations.

Motherboards today come with two IDE connectors: a primary and a secondary connector, also known as primary and secondary host adaptors respectively. Each host adapter can interact with two drives. Therefore, a PC can have a maximum of four drives attached to the motherboard. For each connector combination, there can be a master (primary hard disk) drive and a slave (secondary hard disk) drive.

A 40-pin ribbon cable connects the hard disk drive to the host adapter on the motherboard. A connector at one end, usually labeled blue, is connected to the motherboard. Two-thirds of the way down the cable another two connectors attach to the hard drives: the grey connector attaches to the slave device, while the black connector attaches to the primary master drive.

Each cable contains wires laid side by side to each other. The wires act as a conduit by which information travels from the CPU to the disk drive and vice versa. Each wire, called pins, is responsible for a particular function. Pins interspersed across the cable ground the components, while read/write pins direct the read/write activities of the hard drive. The pins also control input and output between the CPU and hard disk drive, data transfers, and address signals.

Communication between the motherboard components and the hard drive is accomplished using this cable. When the hard disk drive needs to communicate with the CPU, the operating system issues a command to the IDE controller on the hard disk drive, sending signals down the pins of the cable to the CPU.

When the CPU needs to communicate with the hard drive, it again sends signals down the pins to the controller, which handles the read and write functions of the hard disk drive. This process is known as PIO (processor I/O). The drives are able to access the resources on the motherboard directly through the controller, supporting direct memory access (DMA).

The IDE format is known as the ATA-1 standard. Because of the increasing capacity requirements that software programs demanded and the relatively limited capacity in the original IDE interface (IDE supports hard drive geometries of 1024 cylinders, 255 heads, and 63 sectors per track in its cylinder-head-sector (CHS) format, thus equaling 528 megabytes (MB)), several standards have evolved from the IDE legacy to support larger drive formats.

An extension of the ATA-1 format is Enhanced IDE, also known as the ATA-2 standard. First developed by Western Digital, EIDE provided increased data transfer rates from 4.16 megabytes per second (MBps) up to a maximum of 16.67 MBps, making PIO faster. Large Block Addressing, LBA, was added as a new translation method in the CMOS. Hard drive capacities improved to 136.4 gigabytes (GB) when used with new BIOS updates. The EIDE format also had an auto-translating feature which added additional drive parameters to the BIOS of the PC motherboard.

The next standard to emerge was the ATA-3 format. Adding to the EIDE standard, Self-Monitoring Analysis and Reporting Technology (SMART) drives were created to increase security and reliability on hard drives. Power management capabilities were also added to ATA-3.

Prior standards supported the connection only of hard drives to the motherboard bus. Subsequently, the ATA-4 standard arose with support for Ultra DMA (UDMA) features and the AT Attachment Program Interface (ATAPI). ATAPI provided an interface for the attachment of CD-ROM drives, tape backup drives, and other removable storage drives. Transfer rates for UDMA hard disk drives increased from 16.67 to 33.33 MBps.

Finally, the most current standard to derive from IDE is the ATA-5 standard. These hard drives are now built with auto-detection features by the PC’s CMOS. The hard drive transfer rates have been increased as well, improving to 66.67 megabytes per second. Further refinements on this technology have produced hard disk drives that improve transfer rates to as much as 133 megabytes per second.

IDE interfaces provide an efficient and low-cost means to drive data transfer between storage directly with motherboard components. Rapidly developing hard disk drive technology will further refine the existing IDE standards, and will facilitate faster data transfers and improve storage capacities to meet the demands of evolving software packages.

Leave a Comment