Single, Master and Slave Drives and Jumpering

Each IDE channel can support either one or two devices. IDE devices of course each contain their own integrated controllers, and so in order to maintain order on the channel, it is necessary to have some way of differentiating between the two devices. This is done by giving each device a designation as either master or slave, and then having the controller address commands and data to either one or the other. The drive that is the target of the command responds to it, and the other one remains silent.

Note that despite the hierarchical-sounding names of "master" and "slave", the master drive does not have any special status compared to the slave one; they are really equals in most respects. The slave drive doesn't rely on the master drive or anything like that, despite the names. The only practical difference is that the PC will assign drive letters to the master drive before the slave drive, so that if you have a master and slave on the primary IDE channel and each has only one regular, primary partition, the master will be "C:" and the slave "D:". This means that the master drive (on the primary channel) is the one that is booted, and not the slave.

Devices are designated as master or slave using jumpers, small connectors that fit over pairs of pins to program the drive through hardware. Each manufacturer uses a different combination of jumpers (usually named differently) for specifying whether its drive is master or slave on the channel. Some disks put this information right on the top label of the drive itself, while many do not; it sometimes takes some hunting around to find where the jumper pins are on the drive even once you know how the jumpers are supposed to go. Jumpering information is always available in the manual of the hard disk, or by checking the manufacturer's web site and searching for the model number.

ATAPI CD-ROMs are jumpered in exactly the same way, and they have the advantage of having their jumpers much more universally labeled than their hard disk counterparts. Most CD-ROMs have three jumper blocks at the back, labeled "MA" (master), "SL" (slave) or "CS" (cable select).

If you are using two drives on a channel, it is important to ensure that they are jumpered correctly. Making both drives the master, or both the slave will likely result in a very confused system. Note that it makes no difference which connector on the IDE cable is used in a standard IDE setup, because it is the jumpers that control master and slave, not the cable. (This does not apply when cable select is being used.)

As long as one is jumpered as master and the other as slave, any two IDE/ATA/ATAPI devices should work together on a single channel. Unfortunately, some older hard disks will fail to work properly when they are placed on a channel with another manufacturer's disk. This can be extremely frustrating, and there usually is no solution, other than separating them onto different channels. Sometimes brand X won't work as a slave when brand Y is the master, but X will work as a master when Y is the slave. This compatibility problem is a result of non-adherence to the ATA standards, many years ago, and as time goes on and more of these older drives fall out of the market this becomes less and less of a concern. Any hard disk bought in the last three years should work just fine with any other of the same vintage or newer.

When using only a single drive on a channel, there are some considerations to be aware of. Some hard disks have only a jumper for master or slave; when the drive is being used solo on a channel it should be set to master. Other manufacturers actually have three settings for their drives: master, slave, and single. The last setting is intended for use when the drive is alone on the channel. This type of disk should be set to single, and not master, when being used alone.

Officially, a single device on an IDE channel should not be jumpered as a slave. In practice, this will often work despite being formally "illegal". Many (most?) IDE CD-ROMs come jumpered by default as slave, because they are often made slaves to a hard disk's master on the primary IDE channel and so this saves setup time. However, for performance reasons they are sometimes put on the secondary channel, and often the system assemblers don't bother to change the jumpers. It will work, but I don't recommend it; if nothing more, it's confusing to find a slave with no master when you or someone else goes back into the box a year or two later to upgrade.

For performance reasons, it is better to avoid putting ATAPI CD-ROMs on the same channel as a hard disk. Since they generally run at lower PIO modes than hard disks, systems that do not support independent device timing will drop the transfer mode of the hard disk down to match the maximum that the CD-ROM can handle, hurting potential performance. If you are going to share a channel between a hard disk and an ATAPI device, it is generally a good idea to make the hard disk the master. In some situations there can be problems slaving a hard disk to a CD-ROM; it will usually work but it is non-standard, and since there is no advantage to making the CD-ROM the master, the configuration is best avoided.

There are many more performance considerations to take into account when deciding how to jumper your IDE devices, if you are using several different ones on more than one channel. Since only one of the master and slave can use any channel at a time, there are sometimes advantages to using more than one IDE channel even if not strictly necessary based on the number of devices you are trying to support. There are also issues with using a drive that has support for a high transfer rate mode like PIO mode 4, with older devices that don't support these faster modes. See this section for details on selecting an IDE configuration.

Next: Independent Master/Slave Device Timing