PCI IDE Controller

From OSDev.wiki
Jump to navigation Jump to search

IDE is a keyword points to the semi-conductors on the mother-board that controls ATA Drives(like ATA Hard-Disks). ATA (AT-Attachment) is the interface of this drives. IDE also can be an IDE card connected to PCI.

ATAPI is an extension to ATA. ATAPI (ATA Packet Interface) adds the support of Drives wich uses SCSI Command-Set (like ODDs (Optical Disk Drives .e.g CD-ROMs, DVD-ROMs), Tape Drives, and ZIP Drives).

Parallel/Serial ATA/ATAPI

IDE can allow even 4 drives to be connected to. Each drive may be:

  • 1. Parallel AT-Attachment [PATA]: Like PATA HDDs.
  • 2. Parallel AT-Attachment Packet-Interface [PATAPI]: Like PATAPI ODDs.
  • 3. Serial ATA [SATA]: Like SATA HDDs.
  • 4. Serial ATAPI [SATAPI]: Like SATAPI ODDs.

We can ignore Tape Drives and ZIP Drives as they are obseleted. The Way of accessing ATA Drives is one, means that the way of accessing PATA HDDs is the same of SATA HDDs. also the way of accessing PATAPI ODDs is the same of SATAPI ODDs. For that, for IDE Device Driver, it is not required to know if a drive is Parallel or Serial, but it is important to know if it is ATA or ATAPI.

IDE Interface

File:Ide-motherboard-connectors.jpg
The white and green ports are the Parallel IDE ports on the motherboard.
File:PATA-Cable.jpg
PATA Cable which is connected to Parallel IDE Ports on motherboard.


If you open your case and look at the mother board, we will see a port or two like these in the picture to the right.

The white and green ports are IDE Ports, each port of them is called channel. so there is:

  • Primary IDE Channel.
  • Secondary IDE Channel.

These Ports allows only Parallel Drives to be connected to, means that it supports only PATA/PATAPI Drives.



Each Port can has a PATA cable connected to, it is like this in the photo to the right. One master drive, or two drives [Master and Slave] can be connected to one PATA Cable. So we can have:

  • Primary Master Drive.
  • Primary Slave Drive.
  • Secondary Master Drive.
  • Secondary Slave Drive.

Each Drive May be: PATA or PATAPI.



But What about Serial IDE? Almost many of modern motherboards have a Serial IDE which allows SATA and SATAPI Drives to be connected to. Serial IDE Ports are 4: Image Each Port is conducted with a Serial Cable: Image So from the picture we can understand that only one drive can be connected to Serial IDE Port. So each two ports make a channel, and also Serial IDE has: - Primary Master Drive [Port1, or Port 2], also called [SATA1] in BIOS Setup Utility. - Primary Slave Drive [Port 1 or Port 2], also called [SATA2] in BIOS Setup Utility. - Secondary Master Drive [Port 3 or Port 4], also called [SATA3] in BIOS Setup Utility. - Secondary Slave Drive [Port 3 or Port 4], also called [SATA4] in BIOS Setup Utility.

Please if you wanna support only the Parallel IDE, skip the part of [Detecting an IDE].