Three standard Hard Disk Drive interfaces have been used with DOS Computers over the years. The SCSI Interface, a universal interface, is also used to connect Hard Disk Drives to DOS Computers, but it's use has mainly been limited to high capacity File Servers and powerful Work Stations. The Hard Disk Drive Interface is often referred to as the Hard Disk Drive Controller.
In earlier hardware, the Hard Disk Drive Interface was provided by an interface card plugged into a bus slot on the system board. Modern DOS computers have the Hard Disk Drive Interface built into the system board, along with the Floppy Drive Interface and the Parallel and Serial I/O Ports.
ST506 Interface cards were available for both PC/XT (8 Bit bus) and PC/AT (16 Bit bus) Computers. The 8 Bit bus Computers did not have support for Hard Disk Drives built into the BIOS ROM and so a BIOS Extension ROM was required to add Hard Disk Drive support. This was located on the Hard Disk Drive Interface card and was addressed in the memory space, starting at address C8000hex. With ST506 interface Hard Disk Drives, the Disks organisation (cylinders/sectors/sides) is important to the Interface card. The cards are either built for one particular Drive organisation, or they have jumpers or DIP switches to select the Drive parameters. Some of the last ST506 interface cards had a nonvolatile RAM that stored the Drives parameters and usually had a list of Drives to choose from when entering the low level format routine. |
Most of the BIOS extension ROMs on 8 bit ST506 Hard Disk Drive interface cards usually provided a routine for performing a low level format on the Drive. This routine was accessed via DEBUG using Debugs "GO" command. The start address of this routine depends on the brand of Interface card. Most common addresses were G = C800:5, C800:CCC and C800:6. (See Segment and Offset addressing for details of what C800:5 means)
NOTE: Real IBM Hard Disk Drive Interface cards did not have a low level format routine built in, you had to use IBMs (or someone else) disk based low level format routine.
The PC/XT (8 bit bus) utilised | The PC/AT (ISA bus) utilised |
---|---|
Hardware interrupt - IRQ 5 | Hardware interrupt - IRQ 14 |
I/O port addresses 320-32F | I/O port addresses 1F0-1F8 |
DMA channel 3 | DMA channel - none |
BIOS support provided by BIOS Extension ROM on the Interface card at memory address C8000 |
BIOS support provided by the BIOS ROM on the System Board |
MFM and RLL Recording Methods - The ST 506 Interface can use two alternative data recording methods
RLL provided a 50% increase in storage capacity at the expense of some error checking. Hard Disk Drives for use with RLL Interface cards had to be of better quality with closer tolerance on rotational speed and long term stability. Using non RLL approved Drives on RLL Interface cards earned the RLL technology a bad name, as the Drives worked for a while but sooner or later they started to produce read errors and eventually may have failed altogether.
The ST506 Interface used two ribbon cables between the Interface and the Drive, with edge connectors on the Drive end. These cables were a 34 conductor cable and a 20 conductor cable.
When two Hard Disk Drives were required with the ST506 interface, the 34 pin cable was Daisy Chained to both Drives, and each Drive had its own 20 Pin cable. If you look at an ST506 Interface card you will see one 34 pin header connector and two 20 pin header connectors. The Drives must be set to be First or Second Drive and jumpers are provided on the Drives, for Drive selection. In a two Hard Disk Drive set up, the Drives could be selected in two ways:
Note:- Both Floppy Disk Drives, and ST506 and ESDI Hard Disk Drives use a 34 wire Interface cable. The 34 wire cables used on Floppy Disk Drives and on ST506 Hard Disk Drives are not the same. The Floppy Disk Drive cables used by IBM, and also by most DOS Computer manufacturers, have a twist in the cable between pin 10 and pin 16 that transposes the Drive select lines. A few manufacturers supplied Hard Disk Drive Interface cables with a twist but the twist was on the other side of the cable, between pins 25 and 29. This was not common.
ISA Bus(16 bit) ST506 Hard Disk Drive Interface cards
The AT type Computer was built with support for Hard Disk Drives built in and did not require a BIOS Extension ROM on the Hard Disk Drive Interface card. Later generations of DOS computers have followed this procedure. The drive organisation details are stored in a battery backed-up RAM situated on the System Board. This RAM is called the CMOS and holds all of the computers setup details, how much RAM, what type of Floppy Disk Drives are installed, what type of Hard Disk Drives are installed, what type of Video card is in use and many other scraps of information.
16 BIT Bus interface cards are identified by having an ISA bus connector rather than the old eight bit (PC/XT) bus connector. Remember the ISA bus has an extra 36 pin edge connector on the end of the 62 pin eight bit bus connector. The 36 pin edge connector provides the extra Data lines (D8 to D15), the extra Address lines (A20 to A23) and extra IRQ and DMA lines, required by the ISA bus.
An 8 bit bus interface card could be used in an ISA Bus computer but we had to tell the computers CMOS setup that the computer has no Hard Disk Drive. This is because the BIOS extension ROM on the 8 BIT bus card provided Hard Disk Drive support instead of the computers own built in BIOS.
The ST506 and ESDI interfaces had a lot of the signal processing electronics on the Interface card but with the ever increasing scale of circuit integration, it became possible to put this on the Hard Disk Drive itself, and to use a very simple Hard Disk Drive Interface.
The IDE Interface uses a 40 pin ribbon cable and header connectors on the Hard Disk Drive. This cable is daisy chained when two Drives are fitted, and the Drives are selected by jumpers on the Drives as Master and Slave devices.
You must consult the Drive manufactures documentation when installing additional Hard Disk Drives in a system with IDE Interface Drives, not all Drives follow the same standards, and some older Drives will not work with some other brand/model of Drive. Not all Drives use the same jumper configuration also. Some Drives were built without Master/Slave jumpers and cannot be used in a two Hard Disk Drive setup. Most modern Drives have diagrams of the jumper configurations on the top of the Drive.
Today an Enhanced IDE (EIDE) standard has been introduced that overcomes the 528 MByte limit imposed by the Int 13 routine, provides much faster data transfer rates and allows for the connection of CDROM, Tape Backup and high capacity Removable Media Drives. |
The EIDE standard has also added two more EIDE I/O channels and these are called the Tertiary channel and the Quaternary channel. See the IRQ and I/O notes for details of the resources assigned to these devices.
The eight bit SCSI Interface uses two types of Interface cable:
Line terminators are important on SCSI cables both ends of a SCSI chain must be terminated.
The SCSI Interface will be covered in more detail in PC Servicing two.
Enhanced IDE and ATA are changing all the rules.
Maximum Hard Disk Drive size is now 8.4 GByte, the maximum number of EIDE Interface devices is now four, and the maximum transfer rate is in excess of 32 MByte/sec. The ATA Packet Interface (ATAPI) allows for CDROM Drives, and other specifications provide for Tape Backup Drives and high capacity Removable Media Drives.
Enhanced IDE has changed four main elements of the old IDE specification:
You will discover much more about Enhanced IDE and ATA in PC Servicing two.
Many Disk storage devices, Hard, Floppy and optical Drives, run in CAV (Constant Angular Velocity) mode. In this case, the Disk spins at a constant rate, and there are the same number of Sectors per Track on inner and outer Tracks. This means that the bits are farther apart on the outer Tracks, potentially wasting space. The transfer rate is constant, as the number of Bits/Track is same and the Time/Track does not vary. This is the way all DOS Floppy Disk Drives and older Hard Disk Drives were organized.
CDs (and video laser disks, I believe) and early Macintosh Floppy Disk Drives run at Constant Linear Velocity (CLV). That is, the bits are all roughly the same size, and the rotations per minute of the Drive is adjust as the head moves in and out. This gives the best areal density of bits, at the sacrifice of seek speed, since every seek requires an adjustment of the rotation speed. The transfer rate is constant, as the size and spacing of bits is constant and the linear velocity is constant. This is the way the audio CDs and their Computer counterparts all work.
The current rage is ZCAV, Zoned Constant Angular Velocity. Most modern Hard Disk Drives have this feature, and the newest MO (Magneto Optical) Drives do also. There are a number of Zones defined on the Disk. The number of Sectors per Track is different in each zone. Thus, the data is packed more densely than normal CAV Disks, but seek speed is not sacrificed. Another effect of ZCAV is that the media transfer rate varies depending on the head position, because the time/track is constant and the bits/track vary; for example, the Seagate ST12450W Barracuda Hard Disk Drive varies from 68 to 113 MBits/sec, almost a factor of two.
IDE, ATA, CAM, ATAPI and LBA | More technical details of EIDE | Hard Disk Drive technologies | Back to the opening index | Book four index |