home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 14 Text / 14-Text.zip / idefaq00.zip / IDEFAQ.TXT
Text File  |  1994-09-15  |  31KB  |  784 lines

  1. ================================================================================
  2. From: landis@sugs.tware.com (Hale Landis)
  3. Newsgroups: comp.sys.ibm.pc.hardware.storage
  4. Subject: New FAQ: ATA/IDE, Part 1 of N, Version 0
  5. Distribution: world
  6. Message-ID: <779641633snx@sugs.tware.com>
  7. Date: Thu, 15 Sep 94 15:07:13 GMT
  8.  
  9.  
  10.                 ATA/ATA-1/ATA-2/IDE/EIDE/etc FAQ
  11.  
  12.                     Part 1 of ? -- The Basics
  13.  
  14.                       Version 0 -- 15 Sep 94
  15.  
  16.              by Hale Landis -- landis@sugs.tware.com
  17.  
  18. First the "legal" stuff...
  19.  
  20.    1) This FAQ is not intended to replace any other FAQ on this
  21.    subject but is an attempt to provide historical and technical
  22.    information about the ATA interface.
  23.  
  24.    2) This FAQ is not an indorsement of any vendor's product(s).
  25.  
  26.    3) This FAQ is not a recommendation to purchase any vendor's
  27.    product(s).
  28.  
  29.    4) Every effort is made to insure that all of the information
  30.    presented here is not copyrighted, not proprietary and
  31.    unrestricted.
  32.  
  33.    4) When opinions are stated they are clearly identified,
  34.    including the person's name and email address.  Such opinions
  35.    are offered as long as they contribute to the understanding of
  36.    the subject being discussed.  No "flames" allowed.
  37.  
  38. This is the first version of this FAQ.  It will take some time to
  39. get all the significant information into it so it will be rapidly
  40. growing and changing during the next several weeks or months.  I
  41. don't even know how many parts there will be yet!  Versions will
  42. be numbered with simple integer numbers (no 1.1, 1.2, etc)
  43. starting at 0.
  44.  
  45. If you have a question that is not answered here or if you have
  46. unrestricted material that you would like to contribute, please
  47. email it to landis@sugs.tware.com.  DO NOT send material that is
  48. copyrighted, proprietary or otherwise restricted in any way -- I
  49. can't use such material in this document.
  50.  
  51. I don't have FTP access to anything at this time so I leave it to
  52. others to put this at the appropriate FAQ FTP sites.
  53.  
  54. About myself:  Until recently I worked for Seagate where I was
  55. one of several people that attended the ATA, ATA-2, PCMCIA and
  56. SFF meetings for Seagate.  I was also the manager of a software
  57. development group that created much of the engineering test
  58. software for ATA hard disk drives.  I am now a consultant and I
  59. still attend the ATA-2 meetings.
  60.  
  61. Table of Contents
  62. -----------------
  63.  
  64.  
  65. Part 1 - The Basics
  66.  
  67.    Glossary
  68.    Basic Questions
  69.  
  70. Part 2 - BIOS and Drivers
  71.  
  72.    TBD
  73.  
  74.  
  75. Glossary
  76. --------
  77.  
  78. Read and understand these terms.  You will be lost and confused
  79. if you don't!
  80.  
  81. ATA or AT Attachment
  82.  
  83.    ATA is the proper and correct name for what most people call
  84.    IDE.  In this document, ATA refers to all forms of ATA (ATA-1,
  85.    ATA-2, etc, IDE, EIDE, etc).  The ATA interface uses a single
  86.    40-conductor cable in most desktop systems.
  87.  
  88. ATA-1
  89.  
  90.    ATA-1 is the common name of the original ATA (IDE)
  91.    specification.  ATA-1 is not an official standard yet.  Final
  92.    approval is pending.
  93.  
  94. ATA-2 or ATA Extensions
  95.  
  96.    ATA-2 is the common name of the new ATA specification.  ATA-2
  97.    is still in early draft form and has not been submitted for
  98.    approval as an official standard.
  99.  
  100. ATA-3
  101.  
  102.    ATA-3 is the common name of a future version of the ATA
  103.    specification.  ATA-3 is now an approved project of X3T10 but
  104.    no working group meetings have been held yet.
  105.  
  106. ATAPI or ATA Packet Interface
  107.  
  108.    ATAPI is a proposed new interface specification.  Initially it
  109.    will probably be used for CD-ROM and tape devices.  It uses
  110.    the ATA hardware interface at the physical level but uses a
  111.    subset of the SCSI command set at the logical level.  The
  112.    ATAPI specification work is currently being done in the SFF
  113.    committee.
  114.  
  115. CAM (Common Access Method) Committee
  116.  
  117.    The Common Access Method committee, now disbanded, worked on
  118.    two specifications: the CAM SCSI and CAM ATA specifications.
  119.    Both specifications were forwarded to the X3T9 committee for
  120.    further work years ago.
  121.  
  122. CHS or Cylinder/Head/Sector)
  123.  
  124.    CHS is the old and traditional way to address data sectors on
  125.    a hard disk.  This style of addressing relates a sector's
  126.    address to the position of the read/write heads.  In today's
  127.    ATA devices, all sector addresses used by the host are logical
  128.    and have nothing to do with the actual physical position of
  129.    the sector on the media or the actual position of the
  130.    read/write heads.
  131.  
  132. Command Block
  133. Control Block
  134.  
  135.    These are names given to the I/O register interface used by
  136.    ATA devices.  It refers to a set of I/O registers, or I/O
  137.    ports and I/O port addresses used to program the device.
  138.    These names replace the older term Task File.
  139.  
  140. DMA or Direct Memory Access
  141.  
  142.    DMA is a method of data transfer between two devices that does
  143.    not use the system's main processor as part of the data path.
  144.    DMA requires lots of hardware:  a DMA arbitration unit, a DMA
  145.    data transfer unit and host bus signals that enable the DMA
  146.    controller to assume control of the host system's bus.  When
  147.    the DMA controller has control of the host system's bus, it
  148.    moves data between the two devices by generating the
  149.    appropriate bus read/write cycles.  For the ATA READ DMA
  150.    command this means generating an I/O read cycle and then a
  151.    memory write cycle for each 16-bit word being transferred.
  152.    For the ATA WRITE DMA command, a memory read cycle is followed
  153.    by an I/O write cycle for each 16-bit word transferred.
  154.  
  155. EIDE or Enhanced IDE
  156.  
  157.    EIDE is a marketing program started by Western Digital to
  158.    promote certain ATA-2 features including ATAPI.  WD has
  159.    encouraged other product vendors to mark their products as
  160.    "EIDE compatible" or "EIDE capable".
  161.  
  162. ESDI
  163.  
  164.    See MFM.
  165.  
  166. Fast ATA
  167.  
  168.    Fast ATA is a Seagate marketing program used to promote
  169.    certain ATA-2 features in newer ATA devices.  Seagate has
  170.    encouraged other product vendors to mark their products as
  171.    "Fast ATA compatible" or "Fast ATA capable".
  172.  
  173. Host or Host System
  174.  
  175.    The computer system that an ATA device is attached to.
  176.  
  177. HBA or Host Bus Adapter or Host Adapter
  178.  
  179.    The hardware that converts host bus signals to/from ATA
  180.    interface signals.  An ATA-1 host adapter is generally a very
  181.    simple piece of hardware.  An ATA-2 host adapter can be simple
  182.    or complex.
  183.  
  184. IDE
  185.  
  186.    IDE can mean any number of things:  Imbedded Device (or Drive)
  187.    Electronics (yes, you can spell embedded with an "i"),
  188.    Intelligent Device (or Drive) Electronics, etc.  The term IDE
  189.    is the trademark of one of the disk drive vendors (Western
  190.    Digital?).  Many hard disk vendors do not use IDE to describe
  191.    their products to avoid any trademark conflicts.
  192.  
  193. LBA or Logical Block Addressing
  194.  
  195.    LBA is a newer (for ATA it is newer) way to address data
  196.    sectors on a hard disc.  This style of addressing uses a
  197.    28-bit binary number to address a sector.  LBA numbers start
  198.    at zero.  In today's ATA devices, all sector addresses used by
  199.    the host are logical and have nothing to do with the actual
  200.    physical location of the sector on the media.
  201.  
  202. Local Bus
  203.  
  204.    Usually this refers to the processor's local bus in a high
  205.    performance computer system.  Usually the processor, the
  206.    external processor instruction/data cache, the main memory
  207.    controller and the bridge controller for the next low speed
  208.    system bus, for example, a PCI bus, are located on the local
  209.    bus.  Lower speed local buses may have connectors that allow
  210.    the attachment of other devices.  For example, the VL-Bus is a
  211.    local bus that can allow attachment of video, SCSI or ATA
  212.    controllers.  It is very difficult to attach other devices to
  213.    high speed (say faster than 100MHz) local buses due to
  214.    electrical restrictions that come into play at those higher
  215.    speeds.
  216.  
  217. Master
  218.  
  219.    ATA device 0.  Device 0, the master, is the "master" of
  220.    nothing.  See Slave.
  221.  
  222. Megabyte or MB
  223.  
  224.    Megabyte or MB is 1,000,000 bytes or 10^6 bytes.  IT IS NOT
  225.    1,048,576 bytes or 2^20 bytes, repeat NOT!
  226.  
  227. MFM
  228.  
  229.    In this document MFM refers to any of the older hard disk
  230.    controller interfaces, MFM, RLL and ESDI.  It is used to
  231.    describe any hard disk controller that uses the Task File
  232.    interface on the host side and the ST506/ST412 interface
  233.    on the drive side.
  234.  
  235. OS
  236.  
  237.    Operating System.
  238.  
  239. PC Card ATA
  240. PCMCIA
  241.  
  242.    We can thank the Personal Computer Memory Card International
  243.    Association for the PC Card specification.  The PCMCIA is a
  244.    nonprofit industry association.  The PC Card ATA
  245.    specification is another form of the ATA interface used by
  246.    PCMCIA compatible ATA devices.  This interface uses the PCMCIA
  247.    68-pin connector.  Most 68-pin ATA devices are dual mode --
  248.    they can operate as either a PCMCIA PC Card ATA device or as a
  249.    68-pin ATA device.
  250.  
  251. PCI
  252.  
  253.    We can thank Intel and the other members of the PCI committee
  254.    for the PCI bus specification.  PCI is intended to be the next
  255.    high performance computer bus.  PCI is not generally described
  256.    as a processor local bus.
  257.  
  258. PIO or Programmed Input/Output
  259.  
  260.    PIO is a method of data transfer between two devices that uses
  261.    the system's main processor as part of the data path.  On
  262.    x86 systems, the REP INS and REP OUT instructions
  263.    implement this data transfer method.  INS reads and I/O port
  264.    and writes the data into memory.  OUTS reads data from memory
  265.    and writes the data to an I/O port.  Each time an INS or OUTS
  266.    instruction is executed, the memory address is updated.  The
  267.    REP prefix causes the instructions to be repeated until a
  268.    counter reaches zero.
  269.  
  270. RLL
  271.  
  272.    See MFM.
  273.  
  274. Slave
  275.  
  276.    ATA device 1.  Device 1, the slave, is a "slave" to nothing.
  277.    See Master.
  278.  
  279. Task File
  280.  
  281.    This is the name given to the I/O register interface used by
  282.    MFM controllers.  It refers to a set of I/O registers, or I/O
  283.    ports and I/O port addresses used to program the controller.
  284.    In ATA, this name has been replaced by the terms Command Block
  285.    and Control Block.
  286.  
  287. SCSI
  288.  
  289.    See the SCSI FAQ.
  290.  
  291. SFF or Small Form Factor
  292.  
  293.    The SFF committee is an ad hoc committee formed by most of the
  294.    major storage device and system vendors to set standards for
  295.    the physical layout of hard disk and other devices.  SFF has
  296.    published many specifications that describe the physical
  297.    mounting and connector specifications for hard disk devices,
  298.    including ATA devices.  During a brief period of time when the
  299.    X3T9 committee was not doing much work on the ATA-1 interface,
  300.    the SFF committee published several specifications that were
  301.    not really part of the original SFF charter.  Most, if not
  302.    all, of these nonphysical specifications have now been
  303.    incorporated into the latest X3T9 or X3T10 ATA specifications.
  304.    ATAPI is currently an SFF specification.
  305.  
  306. ST506 and ST412
  307.  
  308.    This is the common name for the hard disk controller to hard
  309.    disk drive interface used by MFM, RLL and ESDI controllers and
  310.    disk drives.  ST stands for Seagate Technology.  The ST506 and
  311.    ST412 were the Seagate products that set the de facto
  312.    standards for this interface many years ago.  This interface
  313.    is composed of two cables:  a 34-conductor and a 20-conductor
  314.    cable.
  315.  
  316. VESA and VL-Bus
  317.  
  318.    We can thank the Video Electronics Standards Association for
  319.    the VESA Local Bus or VL-Bus specification.  The VL-Bus is one
  320.    example of a local bus.  VESA is a nonprofit industry
  321.    association like the PCMCIA.
  322.  
  323. WG or Working Group
  324.  
  325.    The actual work on various specifications and standards
  326.    documents within the X3T9, X3T10 and SFF committees happens in
  327.    working group meetings.  Most WG meetings are held monthly.
  328.  
  329. X3T9 and X3T10
  330.  
  331.    These are the names of the official standards committees that
  332.    have worked on the ATA-1 and ATA-2 specifications.  X3T9 was
  333.    responsible for the SCSI and ATA-1 specifications and
  334.    standards.  X3T10 has replaced X3T9 and is now responsible for
  335.    the current SCSI and ATA specifications and standards work.
  336.  
  337. 528MB
  338.  
  339.    This term is used in this document to describe the capacity
  340.    boundary that exists in most x86 system software.  This
  341.    boundary limits the size of an ATA disk drive to 528MB.  For
  342.    cylinder/head/sector style addressing of disk data sectors,
  343.    this number is computed as follows:
  344.  
  345.    a) the number of cylinders are limited to 1024, numbered
  346.    0-1023.
  347.  
  348.    b) the number of heads (per cylinder) are limited to 16,
  349.    numbered 0-15,
  350.  
  351.    c) the number of sectors (per track) are limited to 63,
  352.    numbered 1-63.
  353.  
  354.    d) a sector is 512 bytes,
  355.  
  356.    e) 528MB means the following values:
  357.  
  358.       ( 1024 * 16 * 63 ) or 1,032,192 data sectors
  359.  
  360.       or
  361.  
  362.       ( 1024 * 16 * 63 * 512 ) or 528,482,304 bytes.
  363.  
  364. 68-pin ATA
  365.  
  366.    This refers to a variation of the ATA interface that uses the
  367.    PCMCIA 68-pin physical interface but does not use the PCMCIA
  368.    electrical or logical interface.  Most 68-pin ATA devices are
  369.    dual mode -- they can operate as either a PCMCIA PC Card ATA
  370.    device or as a 68-pin ATA device.  This interface was
  371.    developed within the SFF committee and is now included in
  372.    ATA-2.
  373.  
  374. Basic Questions
  375. ---------------
  376.  
  377. !!! Where did ATA come from?
  378.  
  379.    What we now call the ATA-1 interface was developed for Compaq
  380.    many years ago by Imprimus (then part of CDC, now part of
  381.    Seagate) and Western Digital.  The first ATA-1 hard disk
  382.    drives were made by Imprimus but it was Conner that made the
  383.    interface so popular.
  384.  
  385. !!! How is ATA different from MFM?
  386.  
  387.    From the host software standpoint, ATA is very much like the
  388.    Task File interface used by MFM controllers.  A properly
  389.    written host software driver should not notice any difference
  390.    between the MFM Task File interface and the ATA Command Block
  391.    interface while doing basic commands such as Read/Write
  392.    Sectors.
  393.  
  394.    At the hardware level, ATA uses a single cable between a host
  395.    bus adapter and the ATA device, where the MFM controller
  396.    interface uses two cables between the controller and the
  397.    drive.
  398.  
  399.    In the MFM environment, the controller is one piece of
  400.    hardware and the drive another piece of hardware.  Most likely
  401.    these two pieces of hardware are from different vendors.  The
  402.    MFM controller is dependent on the design of both the host bus
  403.    and on the drive.
  404.  
  405.    In the ATA environment, the host adapter is one piece of
  406.    hardware the is dependent on the host system bus design.  The
  407.    ATA interface is (mostly) system independent.  All of the
  408.    hard disk controller and drive logic is contained in the ATA
  409.    device hardware.  This gives the hard disk designer complete
  410.    control over both the controller and drive functions.
  411.  
  412. !!! Why is ATA so popular?
  413.  
  414.    Two basic things make ATA so popular today:  cost and hard
  415.    disk drive technology.  An ATA-1 host adapter is cheap,
  416.    usually much less than $25US and it uses only one cable.  On
  417.    the technology side, current hard disk features, such as,
  418.    defect handling, error recovery, zone recording, cache
  419.    management and power management require that the controller be
  420.    fully integrated with the read/write channel, the servo system
  421.    and spindle hardware of the disk drive.
  422.  
  423. !!! What are the basics of the ATA interface?
  424.  
  425.    The ATA interface is a very simple interface based on an ISA
  426.    bus I/O device architecture.  The interface consists of two
  427.    sets of I/O registers, most 8-bit, for passing command and
  428.    status information.  The registers are like a set of mail
  429.    boxes with a door on front and back connected such that both
  430.    doors can not be open at the same time.  The front door is
  431.    open when the Busy bit in the Status register is zero and the
  432.    host can read and write the registers.  The back door is open
  433.    when the Busy bit in the Status register is one and the ATA
  434.    device can read or write the registers.
  435.  
  436.    The physical interface contains just enough signals for a 16
  437.    bit data bus, five register address bits, and a few control
  438.    signals like read register, write register and reset.
  439.  
  440.    ATA devices look like traditional hard disk
  441.    drives even though some are not really a hard disc with
  442.    rotating platters.  User data is recorded in 512 byte sectors.
  443.    Each sector has a sector address.  There are two ways to
  444.    express sector addresses:  by cylinder/head/sector (CHS) or by
  445.    logical block address (LBA).  CHS is standard, LBA is optional.
  446.  
  447. !!! What is EIDE or Fast ATA?
  448.  
  449.    Both are marketing programs used to promote various ATA-2
  450.    features, mostly the faster data transfer rates defined by
  451.    ATA-2.
  452.  
  453.    ---
  454.  
  455.    WD defines EIDE as:
  456.  
  457.    * Support for drives larger than 528MB.
  458.  
  459.    * Support for two connectors to allow up to four drives.
  460.  
  461.    * Support for CD-ROM and tape peripherals.
  462.  
  463.    * Support for 11.1/16.6 Mbytes/second, I/O Channel Ready PIO
  464.      data transfers.
  465.  
  466.    * Support for 13.3/16.6 Mbytes/second, DMA data transfers.
  467.  
  468.    ---
  469.  
  470.    Seagate defines Fast ATA as:
  471.  
  472.    * Support for PIO mode 3 (11.1 MB/sec) and DMA mode 1(13.3
  473.      MB/sec).
  474.  
  475.    * Support for Multi-sector [Read/Write Multiple] transfers.
  476.  
  477.    * Support for >528 MB.
  478.  
  479.    * Support for Identify Drive Extensions & Set Transfer Mode
  480.      Extensions.
  481.  
  482.    * Backward compatibility with ATA-1.
  483.  
  484.    Note: Seagate may be redefining what they call Fast ATA but
  485.    I have not seen the new definition yet.  I know that several
  486.    of their new products support PIO mode 4 and DMA mode 2 (both
  487.    at 16.6 MB/sec).
  488.  
  489.    ---
  490.  
  491.    What does all of this mean to us?
  492.  
  493.    Support for the ATA-2 high speed PIO and DMA data transfer
  494.    modes is both a hardware and software issue.
  495.  
  496.    Support for more than one hard disc controller (or ATA host
  497.    adapter) requires the BIOS and/or the operating system to
  498.    support more than one Task File or Command/Control Block
  499.    register set on the host bus.
  500.  
  501.    The 528MB problem is due to the original design of the x86
  502.    BIOS which limits cylinders to 1024 and sectors to 63.  The
  503.    ATA interface allows up to 65,535 cylinders, 16 heads and 255
  504.    sectors -- that's about 136GB (137GB if is LBA is used).
  505.    Support for devices over 528MB requires the BIOS and/or
  506.    operating system to support some form of CHS translation.
  507.    Note that LBA alone does not solve this problem (in fact,
  508.    LBA may make things more complex).
  509.  
  510.    Support for CD-ROM and tape will probably be done via the
  511.    ATAPI interface which uses a different command structure than
  512.    ATA.  That makes ATAPI another host software issue.
  513.  
  514. !!! What does an ATA-1 host adapter do?
  515.  
  516.    An ATA-1 host adapter is a simple piece of logic whose main
  517.    purpose is to reduce the system bus address lines from 12 (or
  518.    more) down to 5. It may also buffer some signals giving some
  519.    degree of electrical isolation between the host bus (usually
  520.    an ISA bus) and the ATA bus.  In ATA-1, the ATA interface is
  521.    controlled directly by the host bus so that all timings are
  522.    controlled by the host bus timing.
  523.  
  524. !!! What does an ATA-2 host adapter do?
  525.  
  526.    This answer is complex because it depends on how smart your
  527.    ATA-2 host adapter is.  First, an ATA-2 host adapter probably
  528.    supports the ATA-2 higher speed data transfer rates.  That
  529.    requires that the host adapter is attached to something other
  530.    than an ISA or EISA bus.  Second, an ATA-2 host adapter may
  531.    perform 32-bit wide transfers on the host bus.  This requires
  532.    FIFO logic and data buffers in the host adapter.  Third, an
  533.    ATA-2 host adapter may use a different data transfer protocol
  534.    on the host side than is used on the ATA device side.
  535.  
  536. !!! How many disk controllers and/or ATA host adapters and/or
  537. !!! SCSI host adapters can I put in my system?
  538.  
  539.    From a hardware standpoint -- as many as you want as long as
  540.    their are no I/O port address, memory address or interrupt
  541.    request signal conflicts.  From a software standpoint it is a
  542.    whole different story.
  543.  
  544.    First the simple x86 system hard disk controller
  545.    configurations...
  546.  
  547.    a) 1 ATA with 1 or 2 drives at I/O port addresses
  548.    1Fxh/3Fxh using interrupt request 14 (IRQ14).
  549.  
  550.    b) 1 ATA with 1 drive at I/O port addresses 1Fxh/3Fxh
  551.    using interrupt request 14 (IRQ14) plus a SCSI with 1 drive.
  552.  
  553.    c) 1 SCSI with 1 or 2 drives.
  554.  
  555.    Other configurations are possible but are most likely not
  556.    supported in the system or SCSI host adapter BIOS.  And if its
  557.    not supported at the BIOS level, it is unlikely to be
  558.    supported by an operating system, especially DOS.  The primary
  559.    reason the above configurations are so restrictive is that the
  560.    original IBM x86 BIOS supported only one MFM controller with a
  561.    maximum of 2 drives.  This restriction was then coded into
  562.    much x86 software including many early version of DOS.  The
  563.    configurations above work because they don't break this old
  564.    rule.
  565.  
  566.    Just remember this -- most systems will always boot from
  567.    the first drive on the first controller.  In a) that is
  568.    ATA drive 0, in b) that is ATA drive 0, in c) that is
  569.    SCSI drive 0.
  570.  
  571.    And now the more complex configurations...
  572.  
  573.    Once you go beyond the three configurations above all bets are
  574.    off.  Most likely you will need operating system device
  575.    drivers in order to access any drives beyond the first two.
  576.    And now your real problems start especially if you like to run
  577.    more than one operating system!
  578.  
  579.    If you do run more than one OS, then you need equivalent
  580.    drivers for each system if you would like to access all the
  581.    drives.  Plus it would be nice if all the drivers configured
  582.    the drives in the same manner and supported all the possible
  583.    partitioning schemes and partition sizes.  It would be
  584.    especially nice if a driver would not destroy the data in a
  585.    partition just because it did not understand the file system
  586.    format in that partition.
  587.  
  588.    One of the things EIDE promotes is BIOS support for up to four
  589.    ATA devices -- 2 ATA host adapters each with 1 or 2 drives.
  590.    The first would be at I/O port addresses 1Fxh/3Fxh using
  591.    interrupt request 14 (IRQ14) and the second at I/O port
  592.    addresses 17xh/37xh using interrupt request 15 (IRQ15).
  593.    Acceptance of this configuration has not been spreading like
  594.    wild fire through the BIOS world.
  595.  
  596.    Lets look at a two complex configurations...
  597.  
  598.    a) 1 ATA with 2 drives and 1 SCSI with 1 or more drives.
  599.  
  600.    Nice configuration.  The ATA drives would be supported by the
  601.    system BIOS and the SCSI drives may be, could be, should be,
  602.    supported by the SCSI host adapter BIOS but probably not.  So
  603.    in order to use the 2 SCSI drives you probably have to disable
  604.    the BIOS on the SCSI card and then load a device driver in
  605.    CONFIG.SYS.  And because the SCSI BIOS is disabled, you then
  606.    need a SCSI driver for that other OS you run.
  607.  
  608.    b) 2 ATA with 1 or 2 drives on each.
  609.  
  610.    Also a nice configuration.  But because the system BIOS
  611.    probably only supports the first controller address, you'll
  612.    need a DOS device driver loaded in CONFIG.SYS in order to
  613.    access the drives on the second controller.  You'll need that
  614.    driver even if there is only one drive on the first
  615.    controller.  You also need a similar driver to support the
  616.    second controller in your other OS.
  617.  
  618.    Note:  I understand that OS/2 does support both MFM/ATA
  619.    controller addresses and does allow up to four drives -- I
  620.    have not confirmed this for myself.
  621.  
  622. !!! Do I need BIOS or OS drivers to support more than 528MB?
  623.  
  624.    Warning:  Read the previous question before reading this one.
  625.  
  626.    Maybe, probably, yes.  The answer to this *very* complex and
  627.    will be discussed in detail in Part 2. Here is the brief
  628.    answer...
  629.  
  630.    A traditional x86 system BIOS supports only CHS mode
  631.    addressing with cylinders limited to 1024, heads limited to 16
  632.    and sectors limited to 63.  This allows addressing of drives
  633.    up to 528MB.  These limitations come from the INT 13
  634.    read/write calls that combine a 10-bit cylinder number with a
  635.    6-bit sector number into a 16-bit register.
  636.  
  637.    Note that this is entirely a software problem:  the ATA
  638.    interface supports up to 65,535 cylinders, 16 heads and 255
  639.    sectors.
  640.  
  641.    While the head number usually requires only 4-bits, up to 6 or
  642.    8 bits are available in the INT 13 interface.  This fact has
  643.    allowed the SCSI folks to support big drives by increasing the
  644.    number of heads above 16.  The SCSI host adapter BIOS converts
  645.    this "fake" CHS address to a different CHS or an LBA when it
  646.    issues a read/write command to the drive.  The following table
  647.    shows some approximate drives sizes and the "fake" CHS
  648.    parameters that you may see from a SCSI BIOS:
  649.  
  650.       cyl    head    sector   size
  651.  
  652.       1024     16        63   512MB
  653.       1024     32        63     1GB
  654.        512     64        63     1GB
  655.       1024     64        63     2GB
  656.       1024    256        63     8GB
  657.  
  658.    The last entry represents the largest possible drive that
  659.    a traditional INT 13 BIOS can support.
  660.  
  661.    The system BIOS folks *must* start supporting drives over
  662.    528MB in their BIOS by implementing some type of CHS
  663.    translation.  To date, few systems have such BIOS.  And here
  664.    is the bad part:  Microsoft says that the BIOS *must*
  665.    support it in order to use it in their OS.  The algorithm is
  666.    simple (but warning:  this is not the complete algorithm!):
  667.  
  668.       INT 13 input    action            ATA interface
  669.  
  670.       cyl number      "multiply" by n   modified cyl number
  671.       head number     "divide" by n     modified head number
  672.       sector number   nothing           sector number
  673.  
  674.    The value of n must be selected such that the modified head
  675.    number is less than 16.
  676.  
  677.    LBA addressing at the hard disk drive level or at the BIOS or
  678.    driver level is another solution.  This solution will probably
  679.    not be popular for several more years.  It requires that the
  680.    BIOS people implement a new INT 13 interface, called the
  681.    Microsoft/IBM Extensions and that the OS people start using
  682.    this new BIOS interface.  Few system BIOS support this
  683.    alternative interface today.  Without this new interface, LBA
  684.    support at the hard disk drive level is not required.
  685.  
  686.    So most of us have older systems without much possibility of
  687.    getting a BIOS upgrade, so what do we do?  Well we must obtain
  688.    one of the many driver products that are on the market that
  689.    live in one of the disk boot sectors and "take over" the
  690.    system BIOS INT 13 with an INT 13 that supports the
  691.    translation.  The biggest problem with this is that the
  692.    replacement INT 13 BIOS must live someplace in memory.  For
  693.    DOS based systems, it can usually live at the top of the 640K
  694.    of memory and DOS is made to think that that part of memory,
  695.    usually around 8K bytes, does not exist.  But the protected
  696.    mode OS's don't like this and usually wipe out the driver when
  697.    they load their kernel.  So if you plan to run multiple OS's
  698.    on your system, buyer beware!
  699.  
  700.    Then there is the Windows problem:  the standard FastDisk
  701.    driver in Windows does *not* support such translation schemes
  702.    and can not be enabled.  So make sure the driver you
  703.    purchase also comes with a Windows FastDisk replacement.
  704.  
  705.    Buyer beware!
  706.  
  707. !!! Do I need BIOS or OS drivers to support the ATA-2 data
  708. !!! transfer rates?
  709.  
  710.    Warning:  Read the previous two questions before reading this
  711.    one.
  712.  
  713.    Maybe, probably, yes.  The answer to this *very* complex and
  714.    will be discussed in detail in Part 2. Here is the brief
  715.    answer...
  716.  
  717.    If you have a new ATA drive that supports the advanced PIO or
  718.    DMA data transfer rates (ATA-2 PIO Mode 3 or 4, or, ATA-2 DMA
  719.    Mode 1 or 2) then you also must have a new ATA host adapter
  720.    that attaches to the VL-Bus or PCI bus or some other high
  721.    speed bus (probably a 32-bit bus) in your system.  That host
  722.    adapter has I/O registers of its own that are used to control
  723.    its advanced features.  Controlling those advanced features
  724.    requires software -- either in the system INT 13 BIOS or in a
  725.    INT 13 BIOS on the host adapter card or in a driver loaded
  726.    via the boot record or later by your OS.
  727.  
  728.    Depending on how that host adapter works you may also
  729.    need a Windows FastDisk replacement in order to use the high
  730.    speed data transfer modes in Windows.
  731.  
  732.    Buyer beware!
  733.  
  734. !!! I just purchased a new high speed host adapter for my VL-Bus
  735. !!! (or PCI bus) system and a new 540MB hard disk.  How do I get
  736. !!! full use out of all this new hardware?
  737.  
  738.    Did you read the previous three questions?
  739.  
  740.    You need BIOS or driver software and a Windows FastDisk
  741.    replacement.  These *must* support both CHS translation
  742.    (because your drive is over 528MB) and the host adapter
  743.    hardware (to use the high speed data transfer rates).
  744.  
  745.    Some drivers on the market today use LBA addressing on the
  746.    ATA interface to get over 528MB.  This may make your disk
  747.    partition(s) unreadable by another OS.
  748.  
  749.    Check the hardware and software specifications of the product
  750.    before you buy it!  Ask lots of questions -- you probably get
  751.    lots of incorrect or misleading answers -- be prepared for
  752.    that!  If you plan to run something other than DOS and
  753.    Windows, especially if you plan a "dual boot" or "boot
  754.    manager" environment, be real careful.
  755.  
  756.    Buyer beware!
  757.  
  758.    OPINION:  I know of only one product that supports all of this
  759.    new hardware, supports over 528MB *and* supports most of the
  760.    current OS's that are shipping including several in shipping
  761.    in beta form.  The product is from a small two person company
  762.    that is trying to sell the product on an OEM basis and not in
  763.    the retail market.  - Hale Landis <landis@sugs.tware.com>
  764.  
  765. !!! I have an older ATA-1 drive and I want to add an ATA-2 drive
  766. !!! on the same host adapter (same cable).  Can I run the new
  767. !!! drive in its ATA-2 data transfer modes?
  768.  
  769.    Sorry, *NO* you can *NOT* run the new drive in its faster data
  770.    transfer modes.  Be very careful, most of the ATA-2 host
  771.    adapter vendors don't have anything in their setup
  772.    documentation or software to prevent this sort of thing.
  773.  
  774.    When you run the new drive at a data transfer speed that is
  775.    faster than the older drive can support, you are violating the
  776.    electrical interface setup and hold times on the older drive.
  777.    There is no telling what the older drive will do about this,
  778.    but you are asking for data corruption and other nasty
  779.    problems on your older drive.
  780.  
  781.    Buyer beware!
  782.  
  783. /end part 1/
  784.