An alternative to the standard master/slave jumpering system used in the vast majority
of PCs is the use of the cable select system. As the name implies, with this system
the cable--or more correctly, which connector on the cable a device is attached
to--determines which device is master and which is slave. The goal of cable select is to
eliminate having to set master and slave jumpers, allowing simpler configuration.
To use cable select, both devices on the channel are set to the "cable
select" (CS) setting, usually by a special jumper.
Then, a special cable is used. This cable is very similar in most respects to the regular
IDE/ATA cable, except for the CSEL signal. CSEL is carried on wire #28 of
the standard IDE/ATA cable, and is grounded at the host's connector (the one that attaches
to the motherboard or controller). On a cable select cable, one of the connectors (the
"master connector") has pin #28 connected through to the cable, but the other
(the "slave connector") has an open circuit on that pin (no
connection). When both drives on the channel are set cable select, here's what happens:
- Master: The device that is attached to the "master connector"
sees the CSEL signal as grounded, because its connector has pin #28 attached to the cable,
and the host's connector has that signal grounded. Seeing the "zero value"
(grounded), the device sets itself to operate as master (device 0).
- Slave: The drive that is attached to the "slave connector"
does not see the CSEL signal as grounded, because its connector is not attached to the
CSEL signal on the cable. Seeing this "no connection", the device configures
itself as a slave (device 1).
If you switch the devices between the two connectors, they swap configuration, the
master becoming the slave and vice-versa. Not a very complicated arrangement, and a good
idea, it would seem. In fact, if cable select had actually caught on, it would
have been great. The problem is that it has never been widely used, and this lack of
universality has made cable select unattractive, which is a bit of a chicken and egg
situation. Since cable select was never accepted in the industry, most drives come, by
default, with the drive jumpered as a master or single drive. This means that to enable
cable select, you have to change a jumper anyway, which obviously negates some of the
advantage.
But the biggest reason why cable select never caught on was the cable itself. From the
very beginning, all 40-conductor IDE/ATA cables should have been made so that
they would work with cable select. There's actually no need to have different cable types,
because if you set a drive to "master" or "slave" explicitly, it just
ignores the CSEL setting. So a cable select cable can be used either way: regular
jumpering or cable select.
Unfortunately, regular 40-conductor IDE/ATA cables don't
support cable select. (Why this came about I do not know, but I suspect that some bean
counter determined they could save five cents on each PC by doing this.) So to use cable
select you need a special cable, and these are of course non-standard, making them a
special purchase. Also, many people don't understand cable select, nor do they realize it
needs a special cable. If you set both drives to "CS" and then use them on a
regular (non-cable-select) IDE cable, both drives will configure themselves as
"master", causing a configuration conflict.
Making matters worse, the 40-conductor IDE/ATA cable select cables have the
"master connector" as the middle device and the "slave
connector" as the device at the end of the cable, farthest from the host. For
signaling reasons, it's best to put a single drive at the end of a cable, not put it in
the middle leaving a "stub" of wire hanging off the end of the channel. But if
you do this, that single drive sets itself as a slave with no master, a technically
illegal configuration. Worse, suppose you do this, and your hard disk sets itself as a
slave, and the system boots from it without problem, as most would. Then, you decide to
add a new hard disk. You set it to cable select and attach it to the middle connector. The
new drive then becomes the master, and thus moves ahead of the old drive in precedence!
The system will try to boot from it instead of your old drive (which some people might
want, but many do not.)
To get around this problem, a second type of 40-wire cable select cable was
created, the so-called "Y-shaped" cable. On this one, the connector to the
system is in the middle, and the slave and master connectors are on the two opposite ends
of the cable. This certainly makes things less confusing, but has its own difficulties.
For starters, IDE/ATA cables are very limited in length, which means this
"Y-shaped" cable was hard to use in large tower systems. All your drives had to
be mounted very close to the motherboard or controller card so the cable would reach. And
again, the cable was a special item.
As you can see, the traditional way of doing cable select was a total mess, which was
why it was never widely adopted. The key reason for this mess was--once again--lack of
standardization. I rather expected cable select to eventually wither away. However, when
the 80-conductor Ultra DMA cable was introduced, the cable
select feature was much improved, changing the potential of this feature. The two
key changes were:
- Drive Position: Unlike the old cables, with the 80-conductor cable, the
master connector is at the end of the cable, and the slave is in the middle. As I
explained above, this is a much more sensible arrangement, since a single drive placed at
the end of the cable will be a master, and a second drive added in the middle a slave.
- Universality: All 80-conductor IDE/ATA cables support cable select (or
at least, all of the ones that are built to meet the ATA standards). This means there's no
confusion over what cables support the feature, and no need for strange
"Y-cables" and other non-standard solutions.
These two changes mean a world of difference for the future of cable select. Since
these cables will eventually completely replace all of the 40-conductor cables, all
systems will be capable of running cable select without any special hardware being needed.
As I mentioned before, you can still explicitly set drives to master or slave if you want
to, and the CSEL signal will be ignored by the drives. So the bottom line is that these
cables work either way, cable select or not. What will finally make cable select catch on?
If drive manufacturers and systems integrators widely agree to use it, and the
manufacturers start shipping drives with the "CS" jumpers on by default. We'll
have to see if this happens.
Warning: 80-conductor
IDE/ATA cables are often said to be compatible with 40-conductor cables. That's true of normal
40-conductor cables with drives jumpered as master and slave, but not cable select cables.
If you swap a regular (non-"Y-shaped") 40-conductor cable select cable with an
80-conductor IDE cable, the master and slave drives will swap logical positions. If you
don't that to happen, you'll need to change the order that the devices connect to the
cable.
Note: A special thanks to
Hale Landis of www.ata-atapi.com for his
assistance in deciphering the mysteries of cable select, especially with the 80-conductor
cable.
Next: IDE/ATA Connectors and Signals