Which should come 1st, the chicken or the egg (Master/Slave)?

Discussion in 'Asus' started by signmeuptoo, May 6, 2005.

  1. signmeuptoo

    signmeuptoo Guest

    I have been wondering lately, as the topic has come up elsewhere:

    What Device should run as the Master/Device #0 and what device should the
    the slave/Device #1 on a Parallel ATA-EIDE channel when one wants to pair
    up a hard drive and an optical drive?

    Some people, of late, have been suggesting that the *Optical Drive* be put
    in the Master position, particularly *if* that optical drive is a DVD. Why
    would that be?

    Other than logical position assignment, what is involved in the
    Master/Slave issue, and why choose one and not the other?

    Also, is there any advantage or speed increase if one has the drives set
    both via cable position *and* jumper assignment (EG, setting an optical
    drive as MA (master jumpered) and also putting it on the Master position of
    the cable)?

    This has always been a question for me but I have always assumed (wrongly?)
    that this is a total non-issue, and that convenience should dictate.
    But... Hard drives have larger Caches, so shouldn't they be Master's? To
    set them as Master means real cable bending though, so what is one to do?

    signmeuptoo, May 6, 2005
    1. Advertisements

  2. signmeuptoo

    Venom Guest

    One would set the main hard drive "C drive" as primary master because that
    is how it goes. If one has a dvd burner as one does, this device is
    recommended by the manufacturer to be secondary master. One can then jam
    anything one wants in the middle as primary and secondary slaves. This is
    assuming you are using 80 wire cabling and the drives are set to cable
    To avoid messy bending of cables one would start at the top bay of the case
    and shove the dvd burner in there.
    If the secondary slave is to be a hard drive, one would use mounting rails
    and whack it under the dvd burner thus eliminating fancy acrobatics with the
    Immediately under this slave drive, using mounting rails again, one would
    jam the "C" drive in there.
    This leaves one bay empty which just happens to be the bottom bay (primary
    slave). One can stick whatever one wants in there. You will be surprised the
    number of people who have a dvd burner but install a cd burner too. One
    can`t help but wonder why.
    Venom, May 6, 2005
    1. Advertisements

  3. signmeuptoo

    DaveW Guest

    The harddrive should always be the Master on an IDE channel and the optical
    drive should be the Slave.
    DaveW, May 7, 2005
  4. If practical, keep the optical drives separate from hard drives - both drives
    on a cable are limited to the fastest speed of the slower unit. For this
    reason, I installed a PCI IDE controller card. Now I have 4 independent
    channels (2 on the PCI card and 2 on the motherboard), and no slow drive will
    "drag down" the throughput of any other - until I get a 5th drive, that is!
    If you have only 2 channels and don't want to add more, keep the 2 slowest
    devices (often 2 optical drives) on the same cable. It probably doesn't make
    much difference, but I prefer to have the faster of two on a single cable be
    the master. I also use 80-conductor cables for all drives. This probably has
    no effect on the speed of the connections for slower drives but it should
    maintain better data integrity.


    Alan "A.J." Franzman

    Email: a.j.franzman [ A T ] verizon [ D O T ] net

    Alan 'A.J.' Franzman, May 7, 2005
  5. signmeuptoo

    Paul Guest

    I've been looking for info on how the IDE interface works for
    a while now, and I'm puzzled by why there isn't a web page
    somewhere that does a decent job of explaining the low level
    hardware operation. I started today's search here:


    The only thing that caught my eye there, was the statement about
    "The master drive arbitrates access to devices on the channel".
    I haven't seen any other technical references to this arbitration
    function, and if there is such a function, it would be important
    to understand how it works.

    This guide contains more practical advice. It stretches for several


    Whether you are using cable_select for the two drives, or are
    over-riding the cable_select function by setting the drives
    to master and slave explicitly, the results are the same. Each
    device is being given a static unchanging logic value of 0 or 1.
    The device uses that to recognize when a command is addressed to it.
    Thus, there is no speed advantage to either scheme. Cable_select
    applies the logic 0 or logic 1 to a pin on the drive's IDE connector.
    The master or slave jumpers apply the logic level when a jumper
    is installed.

    To find out about the most basic of operations, I looked at
    the datasheet for the Southbridge of the 440BX chipset. This
    would be back in the era when bus mastering was invented, so
    I was hoping they wouldn't be as bashful about explaining
    how IDE works.

    It seems the two CS signals on the cable are not used to
    address the two disks individually. In fact, those two
    signals address both disks at the same time. Each disk
    has a block of control registers and a block of commmand
    registers. One CS signal talks to control registers, and
    the other to the command registers. A CS signal is seen by
    both drives, and the registers in both drives are written
    at the same time. The drive compares the drive number written
    in the drive/head register, to the master/slave value it was
    given via cable_select or master/slave jumper. As far as I
    can figure out, that is how a drive determines whether the
    latest command is for it or not.

    PDF page 193 of 440BX Southbridge:

    In terms of one drive holding up another, I found this
    document in a search. It seems this made it into the
    standards. PDF page 18 shows how operations to the
    disks may overlap - the implication is, that only the
    data transfer phase represents a significant contention
    between the drives - so you wouldn't be waiting 110ms for
    the head on a CDROM drive to seek to a spot on the CD,
    holding up a hard drive in the process.


    In terms of standards, there are interim releases of the
    standards (before they are official) on sites like this.
    The first is Commands, the second is Transport Layer.
    PDF pages 37 and 39 of the second document (d1532v2r1a),
    have drawings of the 40 and 80 pin IDE cable.


    On the 80 wire cable, master (device 0) is shown on the end
    of the cable. That is where it would be when using cable_select.
    Master can be forced by using the drive jumpers. But, if you
    had only a single drive, connected it to the middle connector,
    and forced it to master, the system software would refuse to
    use the fast ultra DMA transfer modes, because of the big
    stub hanging off the end of the cable. That is why, with
    the 80 wire cable, you fill the end position first, then
    the middle connector. If both positions are filled, then
    you can make either drive the master if you want. And
    that kind of answers how you would handle a case of CDROM
    on top and hard drive underneath. Just set the hard drive
    to master, the CDROM to slave, and connect the CDROM to the
    end of the cable.

    Apparently, IDE timing is independent on the cable. That
    means two drives may use different UDMA rates if they want,
    without affecting one another. I didn't see anything permitting
    the mixing of PIO and DMA on the same cable, but you wouldn't
    want PIO polled mode in any case.

    While I haven't explicitly answered your question, I hope
    that gives you a few ideas about how flexible this stuff is.
    Naturally, there will always be pieces of hardware that
    defy the rules.

    Paul, May 7, 2005
  6. signmeuptoo

    Triffid Guest

    Please correct me if I'm misinterpreting the results of your research,
    but you appear to have concluded it really doesn't matter how devices on
    the IDE bus are arranged.

    This defies conventional wisdom, which says optical drives should be
    slaves for optimal performance, but is consistent with my own empirical

    Let the flame war begin ;-)

    Triffid, May 7, 2005
  7. signmeuptoo

    Paul Guest

    Well, that is what happens when I tried not to use wisdom :)

    I was trying to find evidence for one case or another, without
    resorting to anecdote. There are plenty of recipes out there,
    and I figured it would be bad to just tally up how many people
    said this and how many people said that.

    What surprised me most, is the total lack of technical analysis
    of IDE. I mean, I couldn't even get a satisfactory description of
    all the signals, so at this point, I don't even know how the DMA
    or interrupts works.

    One thing I read, talked about "latency" in the master, and
    yet other material made light of the fact that they were
    called master and slave in the first place (meaning it
    doesn't matter).

    Perhaps the best place for this question is in a storage
    group, rather than a motherboard group. There are probably a
    couple of people in those groups who have grown up with this
    stuff, who can give good theoretical reasons why one way is
    better than another.

    I've just run off and done some benchmarks. The tool I used
    isn't the best (the HDTach I have here won't run on Win2K),
    but Sandra 2002's File benchmark will have to do. I selected
    only the read benchmarks, because I'm too impatient to wait
    for all of them to run.

    The WD 4GB hard drive was thrown in, to demonstrate a device
    with a slower transfer speed, but with protocols the same as
    the other device.

    The CRD8522B is a 52X CDROM with manufacture date Mar.2002.

    Seagate 7200.7 UDMA5 Master ==> Sequential Read 54MB/sec Rand 7MB/sec

    Seagate 7200.7 UDMA5 Master ==> Sequential Read 52MB/sec Rand 7MB/sec
    WD 24300L 4GB UDMA2 Slave

    Seagate 7200.7 UDMA5 Slave ==> Sequential Read 52MB/sec Rand 7MB/sec
    WD 24300L 4GB UDMA2 Master

    Seagate 7200.7 UDMA5 Master ==> Sequential Read 51MB/sec Rand 6MB/sec
    CRD8522B CD MWDMA2 Slave

    Seagate 7200.7 UDMA5 Slave ==> Sequential Read 51MB/sec Rand 6MB/sec
    CRD8522B CD MWDMA2 Master

    And when I returned the system to its default configuration (config 2
    above), the benchmark read sequential 51MB/sec random read 6MB/sec

    Let the benchmarks begin...

    Paul, May 7, 2005
  8. signmeuptoo

    milleron Guest

    Where did you get your information that "both drives on a cable are
    limited to the fastest speed of the slower unit?" While apparently
    true years ago, I don't believe that IDE has worked that way for a
    long time now. As far as I know, the slower device does NOT limit the
    speed of the faster in modern systems.

    milleron, May 7, 2005
  9. signmeuptoo

    signmeuptoo Guest

    Paul, awesome, man! Thanks for going through all that trouble. So I
    imagine the only reason to make a CD/DVD drive Master would be in case I
    had a problem with running Knoppix or some other "live CD" OS disk. Or
    would it. I will find out on this old BX motherboard of mine when I
    finally get my DVD burner. The drive I am running now just won't load
    Knoppix, it is a flaky drive...
    signmeuptoo, May 8, 2005
  10. signmeuptoo

    CP Guest

    What about ATAPI devises...like a ZIP drive (yes, I still use one)...does it
    make any difference???
    CP, May 10, 2005
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.