Stars
Hard Disk Interfaces
Home
About Me
Favorite Links
Contact Me
Family Photo Album
firewall
Personal Computer Background
Communications and Networking
Motherboards
Overview of System Components
Memory
Software and Hardware Diagnostic Tools
The Power Supply
Video Display Hardware
Hard Disk Interfaces
Bus Slots and I/O Cards

Hard Disk Interfaces

Hard Disk Interfaces

This chapter describes the hard disk interface, from the drives to the cables and controllers that run them. You learn about the various disk interfaces you can select, and the shortcomings and strengths of each type.

Interfaces Choices

A variety of hard disk interfaces have been available over the years. You need to know about all these interfaces, from the oldest to the newest designs, because you will encounter all of them whenever upgrading or repairing systems is necessary.

The interfaces have different cabling and configuration options, and the setup and format of drives will vary as well. Special problems may arise when you are trying to install more than one drive of a particular interface type or (especially) when you are mixing drives of different interface types in one system.

This section covers the different hard disk drive interfaces, giving you all the technical information you need to deal with them in any way--troubleshooting, servicing, upgrading, and even mixing the different types.

This section also examines the standard controllers and describes how you can work with these controllers, as well as replace them with much faster units. Also discussed are the different types of drive interfaces: ST-506/412, ESDI, IDE, and SCSI. Choosing the proper interface is important, because your choice also affects your disk drive purchase and the ultimate speed of the disk subsystem.

The primary job of the hard disk controller or interface is to transmit and receive data to and from the drive. The different interface types limit how fast data can be moved from the drive to the system and offer different levels of performance. If you are putting together a system in which performance is a primary concern, you need to know how these different interfaces affect performance and what you can expect from them. Many of the statistics that appear in technical literature are not indicative of the real performance figures that you will see in practice. We will separate the myths presented by some of these over-optimistic figures from the reality of what you will actually see.

With regard to disk drives, and especially hard disk drives, the specification on which people seem to focus the most is the drive's reported average seek time, the (average) time it takes for the heads to be positioned from one track to another. Unfortunately, the importance of this specification often is overstated, especially in relation to other specifications, such as the data transfer rate.

The transfer rate of data between the drive and the system is more important than access time, because most drives spend more time reading and writing information than they do simply moving the heads around. The speed at which a program or data file is loaded or read is affected most by the data transfer rate. Specialized operations such as sorting large files, which involve a lot of random access to individual records of the file (and, therefore, many seek operations), are helped greatly by a faster-seeking disk drive, so seeking performance is important in these cases. Most normal file load and save operations, however, are affected most by the rate at which data can be read and written to and from the drive. The data transfer rate depends on both the drive and the interface.

Several types of hard disk interfaces have been used in PC systems over the years:

  • ST-506/412

  • IDE

  • ESDI

  • SCSI

Of these interfaces, only ST-506/412 and ESDI are what you could call true disk-controller-to-drive interfaces. SCSI and IDE are system-level interfaces that usually incorporate a chipset-based variation of one of the other two types of disk controller interfaces internally. For example, most SCSI and IDE drives incorporate the same basic controller circuitry used in separate ESDI controllers. The SCSI interface adds another layer of interface that attaches the controller to the system bus, whereas IDE is a direct bus-attachment interface.

In data recovery, it helps to know the disk interface you are working with, because many data-recovery problems involve drive setup and installation problems. Each interface requires a slightly different method of installation and drive configuration. If the installation or configuration is incorrect or accidentally altered by the system user, it may prevent access to data on a drive. Accordingly, anyone who wants to become proficient in data recovery must be an expert on installing and configuring various types of hard disks and controllers.

IBM's reliance on industry-standard interfaces such as those listed here was a boon for everybody in the IBM-compatible industry. These standards allow a great deal of cross-system and cross-manufacturer compatibility. This Plug-and-Play capability results in affordable hard disk storage and a variety of options in capacities and speed.

The ST-506/412 Interface

The ST-506/412 interface was developed by Seagate Technologies around 1980. The interface originally appeared in the Seagate ST-506 drive, which was a 5M formatted (or 6M unformatted) drive in a full-height, 5 1/4-inch form factor. In 1981, Seagate introduced the ST-412 drive, which added a feature called buffered seek to the interface. This drive was a 10M formatted (12M unformatted) drive. Besides the Seagate ST-412, IBM also used the Miniscribe 1012 as well the International Memories, Inc. (IMI) model 5012 drive in the XT.

Most drive manufacturers that made hard disks for PC systems adopted the Seagate ST-506/412 standard, a situation that helped make this interface popular. One important feature is the interface's Plug-and-Play design. No custom cables or special modifications are needed for the drives, which means that virtually any ST-506/412 drive will work with any ST-506/412 controller.

The ST-506/412 standard uses a 34-pin control cable and a 20-pin data cable. Table 15.1 shows the pinouts for the control cable, and Table 15.2 shows the pinouts for the data cable.

Table 15.1  ST-506/412 Control Cable

Pin Signal Name Pin Signal Name
1 Ground 2 Head Select 8
3 Ground 4 Head Select 4
5 Ground 6 Write Gate
7 Ground 8 Seek Complete
9 Ground 10 Track 0
11 Ground 12 Write Fault
13 Ground 14 Head Select 1
15 Ground 16 Sector/Address Mark
17 Ground 18 Head Select 2
19 Ground 20 Index
21 Ground 22 Ready
23 Ground 24 Step
25 Ground 26 Drive Select 1
27 Ground 28 Drive Select 2
29 Ground 30 Drive Select 3
31 Ground 32 Drive Select 4
33 Ground 34 Direction In

Table 15.2  ST-506/412 Data Cable

Pin Signal Name Pin Signal Name
1 Drive Selected 2 Ground
3 Reserved 4 Ground
5 Reserved 6 Ground
7 Reserved 8 Ground
9 Reserved 10 Reserved
11 Ground 12 Ground
13 +Write Data 14 -Write Data
15 Ground 16 Ground
17 +Read Data 18 -Read Data
19 Ground 20 Ground

The only real compatibility issue with this interface is the level of BIOS support provided by the system. When introduced to the PC industry by IBM in 1983, ROM BIOS support for this hard disk interface was provided by a BIOS chip on the controller. Contrary to what most believed, the PC and XT motherboard BIOS had no inherent hard disk support. When the AT system was introduced, IBM placed the ST-506/412 interface support in the motherboard BIOS and eliminated it from the controller. Since then, any system that is compatible with the IBM AT has an enhanced version of the same support in the motherboard BIOS as well. Because this support was somewhat limited, especially in the older BIOS versions, many disk controller manufacturers also placed additional BIOS support for their controllers directly on the controllers themselves. In some cases, you would use the controller BIOS and motherboard BIOS together; in other cases, you would disable the controller or motherboard BIOS and then use one or the other. These issues will be discussed more completely later in this chapter in the section "System Configuration".

The ST-506/412 interface was designed for a 5M drive, and there are no drives larger than 152M (Modified Frequency Modulation encoding) or 233M (Run-Length Limited encoding) available for this type of interface. Because the capacity, performance, and expandability of ST-506/412s are so limited, this interface is obsolete and generally unavailable in new systems. However, many older systems use this interface.

Encoding Schemes and Problems

As indicated in Chapter 14 - Hard Disk Drives, in the section "Data Encoding Schemes", encoding schemes are used in communications for converting digital data bits to various tones for transmission over a telephone line. For disk drives, the digital bits are converted, or encoded, in a pattern of magnetic impulses, or flux transitions (also called flux reversals), which are written on the disk. These flux transitions are decoded later when the data is read from the disk.

A device called an endec (encoder/decoder) accomplishes the conversion to flux transitions for writing on the media and the subsequent reconversion back to digital data during read operations. The function of the endec is very similar to that of a modem (modulator/demodulator) in that digital data is converted to an analog waveform, which then is converted back to digital data. Sometimes, the endec is called a data separator, because it is designed to separate data and clocking information from the flux-transition pulse stream read from the disk.

One of the biggest problems with ST-506/412 was the fact that this endec resided on the disk controller (rather than the drive), which resulted in the possibility of corruption of the analog data signal before it reached the media. This problem became especially pronounced when the ST-506/412 controllers switched to using RLL endecs to store 50 percent more data on the drive. With the RLL encoding scheme, the actual density of magnetic flux transitions on the disk media remains the same as with MFM encoding, but the timing between the transitions must be measured much more precisely.

In RLL encoding, the intervals between flux changes are approximately the same as with MFM, but the actual timing between them is much more critical. As a result, the transition cells in which signals must be recognized are much smaller and more precisely placed than with MFM. RLL encoding places more stringent demands on the timing of the controller and drive electronics. With RLL encoding, accurately reading the timing of the flux changes is paramount. Additionally, because RLL encodes variable-length groups of bits rather than single bits, a single error in one flux transition can corrupt two to four bits of data. For these reasons, an RLL controller usually has a more sophisticated error-detection and error-correction routine than an MFM controller.

Most of the cheaper disk drives on the market did not have data-channel circuits that were designed to be precise enough to handle RLL encoding without problems. RLL encoding is also much more susceptible to noise in the read signal, and conventional oxide media coatings did not have a sufficient signal-to-noise ratio for reliable RLL encoding. This problem often was compounded by the fact that many drives of the time used stepper motor head positioning systems, which are notoriously inaccurate, that further amplified the signal-to-noise ratio problem.

The bottom line is that other than improved precision, there is no real difference between an ST-506/412 drive that is sold as an MFM model and one that is sold as an RLL model. If you want to use a drive that originally was sold as an MFM model with an RLL controller, we suggest that you do so only if the drive uses a voice coil head actuator and thin-film media. Virtually any ST-506/412 drive with these qualities is more than good enough to handle RLL encoding with no problems.

Using MFM encoding, a standard ST-506/412 format specifies that the drive will contain 17 sectors per track, with each sector containing 512 bytes of data. A controller that uses an RLL endec raises the number of sectors per track to 25 or 26.

The real solution to reliability problems with RLL encoding was to place the endec directly on the drive rather than on the controller. This method reduces the susceptibility to noise and interference that can plague an ST-506/412 drive system running RLL encoding. ESDI, IDE, and SCSI drives all have the endec (and, often, the entire controller) built into the drive by default. Because the endec is attached to the drive without cables and with an extremely short electrical distance, the propensity for timing- and noise-induced errors is greatly reduced or eliminated. This situation is analogous to a local telephone call between the endec and the disk platters. This local communication makes the ESDI, IDE, and SCSI interfaces much more reliable than the older ST-506/412 interface; they share none of the reliability problems that were once associated with RLL encoding over the ST-506/412 interface. Virtually all ESDI, IDE, and SCSI drives use RLL encoding with tremendously increased reliability over even MFM ST-506/412 drives.


Historical Notes
The following sections list some information on the original ST-506/412 controllers used in the PC environment. These were the controllers that IBM supplied in the XT and AT systems. In fact, the entire IDE interface standard is based on the controller that IBM designed and used in the AT. All of the conventions and standards for the hard disk interfaces started with these controllers.

Original IBM 8-Bit Controllers

The first ST-506/412 controller standard sold for PC systems was the hard disk controller used in the original 10M IBM XT. This controller actually was made for IBM by Xebec Corporation and also was sold under the Xebec name as the Xebec 1210 controller. The Xebec 1210 is an ST-506/412 controller that uses MFM encoding to record data on a drive. This controller's ROM, produced by IBM, contains an 8K hard disk BIOS with an internal table that had entries for four different drives. Each drive was selected by jumpers on the controller, which actually were soldered in the early IBM units. If you purchased the controller from Xebec, you received a slightly different but completely compatible ROM, and the jumpers were not soldered, so you easily could select one of the four BIOS table entries. Xebec also allowed system integrators to copy its ROM to modify the built-in drive tables for a specific drive.

Later IBM XT systems with a 20M hard disk still used the Xebec 1210, but it had a new 4K ROM that contained different drive tables, as well as jumpers like those found on the versions also sold separately by Xebec. Xebec never sold an autoconfigure version of this controller, which would have made integrating different drives easier.

The Xebec 1210 is one of the slowest ST-506/412 controllers ever made, supporting at best a 5:1 interleave on a stock IBM PC or IBM XT system. If you use the IBM Advanced Diagnostics program for the IBM PC or IBM XT, the low-level formatter produces a standard 6:1 interleave, which results in a paltry 85K/sec data transfer rate. By changing the interleave to 5:1, you can wring 102K/sec from this controller.

Xebec also made a Model 1220 that combined a hard disk and floppy disk controller, was hardware-compatible with the 1210, and works with the IBM or standard Xebec ROM. The separate floppy controller then could be removed from the system, and you could save a slot.

Original IBM 16-Bit Controllers

For the AT, IBM used two controllers made by Western Digital (WD): the WD1002-WA2 and the WD1003A-WA2. The WD1003 is an upgraded WD1002 with a much lower chip count. The WD1003 also was shorter than the WD1002 to fit into the IBM XT 286.

The WD1002 is used in the IBM AT as a combination hard disk and floppy disk controller. The WD1002 and the WD1003 are standard ST-506/412 controllers that supply MFM encoding to the drive. Neither controller contains a ROM BIOS; instead, BIOS support is built into the motherboard ROM. Both controllers support a 2:1 interleave, even on a standard 6MHz IBM AT system. The IBM Advanced Diagnostics low-level formatter can put down a 2:1 interleave, but the default is 3:1. Most users of these controllers can realize a performance gain if they simply reformat to the lower interleave.


The ESDI Interface

ESDI, or Enhanced Small Device Interface, is a specialized hard disk interface established as a standard in 1983, primarily by Maxtor Corporation. Maxtor led a consortium of drive manufacturers to adopt its proposed interface as a high-performance standard to succeed ST-506/412. ESDI later was adopted by the ANSI (American National Standards Institute) organization and published under the ANSI X3T9.2 Committee. The latest version of the ANSI ESDI document is known as X3.170a-1991.

Compared with ST-506/412, ESDI has provisions for increased reliability, such as building the endec into the drive. ESDI is capable of a maximum 24Mbit/sec transfer rate. Most drives running ESDI, however, are limited to a maximum 10 or 15Mbit/sec. Unfortunately, compatibility problems between different ESDI implementations combined with pressure from low-cost, high-performance IDE interface drives have served to make the ESDI interface obsolete.

The ESDI interface uses a 34-pin control cable and a 20-pin data cable, just like the ST-506/412 interface. Only the pinouts are different. Table 15.3 shows the pinouts for the control cable, and Table 15.4 shows the pinouts for the data cable.

Table 15.3  ESDI Control Cable

Pin Signal Name Pin Signal Name
1 Ground 2 Head Select 3
3 Ground 4 Head Select 2
5 Ground 6 Write Gate
7 Ground 8 Config/Stat Data
9 Ground 10 Transfer Acknowledge
11 Ground 12 Attention
13 Ground 14 Head Select 0
15 Ground 16 Sector/Address Mark
17 Ground 18 Head Select 1
19 Ground 20 Index
21 Ground 22 Ready
23 Ground 24 Transfer Request
25 Ground 26 Drive Select 1
27 Ground 28 Drive Select 2
29 Ground 30 Drive Select 3
31 Ground 32 Read Gate
33 Ground 34 Command Data

Table 15.4  ESDI Data Cable

Pin Signal Name Pin Signal Name
1 Drive Selected 2 Sector/Address Mark
3 Seek Complete 4 Address Mark Enable
5 Reserved 6 Ground
7 +Write Clock 8 -Write Clock
9 Cartridge Change 10 +Read Ref Clock
11 -Read Ref Clock 12 Ground
13 +Write Data 14 -Write Data
15 Ground 16 Ground
17 +Read Data 18 -Read Data
19 Ground 20 Ground

Enhanced commands enabled some ESDI controllers to read a drive's capacity parameters directly from the drive, as well as to control defect mapping, but several manufacturers had different methods for writing this information on the drive. When you install an ESDI drive, in some cases the controller automatically reads the parameter and defect information directly from the drive. In other cases, however, you still have to enter this information manually, as with ST-506/412.

The ESDI's enhanced defect-mapping commands provide a standard way for the PC system to read a defect map from a drive, which means that the manufacturer's defect list can be written to the drive as a file. The defect-list file then can be read by the controller and low-level format software, eliminating the need for the installer to type these entries from the keyboard and enabling the format program to update the defect list with new entries if it finds new defects during the low-level format or the surface analysis.

Most ESDI implementations have drives formatted to 32 sectors per track or more (80 or more sectors per track are possible)--many more sectors per track than the standard ST-506/412 implementation of 17 to 26. The greater density results in two or more times the data-transfer rate, with a 1:1 interleave. Almost without exception, ESDI controllers support a 1:1 interleave, which allows for a transfer rate of 1M/sec or greater.

Because ESDI is much like the ST-506/412 interface, it can replace that interface without affecting software in the system. Most ESDI controllers are register-compatible with the older ST-506/412 controllers, which enables OS/2 and other non-DOS operating systems to run with few or no problems. The ROM BIOS interface to ESDI is similar to the ST-506/412 standard, and many low-level disk utilities that run on one interface will run on the other. To take advantage of ESDI defect mapping and other special features, however, use a low-level format and surface-analysis utility designed for ESDI (such as the ones usually built into the controller ROM BIOS and called by DEBUG).

During the late 1980s, most high-end systems from major manufacturers were equipped with ESDI controllers and drives. Installing ESDI drives is no longer recommended, unless you are upgrading a system that already has an ESDI controller.

The IDE Interface

Integrated Drive Electronics (IDE) is a generic term applied to any drive with an integrated (built-in) disk controller. The IDE interface as we know it is officially called ATA (AT Attachment), and is an ANSI standard; however, IDE can roughly apply to any disk drive with a built-in controller.

The first drives with integrated controllers were hardcards; later, a variety of drives with integrated controllers became available. In a drive with IDE, the disk controller is integrated into the drive, and this combination drive/controller assembly usually plugs into a bus connector on the motherboard or bus adapter card. Combining the drive and controller greatly simplifies installation, because there are no separate power or signal cables from the controller to the drive. Also, when the controller and the drive are assembled as a unit, the number of total components is reduced, signal paths are shorter, and the electrical connections are more noise-resistant, resulting in a more reliable design than is possible when a separate controller, connected to the drive by cables, is used.

Placing the controller (including endec) on the drive gives IDE drives an inherent reliability advantage over interfaces with separate controllers. Reliability is increased because the data encoding, from digital to analog, is performed directly on the drive in a tight noise-free environment; the timing-sensitive analog information does not have to travel along crude ribbon cables that are likely to pick up noise and insert propagation delays into the signals. The integrated configuration allows for increases in the clock rate of the encoder, as well as the storage density of the drive.

Integrating the controller and drive also frees the controller and drive engineers from having to adhere to the strict standards imposed by the earlier interface standards. Engineers can design what essentially are custom drive and controller implementations because no other controller would ever have to be connected to the drive. The resulting drive and controller combinations can offer higher performance than earlier stand-alone controller and drive setups. IDE drives sometimes are called drives with embedded controllers.

The IDE connector on motherboards in newer systems is nothing more than a stripped-down bus slot. In ATA IDE installations, these connectors normally contain a 40-pin subset of the 98 pins that would be available in a standard 16-bit ISA bus slot. The pins used are only the signal pins required by a standard-type XT or AT hard disk controller. For example, because an AT-style disk controller uses only interrupt line 14, the motherboard AT IDE connector supplies only that interrupt line; no other interrupt lines are needed. The XT IDE motherboard connector supplies interrupt line 5 because that is what an XT controller would use.


NOTE: Many people who use systems with IDE connectors on the motherboard believe that a hard disk controller is built into their motherboard, but the controller really is in the drive.

When IDE drives are discussed, the ATA IDE variety usually is the only kind mentioned because it is so popular. But other forms of IDE drives exist, based on other buses. For example, several PS/2 systems came with Micro-Channel (MCA) IDE drives which plug directly into a Micro-Channel Bus slot (through an angle adapter or interposer card). An 8-bit ISA form of IDE also existed but was never very popular. Most IBM-compatible systems with the ISA or EISA Bus use AT-Bus (16-bit) IDE drives. The ATA IDE interface is by far the most popular type of drive interface.

The primary advantage of IDE drives is cost. Because the separate controller or host adapter is eliminated and the cable connections are simplified, IDE drives cost much less than a standard controller-and-drive combination. These drives also are more reliable, because the controller is built into the drive. Therefore, the endec or data separator (the converter between the digital and analog signals on the drive) stays close to the media. Because the drive has a short analog-signal path, it is less susceptible to external noise and interference.

Another advantage is performance. IDE drives are some of the highest-performance drives available--but they also are among the lowest-performance drives. This apparent contradiction is a result of the fact that all IDE drives are different. You cannot make a blanket statement about the performance of IDE drives because each drive is unique.

IDE Origins

Technically, the first IDE drives were hardcards. Companies such as the Plus Development division of Quantum took small 3 1/2-inch drives (either ST-506/412 or ESDI) and attached them directly to a standard controller. The assembly then was plugged into a bus slot as though it were a normal disk controller. Unfortunately, the mounting of a heavy, vibrating hard disk in an expansion slot with nothing but a single screw to hold it in place left a lot to be desired--not to mention the possible interference with adjacent cards due to the fact that many of these units were much thicker than a controller card alone.

Several companies got the idea that you could redesign the controller to replace the logic-board assembly on a standard hard disk and then mount it in a standard drive bay just like any other drive. Because the built-in controller in these drives still needed to plug directly into the expansion bus just like any other controller, a cable was run between the drive and one of the slots.

These connection problems were solved in different ways. Compaq was the first to incorporate a special bus adapter in its system to adapt the 98-pin AT bus edge connector on the motherboard to a smaller 40-pin header style connector that the drive would plug into. The 40-pin connectors were all that were needed, because it was known that a disk controller never would need more than 40 of the bus lines.

In 1987, IBM developed its own MCA IDE drives and connected them to the bus through a bus adapter device called an interposer card. These bus adapters (sometimes called paddle boards) needed only a few buffer chips and did not require any real circuitry because the drive-based controller was designed to plug directly into the bus. The paddle board nickname came from the fact that they resembled game paddle or joystick adapters, which do not have much circuitry on them. Another 8-bit variation of IDE appeared in 8-bit ISA systems such as the PS/2 Model 30. The XT IDE interface uses a 40-pin connector and cable that is similar to, but not compatible with, the 16-bit version.

IDE Bus Versions

Three main types of IDE interfaces are available, with the differences based on three different bus standards:

  • AT Attachment (ATA) IDE (16-bit ISA)

  • XT IDE (8-bit ISA)

  • MCA IDE (16-bit Micro Channel)


NOTE: Many people are confused about 16- versus 32-bit bus connections and 16- versus 32-bit hard drive connections. A PCI connection allows for a 32- and 64-bit bandwidth from the bus to the drive controller only. In an IDE (or EIDE) drive configuration, you are still getting only 16-bit bandwidth between the drive and the controller. This usually does not create a bottleneck, however, because one or two hard drives cannot supply the controller enough data to saturate even a 16-bit channel. Fast Wide SCSI-3 is the only device/controller combination that gives you 32 bits from the controller to the drive, primarily because you can hang 15 devices off a SCSI Wide chain and there is a good chance that many devices will saturate a 16-bit channel at some time.

The XT and ATA versions have standardized on 40-pin connectors and cables, but the connectors have slightly different pinouts, rendering them incompatible with one another. MCA IDE uses a completely different 72-pin connector and is designed for MCA bus systems only.

In most cases, you must use the type of IDE drive that matches your system bus. This situation means that XT IDE drives work only in XT-class 8-bit ISA slot systems, AT IDE drives work only in AT-class 16-bit ISA or EISA slot systems, and MCA IDE drives work only in Micro-Channel systems (such as the IBM PS/2 Model 50 or higher). A company called Silicon Valley offered adapter cards for XT systems that supported ATA IDE drives. Other companies, such as Arco Electronics and Sigma Data, offered IDE adapters for Micro-Channel systems that allowed ATA IDE drives to be used on these systems. These adapters were very useful for XT or PS/2 systems, because there was a very limited selection of XT or MCA IDE drives, whereas the selection of ATA drives was virtually unlimited.

In most newer systems, you will find an ATA connector on the motherboard. If your motherboard does not have one of these connectors and you want to attach an AT IDE drive to your system, you can use an adapter card that changes your 98-pin slot connector to the 40-pin IDE connector. These adapter cards are nothing more than buffered cables; they are not really controllers. The controller is built into the drive. Some of the cards offer additional features, such as an on-board ROM BIOS or cache memory.

ATA IDE

CDC, Western Digital, and Compaq actually created what could be called the first ATA type IDE interface drive and were the first to establish the 40-pin IDE connector pinout. The first ATA IDE drives were 5 1/4-inch half-height CDC 40M units with integrated WD controllers sold in the first Compaq 386 systems in 1986. After that, Compaq helped found a company called Conner Peripherals to supply Compaq with IDE drives. Conner originally made drives only for Compaq, but later Compaq sold much of its ownership of Conner.

Eventually, the 40-pin IDE connector and drive interface method was placed before one of the ANSI standards committees which, in conjunction with drive manufacturers, ironed out some deficiencies, tied up some loose ends, and published what is known as the CAM ATA (Common Access Method AT Attachment) interface. The CAM Committee was formed in October 1988, and the first working document of the ATA interface was introduced in March 1989. Before the CAM ATA standard, many companies that followed CDC, such as Conner Peripherals, made proprietary changes to what had been done by CDC. As a result, many older ATA drives are very difficult to integrate into a dual-drive setup that has newer drives.

Some areas of the ATA standard have been left open for vendor-specific commands and functions. These vendor-specific commands and functions are the main reason why it is so difficult to low-level format IDE drives. To work properly, the formatter that you are using usually must know the specific vendor-unique commands for rewriting sector headers and remapping defects. Unfortunately, these and other specific drive commands differ from OEM to OEM, clouding the "standard" somewhat.


NOTE: It is important to note that only the ATA IDE interface has been standardized by the industry. The XT IDE and MCA IDE never were adopted as industry-wide standards and never became very popular.

The ATA Specification

The ATA specification was introduced in March 1989 as an ANSI standard. The ATA specifications define the signals on the 40-pin connector, the functions and timings of these signals, cable specifications, and so on. The following section lists some of the elements and functions defined by the ATA specification.

Dual-Drive Configurations

Dual-drive ATA installations can be problematic because each drive has its own controller, and both controllers must function while being connected to the same bus. There has to be a way to ensure that only one of the two controllers will respond to a command at a time.

The ATA standard provides the option of operating on the AT Bus with two drives in a daisy-chained configuration. The primary drive (drive 0) is called the master, and the secondary drive (drive 1) is the slave. You designate a drive as being master or slave by setting a jumper or switch on the drive or by using a special line in the interface called the Cable Select (CSEL) pin.

When only one drive is installed, the controller responds to all commands from the system. When two drives (and, therefore, two controllers) are installed, all commands from the system are received by both controllers. Each controller then must be set up to respond only to commands for itself. In this situation, one controller then must be designated as the master and the other as the slave. When the system sends a command for a specific drive, the controller on the other drive must remain silent while the selected controller and drive are functioning. Setting the jumper to master or slave allows discrimination between the two controllers by setting a special bit (the DRV bit) in the Drive/Head Register of a command block.

ATA I/O Connector

The ATA interface connector is a 40-pin header-type connector that should be keyed to prevent the possibility of installing it upside down. A key is provided by the removal of pin 20, and the corresponding pin on the cable connector should be plugged in to prevent a backward installation. The use of keyed connectors and cables is highly recommended, because plugging an IDE cable in backward can damage both the drive and the bus adapter circuits.

Table 15.5 shows the ATA-IDE interface connector pinout.

Table 15.5  ATA Connector

Pin Signal Name Pin Signal Name
1 -RESET 2 Ground
3 Data 7 4 Data 8
5 Data 6 6 Data 9
7 Data 5 8 Data 10
9 Data 4 10 Data 11
11 Data 3 12 Data 12
13 Data 2 14 Data 13
15 Data 1 16 Data 14
17 Data 0 18 Data 15
19 Ground 20 Access key
21 DRQ 3 22 Ground
23 -IOW 24 Ground
25 -IOR 26 Ground
27 I/O CH RDY 28 SPSYNC:CSEL
29 -DACK 3 30 Ground
31 IRQ 14 32 -IOCS16
33 Address 1 34 -PDIAG
35 Address 0 36 Address 2
37 -CS1FX 38 -CS3FX
39 -DA/SP 40 Ground
41 +5v (Logic) 42 +5v (Motor)
43 Ground 44 -TYPE (0=ATA)

ATA I/O Cable

A 40-conductor ribbon cable is specified to carry signals between the bus adapter circuits and the drive (controller). To maximize signal integrity and to eliminate potential timing and noise problems, the cable should not be longer than 0.46 meters (18 inches). Note that ATA-5 and newer standards use a 40-pin, 80-conductor ribbon cable. This cable has 40 additional grounds lines between each of the original 40 ground and signal lines. The additional 40 lines help shield the signal from electromagnetic interference (EMI). The new connector remains plug-compatible with existing 40-pin headers.

ATA Signals

This section describes some of the most important signals in more detail. Pin 20 is used as a key pin for cable orientation and is not connected through in the interface. This pin should be missing from any ATA connectors, and the cable should have the pin-20 hole in the connector plugged off to prevent the cable from being plugged in backward.

Pin 39 carries the Drive Active/Slave Present (DASP) signal, which is a dual-purpose, time-multiplexed signal. During power-on initialization, this signal indicates whether a slave drive is present on the interface. After that, each drive asserts the signal to indicate that it is active. Early drives could not multiplex these functions and required special jumper settings to work with other drives. Standardizing this function to allow for compatible dual-drive installations is one of the features of the ATA standard.

Pin 28 carries the Cable Select (CSEL) or Spindle Synchronization (SPSYNC) signal, which is a dual-purpose conductor; a given installation, however, may use only one of the two functions. The CSEL function is the most widely used and is designed to control the designation of a drive as master (drive 0) or slave (drive 1) without requiring jumper settings on the drives. If a drive sees the CSEL as being grounded, the drive is a master; if CSEL is open, the drive is a slave.

You can install special cabling to ground CSEL selectively. This installation normally is accomplished through a Y-cable arrangement, with the IDE bus connector in the middle and each drive at opposite ends of the cable. One leg of the Y has the CSEL line connected through, indicating a master drive; the other leg has the CSEL line open (conductor interrupted or removed), making the drive at that end the slave.

ATA Commands

One of the best features of the ATA IDE interface is the enhanced command set. The ATA IDE interface was modeled after the WD1003 controller that IBM used in the original AT system. All ATA IDE drives must support the original WD command set (eight commands), with no exceptions, which is why IDE drives are so easy to install. All IBM-compatible systems have built-in ROM BIOS support for the WD1003, which means that essentially they support ATA IDE as well.

In addition to supporting all the WD1003 commands, the ATA specification added numerous other commands to enhance performance and capabilities. These commands are an optional part of the ATA interface, but several of them are used in most drives and are very important to the performance and use of ATA drives in general.

Perhaps the most important is the "Identify Drive" command. This command causes the drive to transmit a 512-byte block of data that provides all details about the drive. Through this command, any program (including the system BIOS) can find out exactly what type of drive is connected, including the drive manufacturer, model number, operating parameters, and even the serial number of the drive. Most newer BIOSes use this information to automatically receive and enter the drive's parameters into CMOS memory, eliminating the need for the user to enter these parameters manually during system configuration. This arrangement helps prevent mistakes that can later lead to data loss when the user no longer remembers what parameters he or she used during setup.

The Identify Drive data can tell you many things about your drive, including the following:

  • Number of cylinders in the recommended (default) translation mode

  • Number of heads in the recommended (default) translation mode

  • Number of sectors per track in the recommended (default) translation mode

  • Number of cylinders in the current translation mode

  • Number of heads in the current translation mode

  • Number of sectors per track in the current translation mode

  • Manufacturer and model number

  • Firmware revision

  • Serial number

  • Buffer type, indicating sector buffering or caching capabilities

Several public-domain programs can execute this command to the drive and report the information on-screen. You can use the IDEINFO or IDEDIAG program. These programs are especially useful when you are trying to install IDE drives and need to know the correct parameters for a user-definable BIOS type. These programs get the information directly from the drive itself.

Two other very important commands are the "Read Multiple" and "Write Multiple" commands. These commands permit multiple-sector data transfers and, when combined with block-mode Programmed I/O (PIO) capabilities in the system, can result in incredible data-transfer rates many times faster than single-sector PIO transfers.

There are many other enhanced commands, including room for a given drive manufacturer to implement what are called vendor-unique commands. These commands often are used by a particular vendor for features unique to that vendor. Often, features such as low-level formatting and defect management are controlled by vendor-unique commands. This is why low-level format programs can be so specific to a particular manufacturer's IDE drives and why many manufacturers make their own LLF programs available.

ATA IDE Drive Categories

ATA IDE drives can be divided into three main categories. These categories separate the drives by function (such as translation capabilities) and design (which can affect features such as low-level formatting):

  • Non-Intelligent ATA IDE drives

  • Intelligent ATA IDE drives

  • Intelligent Zoned Recording ATA IDE drives

Non-Intelligent IDE

As we stated earlier, the ATA standard requires that the built-in controller respond exactly as though it were a Western Digital WD1003 controller. This controller responds to a command set of eight commands. Early IDE drives supported these commands and had few, if any, other options. These early drives actually were more like regular ST-506/412 or ESDI controllers bolted directly into the drive. These drives were not considered to be intelligent IDE drives; an intelligent drive is supposed to have several capabilities that these early IDE drives lacked. The drives could not respond to any of the enhanced commands that were specified as (an optional) part of the ATA IDE specification, including the "Identify Drive" command. These drives also did not support sector translation, in which the physical parameters could be altered to appear as any set of logical cylinders, heads, and sectors. Enhanced commands and sector-translation support are what make an IDE drive an intelligent IDE drive, and these features were not available in the early IDE drives.

These drives could be low-level formatted in the same manner as any normal ST-506/412 or ESDI drive. They were universally low-level formatted at the factory, with factory-calculated optimum interleave (usually, 1:1) and head- and cylinder-skew factors. Also, factory defects were recorded in a special area on the drive; they no longer were written on a sticker pasted to the exterior. Unfortunately, this arrangement means that if you low-level format these drives in the field, you most likely will alter these settings (especially the skew factors) from what the factory set as optimum, as well as wipe out the factory-written defect table.

Some manufacturers released special low-level format routines that would reformat the drives while preserving these settings, but others did not make such programs available. Because they did not want you to overwrite the defect list or potentially slow the drive, most manufacturers stated that you should never low-level format their IDE drives.

This statement started a myth that the drives could somehow be damaged or rendered inoperable by such a format, which truly is not the case. One rumor was that the servo information could be overwritten, which would mean that you would have to send the drive back to the manufacturer for re-servoing. This also is not true; the servo information is protected and cannot be overwritten. The only consequence of an improper low-level format of these drives is the possible alteration of the skew factors and the potential loss of the factory defect maps.

The Disk Manager program by Ontrack is the best special-purpose format utility to use on these drives for formatting because it is aware of these types of drives and often can restore the skew factors and preserve the defect information. If you are working with a drive that already has had the defect map overwritten, Disk Manager can perform a very good surface analysis that will mark off any of these areas that it finds. Disk Manager allows you to specify the skew factors and to mark defects at the sector level so that they will not cause problems later. Other general-purpose diagnostics that work especially well with IDE drives such as this include the Microscope program by Micro 2000.

Intelligent IDE

Later IDE drives became known as intelligent IDE drives. These drives support enhanced ATA commands, such as the "Identify Drive" command, and sector-translation capabilities.

These drives can be configured in two ways: in raw physical mode or in translation mode. To configure the drive in raw physical mode, you simply enter the CMOS drive parameters during setup so that they match the true physical parameters of the drive. For example, if the drive physically has 800 cylinders, 6 heads, and 50 sectors per track, you enter these figures during setup. To configure the drive in translation mode, you simply enter any combination of cylinders, heads, and sectors that adds up to equal or less than the true number of sectors on the drive.

In the example we just used, the drive has a total of 240,000 sectors (800x6x50). All you have to do is figure out another set of parameters that adds up equal to or less than 240,000 sectors. The simplest way to do this is to cut the number of cylinders in half and double the number of heads. Thus, the new drive parameters become 400 cylinders, 12 heads, and 50 sectors per track. This method adds up to 240,000 sectors and enables the drive to work in translation mode.

When these drives are in translation mode, a low-level format cannot alter the interleave and skew factors, nor can it overwrite the factory defect-mapping information. A low-level format program can, however, perform additional defect mapping or sector sparing while in this mode.

If the drive is in true physical mode, a low-level format rewrites the sector headers and modifies the head and cylinder skewing. If performed incorrectly, the format can be repaired by a proper low-level format program that allows you to set the correct head and cylinder skew. This task can be accomplished automatically by the drive manufacturer's recommended low-level format program (if available) or by other programs, such as Disk Manager by Ontrack. When you use Disk Manager, you have to enter the skew values manually; otherwise, the program uses predetermined defaults. To obtain the correct skew values, it is best to contact the drive manufacturer's technical support department. You can calculate the skew values if the manufacturer cannot provide them.

To protect the skew factors and defect information on intelligent IDE drives, all you have to do is run them in translation mode. In translation mode, this information cannot be overwritten.

Intelligent Zoned Recording IDE

The last and most sophisticated IDE drives combine intelligence with Zoned Recording. With Zoned Recording, the drive has a variable number sectors per track in several zones across the surface of the drive. Because the PC BIOS can handle only a fixed number of sectors on all tracks, these drives always must run in translation mode. Because these drives are always in translation mode, you cannot alter the factory-set interleave and skew factors or wipe out the factory defect information.

You still can low-level format these drives, however, and use such a format to map or spare additional defective sectors that crop up during the life of the drive. To low-level format intelligent zoned recording drives, you need either a specific utility from the drive manufacturer or an IDE-aware program, such Disk Manager by Ontrack or Microscope by Micro 2000.

IDE Drive Configuration

IDE drives can be both simple and troublesome to configure. Single-drive installations usually are very simple, with few if any special jumper settings to worry about. Multiple-drive configurations, however, can be a problem. Jumpers have to be set on both drives; the names, locations, and even functions of these jumpers can vary from drive to drive.

Because the CAM ATA IDE specification was ironed out only after many companies were already making and selling drives, many older IDE drives have problems in dual-drive installations, especially when the drives are from different manufacturers. In some cases, two particular drives may not function together at all. Fortunately, most of the newer drives follow the CAM ATA specification, which clears up this problem. Drives that follow the specification have no problems in dual-drive installations.

Cable Configuration

The cable connection to IDE drives usually is very simple. There is a single 40-pin cable that normally has three pin-header style connectors on it. One of the connectors plugs into the IDE interface connector; the other two plug into the primary and secondary drives. The cable normally runs from the IDE connector to both drives in a daisy-chain arrangement. On one end, this cable plugs into the IDE interface connector, which is located on the motherboard in many systems but also may be located on an IDE interface adapter card. The cable then connects to the secondary (D) and primary (C) drives in succession, with the primary drive usually (but not always) being at the end of the cable opposite the IDE interface connector.

There are no terminating resistors to set with IDE drives; instead, a distributed termination circuit is built into all IDE drives. The last drive on the cable need not be the primary drive, so you actually may find the primary or secondary drive at either connector. Jumpers on the drives themselves normally control whether a drive responds as primary or secondary.


CAUTION: You may see a different arrangement of cable connections in some IDE installations. In some installations, the middle connector is plugged into the motherboard, and the primary and secondary drives are at opposite ends of the cable in a Y arrangement. If you see this arrangement, be careful; in some of these Y-cable installations, the cable, rather than jumpers on the drives, actually controls which drive is primary and which is secondary.

Controlling master/slave selection via the cable rather than jumpers on the drive is performed via a special signal on the IDE interface called CSEL, which is on pin 28 of the interface. If the CSEL line is connected through from the drive to the IDE interface connector, the drive automatically is designated as primary. If the CSEL line is open between a drive and the IDE interface connector, that drive automatically is designated as secondary.

In the Y-cable approach, the IDE interface connector is in the middle of the cable, and a separate length of cable goes to each drive. Study this type of cable closely. If one of the ends of the Y has line 28 open (usually a hole in the cable through that wire), only the secondary drive can be plugged into that connector. This type of setup eliminates the need to set jumpers on the IDE drives to configure them for primary or secondary operation, but the setup can be troublesome if you do not know about it.

IDE Drive Jumper Settings

Configuring IDE drives can be simple, as is the case with most single-drive installations, or troublesome, especially where it comes to mixing two drives from different manufacturers on a single cable. Most IDE drives come in three configurations:

  • Single-drive (master)

  • Master (dual-drive)

  • Slave (dual-drive)

Because each IDE drive has its own controller, you must specifically tell one drive to be the master and the other to be the slave. There's no functional difference between the two, except that the drive that's specified as the slave will assert the DASP signal after a system reset that informs the master that a slave drive is present in the system. The master drive then pays attention to the Drive Select line, which it otherwise ignores. Telling a drive that it's the slave also usually causes it to delay its spinup for several seconds to allow the master to get going and thus to lessen the load on the system's power supply.

Until the ATA IDE specification, no common implementation for drive configuration was in use. Some drive companies even used different master/slave methods for different models of drives. Because of these incompatibilities, some drives work together only in a specific master/slave or slave/master order. This situation affects mostly older IDE drives that were introduced before the ATA specification.

Most drives that fully follow the ATA specification now need only one jumper (Master/Slave) for configuration. A few also need a Slave Present jumper as well. Table 15.6 shows the jumper settings required by most ATA IDE drives.

Table 15.6  Jumper Settings for Most ATA IDE-Compatible Drives

Jumper Name Single-Drive Dual-Drive Master Dual-Drive Slave
Master (M/S) On On Off
Slave Present (SP) Off On Off

The Master jumper indicates that the drive is a master or a slave. Some drives also require a Slave Present jumper, which is used only in a dual-drive setup and then installed only on the master drive, which is somewhat confusing. This jumper tells the master that a slave drive is attached. With many ATA IDE drives, the Master jumper is optional and may be left off. Installing this jumper doesn't hurt in these cases and may eliminate confusion, so it's recommended that you install the jumpers listed here.

Conner Peripherals Drives

Because they were introduced before the ATA IDE specification was formalized, Conner Peripherals drives often are different in configuration from many other-brand drives. When you mix and match IDE hard drives from different manufacturers, the drives are not always fully compatible. Table 15.7 shows the jumper settings that are correct for most Conner IDE drive installations.

Table 15.7  Jumper Settings for Conner Peripherals IDE Drives

Jumper Name Single Drive Dual-Drive Master Dual-Drive Slave
Master or Slave (C/D) On On Off
Drive Slave Present (DSP) Off On Off
Host Slave Present (HSP) Off Off On
Drive Active (ACT) On On Off

The C/D jumper is used to determine whether the drive is a master (drive C) or a slave (drive D). The drive is configured as master when this jumper is on. The DSP jumper indicates that a slave drive is present. The HSP jumper causes the drive to send the Slave Present signal to the master drive. The ACT jumper enables the master drive to signal when it is active.

Some Conner drives are not set up to support the industry-standard CAM ATA interface by default. The problems show up when you attempt to connect another manufacturer's drive to some Conner drives in either a master or slave role. Fortunately, you can correct many of these situations by changing the configuration of the drive.

You can make this change in two ways. One way is to use a special program to semi-permanently change the mode of the drive. A special file, called FEATURE.COM, contains a program that displays the current ISA/ATACAM setting and allows the setting to be changed. The change actually is stored in a feature byte in the firmware of the drive, and after this byte is changed, most other manufacturers' drives will work with the Conner drives. The program also can be used to reset the feature byte to its original configuration, which is best when you are connecting to other Conner drives.

The second method for changing this configuration is available on some Conner drives. These drives also have a special jumper called ATA/ISA. This jumper almost always should be installed in the ATA position to provide compatibility with the ATA standard. If you are using only Conner drives, you can leave this jumper in ISA mode if you want. Some Conner drives have a separate jumper (E1) that can delay startup of the drive to minimize the load on the power supply. This jumper should be enabled on any drive that is configured as a slave. Most other drives automatically delay startup of the slave drive for a few seconds.

Most Conner drives also have a special 12-pin connector that is used to drive an optional LED (pin 1, LED +5v; and pin 2, ground), as well as to connect to special factory equipment for low-level formatting and configuration. A company called TCE created a device called The Conner, which connects to this port and permits full factory-level initialization, formatting, and testing of Conner drives. This piece of gear is essential to anybody who services or supports a large number of Conner Peripherals drives.

Newer ATA standards

The following section describes the newer ATA standards, which are all extensions of the original ATA specification. The most important additions are performance enhancing features such as fast PIO and DMA modes.

ATA-2

ATA-2 is the first extension of the original ATA specification. ATA-2 also features improvements in the "Identify Drive" command allowing a drive to tell the software exactly what its characteristics are; this is essential for both Plug and Play (PnP) and compatibility with future revisions of the standard.

ATA-2 is often called Enhanced IDE (or EIDE). EIDE is technically a marketing program from Western Digital. ATA-2/EIDE allows for increased drive capacity over the original ATA/IDE specification. This is done through an Enhanced BIOS, which makes it possible to use hard disks exceeding the 504M barrier. The origin of this limit is the disk geometry (cylinders, heads, sectors) supported by the combination of an IDE drive and the BIOS' software interface. Both IDE and the BIOS are capable of supporting huge disks, but their combined limitations conspire to restrict the useful capacity to 504M. An Enhanced BIOS circumvents this by using a different geometry when talking to the drive than when talking to the software. What happens in between is called translation. For example, if your drive has 2,000 cylinders and 16 heads, a translating BIOS will make programs think that the drive has 1,000 cylinders and 32 heads. You can usually tell if your BIOS is enhanced by the ability to specify more than 1,024 cylinders in the BIOS setup, although this is not conclusive. If you see drive-related settings like "LBA", "ECHS", or even "Large", these are tell-tale signs of a BIOS with translation support. Most BIOSes with a date of 1994 or later are enhanced. There are roughly three ways BIOSes can handle translation: Standard CHS addressing, Extended CHS addressing, and LBA (Logical Block Addressing). They are summarized in the following table:

BIOS Mode Operating System to BIOS BIOS to Drive Ports
Standard CHS Logical CHS Parameters Logical CHS Parameters
Extended CHS Translated CHS Parameters Logical CHS Parameters
LBA Translated CHS Parameters LBA Parameters

In Standard CHS, there is only one possible translation step internal to the drive. The drive's actual, physical geometry is completely invisible from the outside with all Zoned Recording ATA drives. The Cylinders, Heads, and Sectors printed on the label for use in the BIOS setup are purely logical geometry, and do not represent the actual physical parameters. Standard CHS addressing is limited to 16 heads and 1,024 cylinders, which gives us a limit of 504M. This is often called "Normal" in the BIOS setup, and causes the BIOS to behave like an old-fashioned one without translation. Use this setting if your drive has fewer than 1,024 cylinders or if you want to use the drive with a non-DOS operating system that doesn't understand translation.

In Extended CHS, a translated logical geometry is used to communicate between the drive and the BIOS, while a different translated geometry is used to communicate between the BIOS and everything else. In other words, there are normally two translation steps. The drive still translates internally, but has logical parameters that exceed the 1,024 cylinder limitation of the standard BIOS. In this case, the drive's cylinder count is usually divided by 2, and the head count is multiplied by 2 to get the translated values from those actually stored in the CMOS Setup. This type of setting breaks the 504/528M barrier. This is often called "Large" or "ECHS" in the BIOS setup, and tells the BIOS to use Extended CHS translation. It uses a different geometry (cylinders/heads/sectors) when talking to the drive than when talking to the BIOS. This type of translation should be used with drives that have more than 1,024 cylinders but that do not support LBA. Note that the geometry entered in your BIOS setup is the logical geometry, not the translated one.

LBA is a means of linearly addressing sector's addresses, beginning at Cylinder 0, Head 0, Sector 1 as LBA 0, and proceeding on to the last physical sector on the drive. This is new in ATA-2, but has always been the one and only addressing mode in SCSI. With LBA, each sector on the drive is numbered starting from 0. The number is a 28-bit binary number internally, which translates to a sector number of from 0 to 268,435,456. Because each sector represents 512 bytes, this results in a maximum drive capacity of exactly 128G, or 137 billion bytes. Unfortunately, the operating system still needs to see a translated CHS, so the BIOS determines how many sectors there are, and comes up with Translated CHS to match. The BIOS CHS limits are 1,024 cylinders, 256 heads, and 63 sectors per track, which limits total drive capacity to just under 8G. In other words, this breaks the 528M barrier in essentially the same way as Extended CHS does. Because it is somewhat simpler to use a single linear number to address a sector on the hard disk compared to a CHS type address, this is the preferred method if the drive supports LBA.


CAUTION: A word of warning with these BIOS translation settings: If you switch between Standard CHS, Extended CHS, or LBA, the BIOS may change the (translated) geometry. The same thing may happen if you transfer a disk that has been formatted on an old, non-LBA computer to a new one that uses LBA. This will cause the logical CHS geometry seen by the operating system to change, and will cause the date to appear in the wrong locations from where it actually is! This can cause you to lose access to your data if you are not careful. It's always recommended to record the CMOS Setup screens associated with the hard disk configuration so that you can properly match the setup of a drive to the original settings.

ATA-2 defines several high-performance modes for transferring data to and from the drive. These faster modes are the main part of the new specifications and were the main reason they were initially developed. The PIO mode determines how fast data is transferred to and from the drive. In the slowest possible mode--PIO mode 0--the data cycle time cannot exceed 600 nanoseconds (ns). In a single cycle, 16 bits are transferred in or out of the drive making the theoretical transfer rate of PIO Mode 0 (600ns cycle time) 3.3M/sec. The following table shows the PIO modes, with their respective transfer rates:

PIO Mode Cycle Time (ns) Transfer Rate (M/sec)
0 600 3.3
1 383 5.2
2 240 8.3
3 180 11.1
4 120 16.6

To run in Mode 3 or 4 requires that the IDE port on the system be a local bus port. This means that it must operate through either a VL-Bus or PCI bus connection. Some motherboards with ATA-2/EIDE support have dual IDE connectors on the motherboard, with only the primary connector running through the system's PCI local bus. The secondary connector then runs through the ISA bus, and therefore supports up to Mode 2 operation only. When interrogated with an "Identify Drive" command, a hard disk returns, among other things, information about the PIO and DMA modes it is capable of using. Most enhanced BIOSes will automatically set the correct mode to match the capabilities of the drive. If you set a mode faster than the drive can handle, data corruption will result. ATA-2 drives also perform Block Mode PIO, which means that they use the "Read/Write Multiple" commands that greatly reduce the number of interrupts sent to host processor. This lowers the overhead, and the resulting transfers are even faster.

Although it is not used by most operating system or BIOS software, ATA-2 drives also support Direct Memory Access transfers. DMA means that the data is transferred directly between drive and memory without using the CPU as an intermediary, as opposed to PIO. There are two distinct types of direct memory access: DMA and busmastering DMA. Ordinary DMA relies on the DMA controller on the system's mainboard to perform the complex task of arbitration, grabbing the system bus and transferring the data. In the case of busmastering DMA, all this is done by logic on the interface card itself. Of course, this adds considerably to the complexity and the price of a busmastering interface. The following table shows the DMA modes, with their respective transfer rates:

DMA Mode Transfer Rate (M/sec)
1 33.3
2 16.6

ATAPI (ATA Packet Interface) is a standard designed for devices such as CD-ROMs and tape drives that plug into an ordinary ATA connector. The principal advantage of ATAPI hardware is that it's cheap and works on your current adapter. For CD-ROMs, it has a somewhat lower CPU usage compared to proprietary adapters, but there's no performance gain otherwise. For tape drives, ATAPI has potential for superior performance and reliability compared to the popular "floppy" tape devices.


CAUTION: Intelligent caching controllers that are not ATAPI-aware will not work with these devices. This means that, at present, you cannot boot from an ATAPI CD-ROM and you still must load a driver to use it under DOS or Windows.

ATA-3

ATA-3, introduced in 1996, was defined as a minor revision to ATA-2 and includes improves the reliability of the faster transfer modes introduced with ATA-2. Also added was the open standard for monitoring disk drive health, SMART. SMART (Self-Monitoring, Analysis, and Reporting Technology) helps prevent data loss and unscheduled computer downtime and provides advanced warning of certain types of drive failures, allowing the user of data management software to backup the data. Note that this feature is not supported by all system manufacturers or hard drive distributors, and usually requires third party software.

ATA-4

ATA-4 is often called Ultra ATA or Ultra DMA (UDMA). ATA-4 was introduced in 1997, and operates conform the newer Ultra ATA standard, which makes the most of existing signal rates by using both the rising and falling edges of the signal for encoding and decoding. Thus twice as much data is transferred at the same signal rate in the same time period. While ATA-2 and ATA-3 transfer data at burst rates up to 16.6Mbytes per second, ATA-4 provides burst transfer rates up to 33.3M/sec. The ATA-4 specification adds Ultra DMA mode 2 (33.3M/sec) to the previous PIO modes 0-4 and traditional DMA modes 0-2. The Cyclical Redundancy Check (CRC) implemented by Ultra DMA is new to ATA. The CRC value is calculated on a per-burst basis by both the host and the HDD controller, and is stored in their respective CRC registers. At the end of each burst, the host sends the contents of its CRC register to the HDD controller, which compares the host's value against its own. If the HDD controller reports an error to the host, the host retries the command that produced the CRC error.

ATA-5

ATA-5 is often called Ultra ATA/66 or UDMA/66, it has a burst transfer rate of 66M/sec. ATA-5 was introduced in 1999, and extended the Ultra ATA standard by increasing the signal rate. The faster signal rate increases the electromagnetic interference (EMI), which cannot be eliminated by the standard 40-pin cable used by ATA and Ultra ATA. To eliminate this increase in EMI, a new 40-pin, 80-conductor cable was developed. This cable adds 40 additional grounds lines between each of the original 40 ground and signal lines. The additional 40 lines help shield the signal from EMI. The new connector remains plug-compatible with existing 40-pin headers. ATA/66 hard drives also are backward-compatible with ATA/33 and earlier standards. The ATA-5 specification introduces new Cyclic Redundancy Check (CRC) error detection code and adds Ultra DMA modes 3 (44.4M/sec) and 4 (66.6M/sec) to the previous PIO modes 0-4, DMA modes 0-2, and Ultra DMA mode 2.

ATA-6

The ATA-6 specification, often called Ultra ATA/100 or UDMA/100, was introduced in 2000. This standard uses the same 40-pin, 80-conductor cable first introduced with the ATA-5 interface. It adds the Ultra DMA mode 5 to the previous PIO modes 0-4, DMA modes 0-2, and Ultra DMA modes 2-4, resulting in a maximum burst transfer rate of 100M/sec. The main improvement of ATA-6 is the reduced signal voltage from 5v to 3.3v, which enables faster timing of the electrical circuits.

This table shows the different ATA specifications, with their respective transfer rates:

Specification Max. Transfer Modes Max. Transfer Rate (M/sec) Max. Connections Cable Type CRC Introduced
ATA PIO 1 5.2 2 40-pin No 1989
ATA-2 PIO 4, DMA 2 16.6 2 40-pin No 1994
ATA-3 PIO 4, DMA 2 16.6 2 40-pin No 1996
ATA-4 PIO 4, DMA 2, UDMA 2 33.3 2 per cable 40-pin Yes 1997
ATA-5 PIO 4, DMA 2, UDMA 4 66.6 2 per cable 40-pin, 80-conductor Yes 1999
ATA-6 PIO 4, DMA 2, UDMA 5 100 2 per cable 40-pin, 80-conductor Yes 2000

XT-Bus (8-Bit) IDE

Many systems with XT ISA bus architecture used XT IDE hard drives. The IDE interface in these systems usually is built into the motherboard. The IBM PS/2 Model 25, 25-286, 30, and 30-286 systems used an 8-bit XT IDE interface. These 8-bit XT IDE drives are difficult to find; few manufacturers other than IBM, Western Digital, and Seagate made them; none of these drives were available in capacities beyond 40M.

Because the ATA IDE interface is a 16-bit design, it could not be used in 8-bit (XT type) systems, so some of the drive manufacturers standardized on an XT-Bus (8-bit) IDE interface for XT class systems. These drives were never very popular, and were usually only available in capacities from 20M to 40M. Table 15.8 shows the industry standard 8-bit IDE connector pinout.

Table 15.8  XT-Bus IDE Connector

Pin Signal Name Pin Signal Name
1 -RESET 2 Ground
3 Data 7 4 Ground
5 Data 6 6 Ground
7 Data 5 8 Ground
9 Data 4 10 Ground
11 Data 3 12 Ground
13 Data 2 14 Ground
15 Data 1 16 Ground
17 Data 0 18 Ground
19 Ground 20 Access key
21 AEN 22 Ground
23 -IOW 24 Ground
25 -IOR 26 Ground
27 -DACK 3 28 Ground
29 DRQ 3 30 Ground
31 IRQ 5 32 Ground
33 Address 1 34 Ground
35 Address 0 36 Ground
37 -CS1FX 38 Ground
39 -Drive Active 40 Ground

Notice that IBM used a custom version of the XT-Bus IDE interface in the PS/2 Model 25 and Model 30 systems. The pinout for the custom IBM XT-Bus IDE connector is shown in Table 15.9.

Table 15.9  IBM Unique XT-Bus (PS/2 Model 25 and 30) IDE Connector

Pin Signal Name Pin Signal Name
1 -RESET 2 -Disk Installed
3 Data 0 4 Ground
5 Data 1 6 Ground
7 Data 2 8 Ground
9 Data 3 10 Ground
11 Data 4 12 Ground
13 Data 5 14 Ground
15 Data 6 16 Ground
17 Data 7 18 Ground
19 -IOR 20 Ground
21 -IOW 22 Ground
23 -CS1FX 24 Ground
25 Address 0 26 Ground
27 Address 1 28 Ground
29 Address 2 30 +5v
31 Reserved 32 +5v
33 -DACK 3 34 Ground
35 DRQ 3 36 Ground
37 IRQ 5 38 Ground
39 I/O CH RDY 40 +12v
41 Spare 42 +12v
43 Spare 44 +12v

The newer PS/1, PS/Valuepoint, and PS/2 systems with 16-bit ISA architecture used ATA IDE drives. Because nearly all hard disk manufacturers made a multitude of drives with the ATA IDE interface, these systems were easy to upgrade or repair.

MCA IDE

The IBM PS/2 Models 50 and higher came with Micro-Channel Architecture (MCA) bus slots. Although most of these systems later used SCSI drives, for some time IBM used a type of MCA IDE drive in these systems. MCA IDE is a form of IDE interface, but it is designed for the MCA bus and is not compatible with the more industry-standard ATA IDE interface. Few companies other than IBM and Western Digital made replacement MCA IDE drives for these systems.

The pinout of the MCA IDE connector is shown in Table 15.10.

Table 15.10  MCA IDE Connector

Pin Signal Name Pin Signal Name
A1 -CD SETUP B1 Address 15
A2 Address 13 B2 Address 14
A3 Ground B3 Ground
A4 Address 11 B4 OSC (14.3MHz)
A5 Address 10 B5 Ground
A6 Address 9 B6 Address 12
A7 +5v B7 -CMD
A8 Address 8 B8 -CD SFDBK
A9 Address 7 B9 Ground
A10 Address 6 B10 Data 1
A11 +5v B11 Data 3
A12 Address 5 B12 Data 4
A13 Address 4 B13 Ground
A14 Address 3 B14 CHRESET
A15 +5v B15 Data 8
A16 Address 2 B16 Data 9
A17 Address 1 B17 Ground
A18 Address 0 B18 Data 12
A19 +12v B19 Data 14
A20 -ADL B20 Data 15
A21 -PREEMPT B21 Ground
A22 -BURST B22 Data 0
A23 +5v B23 Data 2
A24 ARB 0 B24 Data 5
A25 ARB 1 B25 Ground
A26 ARB 2 B26 Data 6
A27 +12v B27 Data 7
A28 ARB 3 B28 Data 10
A29 ARB/-GNT B29 Ground
A30 -TC B30 Data 11
A31 +5v B31 Data 13
A32 -S0 B32 -SBHE
A33 -S1 B33 Ground
A34 M/-IO B34 -CD DS 16
A35 Ground B35 -IRQ 14
A36 CD CHRDY B36 Ground

Introduction to SCSI

SCSI (pronounced "scuzzy") stands for Small Computer System Interface. This interface has its roots in SASI, the Shugart Associates System Interface. SCSI is not a disk interface, but a systems-level interface. SCSI is not a type of controller, but a bus that supports as many as eight devices. One of these devices, the host adapter, functions as the gateway between the SCSI bus and the PC system bus. The SCSI bus itself does not talk directly with devices such as hard disks; instead, it talks to the controller that is built into the drive.

A single 8-bit SCSI bus can support as many as 8 physical units, usually called SCSI IDs. A 16-bit SCSI bus can support 16 units. One of these units is the adapter card in your PC; the others can be other peripherals. You could have hard disks, tape drives, CD-ROM drives, a graphics scanner, or other devices (up to 7 or 15 total) attached to a single SCSI host adapter.

When you have a SCSI hard disk, you usually have the drive, controller, and SCSI adapter in one circuit. This type of drive usually is called an embedded SCSI drive; the SCSI interface is built into the drive. Most SCSI hard drives actually are IDE drives with SCSI bus adapter circuits added. You do not need to know what type of controller is inside the SCSI drive, because your system cannot talk directly to the controller as though it were plugged into the system bus, like a standard controller. Instead, communications go through the SCSI host adapter installed in the system bus. You can access the drive only with the SCSI protocols.

Apple originally rallied around SCSI as being an inexpensive way out of the bind in which it put itself with the Macintosh. When the engineers at Apple realized the problem in making the Macintosh a closed system (with no slots), they decided that the easiest way to gain expandability was to build a SCSI port into the system, which is how external peripherals can be added to the slotless Macs. Because PC systems always have been expandable, the push toward SCSI has not been as urgent. With eight bus slots supporting different devices and controllers in IBM and IBM-compatible systems, it seemed as though SCSI was not needed.

SCSI later was becoming popular in the IBM-based computer world because of the great expandability that it offered and the number of devices that became available with built-in SCSI. One block that stalled acceptance of SCSI in the PC marketplace was the lack of a real standard; the SCSI standard was designed primarily by a committee.

SCSI is a standard, in much the same way that RS-232 is a standard. The SCSI standard (like the RS-232 standard), however, defines only the hardware connections, not the driver specifications required to communicate with the devices. Software ties the SCSI subsystem into your PC, but unfortunately, most of the driver programs work only for a specific device and a specific host adapter. For example, a graphics scanner comes with its own SCSI host adapter to connect to the system; a CD-ROM drive comes with another (different) SCSI host adapter and driver software that works only with that SCSI adapter. On a system with those two SCSI adapters, you would need a third SCSI host adapter to run SCSI hard disk drives, because the host adapters supplied by the scanner and CD-ROM companies do not include a built-in, self-booting BIOS that supports hard disk drives.

SCSI has become something of a mess in the IBM world because of the lack of a host-adapter standard, a software interface standard, and standard ROM BIOS support for hard disk drives attached to the SCSI bus. Fortunately, some simple recommendations can keep you from living this compatibility nightmare!

In the beginning, SCSI lacked the capability to run hard disks off the SCSI bus. To boot from these drives and use a variety of operating systems was a problem that resulted from the lack of an interface standard. The standard IBM XT and AT ROM BIOS software was designed to talk to ST-506/412 hard disk controllers. The software easily was modified to work with ESDI because ESDI controllers are similar to ST-506/412 controllers at the register level. (This similarity at the register level enabled manufacturers to easily design self-booting, ROM-BIOS-supported ESDI drives.) The same can be said of IDE, which completely emulates the WD1003 ST-506/412 controller interface and works perfectly with the existing BIOS as well. SCSI is so different from these other standard disk interfaces that a new set of ROM BIOS routines are necessary to support the system so that it can self-boot. The newer IBM PS/2 systems that come with SCSI drives have this support built into the motherboard BIOS or as an extension BIOS on the SCSI host adapter.

Companies such as Adaptec and Future Domain have produced SCSI cards with built-in ROM BIOS support for several years, but these BIOS routines were limited to running the drives only under DOS. The BIOS would not run in the AT-protected mode, and other operating systems included drivers for only the standard ST-506/412 and ESDI controllers. Thus, running SCSI was impossible under many non-DOS operating systems. This situation later changed significantly, however; IBM later supported many third-party SCSI host adapters in OS/2, especially those from Adaptec and Future Domain. For compatibility reasons, it's recommended to use SCSI adapters from these two companies, or any other adapters that are fully hardware-compatible with the Adapted and Future Domain adapters.

Because of the lead taken by Apple in developing systems software (operating systems and ROM) support for SCSI, peripherals connect to Apple systems in fairly standard ways. For many years, this kind of standard-setting leadership was lacking for SCSI in the IBM world. This situation changed on March 20, 1990, when IBM introduced several "standard" SCSI adapters and peripherals for the IBM PS/2 systems, with complete ROM BIOS and full operating-system support.

IBM standardized on SCSI for nearly all its high-end systems. In these systems, a SCSI host adapter card is in one of the slots, or the system has a SCSI host adapter built into the motherboard. This arrangement is similar in appearance to the IDE interface, because a single cable runs from the motherboard to the SCSI drive, but SCSI supports as many as seven devices (some of which may not be hard disks), whereas IDE supports only two devices per controller, which must be either a hard disk, ATAPI CD-ROM drive, a tape drive, or an IDE Zip drive. PS/2 systems with SCSI drives are easy to upgrade, because virtually any third-party SCSI drive will plug in and function.

ANSI SCSI Standards

The SCSI standard defines the physical and electrical parameters of a parallel I/O bus used to connect computers and peripheral devices in daisy-chain fashion. The standard supports devices such as disk drives, tape drives, and CD-ROM drives. The original SCSI standard (ANSI X3.131-1986) was approved in 1986.

One problem with the original SCSI-1 document was that many of the commands and features were optional, and there was little or no guarantee that a particular peripheral would support the expected commands. This problem caused the industry as a whole to define a set of 18 basic SCSI commands called the Common Command Set (CCS), which would become the minimum set of commands supported by all peripherals. CCS became the basis for the SCSI-2 specification. SCSI uses a standard "A" cable with 50 pins.

SCSI-2

The X3T9 group approved the SCSI-2 standard as X3.131-1990 in August 1990, but the document was recalled in December 1990 for changes before final ANSI publication. Final approval for the SCSI-2 document was finally made in January 1994, although it has changed little from the original 1990 release. The SCSI-2 document finally was called ANSI X3.131-1994.

Fast SCSI

In addition to formal support for CCS, SCSI-2 (called Fast SCSI) provided additional definitions for commands to access CD-ROM drives (and their sound capabilities), tape drives, removable drives, optical drives, and several other peripherals. Another feature of SCSI-2 is command queuing, which enables a device to accept multiple commands and execute them in most efficient order. This feature is most beneficial when you are using a multitasking operating system that could be sending several requests on the SCSI bus at the same time. SCSI-2 includes a new specification, which enables 16-bit and 32-bit (both called Wide) data transfers. 16-bit peripherals can be connected using a second (called "B") cable. The 32-bit standard was hardly used with Fast SCSI, because in that specification four cables would be needed to connect such a device.

SCSI-3

The SCSI-3 specification is the next improvement of the SCSI standard. A new standard of SCSI-3 was the 68-pin "P" cable, allowing the connection of 16-bit (Wide) peripherals through one cable. 32-bit Wide connections are possible by connecting a second (called "Q") cable.

Ultra SCSI

Ultra SCSI, also called Fast-20, is an enhancement of SCSI that results in doubling the Fast SCSI data throughput speeds to 20Megatransfers/sec (resulting in 20M/sec for 8-bit and 40M/sec for 16-bit SCSI). Ultra SCSI is the first standard in the SCSI-3 specification. It reduces the maximum allowable single-ended SCSI cable length to 1.5 meters (4.9 feet) for five to eight addresses and 3 meters (9.8 feet) for four or fewer addresses. The maximum allowable SCSI cable length is 25 meters (82 feet). This standard is defined in the SPI (SCSI Parallel Interface) document of the SCSI-3 specification.

Ultra2 SCSI

Ultra2 SCSI, also called Fast-40, is a newer enhancement of SCSI that results in doubling the Ultra SCSI data throughput speeds to 40Megatransfers/sec (40M/sec for 8-bit and 80M/sec for 16-bit SCSI). The SCSI specification recognizes only LVD (Low Voltage Differential), which uses 3.3v logic to consume less power, dissipate less heat and run at faster speeds than HVD (High Voltage Differential) SCSI. HVD uses 5v logic. Ultra2 SCSI and single-ended is not defined at this speed. The maximum allowable Ultra2 cable length is 12 meters (39.4 feet) with more than two active SCSI IDs or 25 meters point to point. The Ultra2 standard is backward compatible through the single-ended interface using Ultra or slower speeds and cable lengths. This standard is defined in the SPI-2 document of the SCSI-3 specification. 32-bit Wide connections are now possible through one 110-pin "L" cable, which was practically never used.

Ultra3 SCSI

Ultra3 SCSI, also called Fast-80 or Ultra160, is described in the SPI-3 document. This standard again doubles the data throughput speeds to 80Megatransfers/sec (resulting in 160M/sec for Wide SCSI). Single-ended is not defined at this speed, it requires LVD signalling. The maximum allowable Ultra3 cable length is 25 meters (82 feet) point to point or 12 meters (40 feet) with more than two active SCSI IDs. The standard is backward compatible through the single-ended interface using Ultra or slower speeds and cable lengths. Ultra3 SCSI also obsoletes HVD, the 8-bit bus and the 32-bit Wide bus.

Ultra4 SCSI

Ultra4 SCSI, also called Fast-160 or Ultra320, doubles the data throughput to 160Megatransfers/sec (resulting in 320M/sec for Wide SCSI). It is defined in the SPI-4 document of the SCSI-3 specifications, and requires LVD signaling. The maximum allowable Ultra4 cable length is 12 meters (39.4 feet) with more than two active SCSI IDs and up to 25 meters (82 feet) point to point. Ultra4 is backward compatible through the single-ended interface using Ultra or slower speeds and cable lengths. As with Ultra3 SCSI, single-ended is not defined at Ultra4 throughputs and HVD is obsolete.

Ultra5 SCSI

The Ultra5 specification (also called Fast-320 or Ultra640), runs a data troughput of 320Megatransfers/sec (resulting in 640M/sec for Wide SCSI). This standard is defined in the SPI-5 document of the SCSI-3 specifications.

Table 15.11 shows the maximum transfer rates for some of the most used SCSI standards, as well as the cable type required for the specific transfer widths.

Table 15.11  SCSI Data-Transfer Rates

SCSI Name Standard Other Names Bus Width Data-Transfer Rate Cable Type
SCSI SCSI Slow SCSI, Fast-5 8-bit 5M/sec A
Fast SCSI SCSI-2 Fast-10 8-bit 10M/sec A
Fast Wide SCSI SCSI-2 Fast-10 16-bit 20M/sec A + B
Ultra SCSI SCSI-3 SPI Fast-20 8-bit 20M/sec A
Ultra Wide SCSI SCSI-3 SPI Fast-20 16-bit 40M/sec P
Ultra Wide SCSI SCSI-3 SPI Fast-20 32-bit 80M/sec P + Q
Ultra2 SCSI SCSI-3 SPI-2 Fast-40 8-bit 40M/sec A
Ultra2 Wide SCSI SCSI-3 SPI-2 Fast-40 16-bit 80M/sec P
Ultra2 Wide SCSI SCSI-3 SPI-2 Fast-40 32-bit 160M/sec L *
Ultra3 Wide SCSI SCSI-3 SPI-3 Fast-80, Ultra160 16-bit 160M/sec P
Ultra4 Wide SCSI SCSI-3 SPI-4 Fast-160, Ultra320 16-bit 320M/sec P
Ultra5 Wide SCSI SCSI-3 SPI-5 Fast-320, Ultra640 16-bit 640M/sec P

* The L cable is practically never used, but listed in this table to show it is the only way to connect 32-bit wide devices using a single cable.


NOTE: The A cable is the standard 50-pin SCSI cable, whereas the P cable is a 68-pin cable designed for 16-bit. The L cable is a 110-pin cable designed for 32-bit, which is almost never used and obsolete since Ultra3. Pinouts for all cables are listed in the section "SCSI Cables and Connectors" later in this chapter.

So-called SCSI-1 adapters have no problems with SCSI-2 peripherals. In fact, as was stated earlier, virtually any SCSI-1 device can also legitimately be called SCSI-2 (or even SCSI-3). You can't take advantage of Fast or Wide transfer capabilities, but the extra commands defined in SCSI-2 can be sent by means of a SCSI-1 controller. In other words, nothing is different between SCSI-1 and SCSI-2 compliant hardware. For example, you can run a Seagate Barracuda 4G Fast SCSI (SCSI-2) drive with your standard IBM SCSI-1 host adapter, and it runs fine. Most adapters are similar in that they actually are SCSI-2 compatible, even if they advertise only SCSI-1 support.

Because the SCSI-2 standard was not actually approved before January 1994, any devices that claimed to be SCSI-2 before that time were not officially in compliance with the standard. This is really not a problem, however, because the SCSI-2 document had not changed appreciably since it was nearly approved in 1990.

SCSI Hard Disk Evolution and Construction

SCSI is not a disk interface, but a bus that supports SCSI bus interface adapters connected to disk and other device controllers. The first SCSI drives for PCs simply were standard ST-506/412 or ESDI drives with a separate SCSI bus interface adapter (sometimes called a bridge controller) that converted the ST-506/412 or ESDI interfaces to SCSI. This interface originally was in the form of a secondary logic board, and the entire assembly often was mounted in an external case.

The next step was to build the SCSI bus interface "converter" board directly into the drive's own logic board. Later, these drives were called embedded SCSI drives, because the SCSI interface was built in.

At that point, there was no need to conform to the absolute specifications of ST-506/412 or ESDI on the internal disk interface, because the only other device that the interface ever would have to talk to was built in as well. Thus, the disk-interface and controller-chipset manufacturers began to develop more customized chipsets that were based on the ST-506/412 or ESDI chipsets already available but offered more features and higher performance.

Consider some examples. An ATA IDE drive must fully emulate the system-level disk-controller interface introduced with the Western Digital WD1003 controller series that IBM used in the AT. These drives must act as though they have a built-in ST-506/412 or ESDI controller; in fact, they actually do. Most of these built-in controllers have more capabilities than the original WD1003 series (usually in the form of additional commands), but they must at least respond to all the original commands that were used with the WD1003.

If you look at a typical ATA-IDE drive, for example the Western Digital WD-AP4200, which is a 200M drive. If you look at the the other drives Western Digital sold at that moment, you will see that they also made a SCSI model (WD-SP4200) with the same capacity and specifications, which uses the same HDA (Head Disk Assembly) and even looks the same as the IDE version. If you study these virtually identical drives, the only major difference you will find is the additional SCSI Bus Interface Controller (SBIC) chip on the logic board of the SCSI version.

Both drives use an LSI (Large Scale Integrated circuit) chip called the WD42C22 Disk Controller and Buffer manager chip. In the ATA drive, this chip is connected through a DMA control chip directly to the AT bus. In the SCSI version, a WD33C93 SBIC chip is added to interface the disk-controller logic to the SCSI bus. In fact, the logic diagrams of these two drives differ only in the fact that the SCSI version has a complete subset of the ATA drive, with the SCSI bus interface controller logic added. This essentially is a very condensed version of the separate drive and bridge controller setups that were used in the early days of PC SCSI!

You now should be able to understand that most SCSI drives simply are "regular" ATA-IDE drives with SCSI bus logic added. This fact will come up again later in this chapter in the section "IDE versus SCSI", which discusses performance and other issues differentiating these interfaces.

Now think about this from a performance standpoint. If virtually all SCSI drives really are ATA-IDE drives with a SCSI Bus Interface Controller chip added, what conclusions can you draw?

First, no drive can perform sustained data transfers faster than the data can actually be read from the disk platters. In other words, the HDA limits performance to whatever it is capable of achieving. Drives can transmit data in short bursts at very high speeds, because they often have built-in cache or read-ahead buffers that store data. Most newer high-performance SCSI and ATA-IDE drives have 1M or more of cache memory on-board. No matter how big or intelligent the cache is, however, sustained data transfer still will be limited by the HDA.

Data from the HDA must pass through the disk controller circuits, which, as you have seen, are virtually identical between similar SCSI and ATA-IDE drives. In the ATA-IDE drive, this data then is presented directly to the system bus. In the SCSI drive, however, the data must pass through a SCSI Bus Interface adapter on the drive, travel through the SCSI bus itself, and then pass through another SCSI Bus Interface controller in the SCSI host adapter card in your system. The longer route that a SCSI transfer must take makes this type of transfer slower than the much more direct ATA-IDE transfer.

The conventional wisdom has been that SCSI always is much faster than IDE; unfortunately, this wisdom usually is wrong! This incorrect conclusion was derived by looking at the raw SCSI and ISA bus performance capabilities. For example, an 8-bit Fast SCSI bus can transfer data at 10M/sec, whereas the 16-bit ISA bus used directly by IDE drives can transfer data at rates ranging from 2M to 8M/sec. Based on these raw transfer rates, SCSI seems to be faster, but the raw transfer rate of the bus is not the limiting factor. Instead, the actual HDA and disk-controller circuitry place the limits on performance. Another point to remember is that unless you are using a PCI, VL-Bus, EISA, or 32-bit MCA SCSI adapter, the SCSI data-transfer speeds will be limited by the host bus performance as well as by the drive performance.

However, most operating systems are multitasking, and SCSI devices (with all their additional controller circuitry) function independent of each other, unlike IDE. Therefore, data can be read and written to any of the SCSI devices simultaneously. This allows for smoother multitasking and increased overall data throughput. Windows NT, for example, allows drive striping. A stripe set is two or more drives that appear to the user as one drive. Data is split between the drives equally, again increasing overall throughput.

Single-Ended or Differential SCSI

"Normal" SCSI also is called single-ended SCSI (SE SCSI). For each signal that needs to be sent across the bus, a wire exists to carry it. With differential SCSI, for each signal that needs to be sent across the bus, a pair of wires exists to carry it. The first in this pair carries the same type of signal that the single-ended SCSI carries. The second in this pair, however, carries the logical inversion of the signal. The receiving device takes the difference of the pair (hence the name differential), which makes it less susceptible to noise and allows for greater cable length. Because of this, differential SCSI can be used with cable lengths up to 25m, whereas single-ended SCSI is good only for 6m with standard asynchronous or synchronous transfers.

Differential SCSI includes HVD (High Voltage Differential) and LVD (Low Voltage Differential). LVD can only be used by Ultra2 and newer standards.

You cannot mix single-ended and differential devices on a single SCSI bus; the result would be catastrophic. (That is to say, you probably will see smoke!) Notice that the cables and connectors are the same, so it's entirely possible to make this mistake. This usually is not a problem, however, because very few differential SCSI implementations exist. To prevent such mistakes, a special LVD/MSE (Multimode Single-Ended) standard was developed (also called Multimode LVD). LVD/MSE is an implementation of SCSI that automatically switches between the LVD and the single-ended mode. When a single-ended device is connected to a multimode LVD/MSE bus, the entire bus switches to the single-ended mode. Otherwise LVD/MSE devices operate in the LVD mode.

Especially with SCSI in the PC environment, single-ended is about all you will ever see. If, however, you to come upon a peripheral that you believe might be differential, there are a few ways to tell. One way is to look for a special symbol on the unit; the industry has adopted different universal symbols for the single-ended, differential and multimode SCSI standards. Figure 15.1 shows these symbols.

FIG. 15.1  Single-ended and differential SCSI universal symbols.

If you do not see such symbols, you can tell whether you have a differential device by using an ohmmeter to check the resistance between pins 21 and 22 on the device connector. On a single-ended system, the pins should be tied together and also tied to the ground. On a differential device, the pins should be open or have significant resistance between them. Again, this generally should not be a problem, because virtually all devices used in the PC environment are single-ended.

SCSI Cables and Connectors

The SCSI standards are very specific when it comes to cables and connectors. The most common connectors specified in this standard are the 50-pin unshielded pin header connector for internal SCSI connections and the 50-pin shielded Centronics latch-style connector for external connections, both used for the A cable. The shielded Centronics style connector also is called Alternative 2 in the official specification. Figure 15.2 shows the Centronics style connector.

FIG. 15.2  The 50-pin Centronics SCSI connector (Alternative 2).

The SCSI-2 revision added a high-density, 50-pin, D-shell connector option for the A cable connectors. This connector also is called Alternative 1. The Alternative 2 Centronics latch-style connector remains unchanged from SCSI-1. Figure 15.3 shows the 50-pin high-density D-shell connector.

FIG. 15.3  The 50-pin high-density D-shell SCSI connector (Alternative 1).

A 68-conductor B cable specification was added to the SCSI-2 standard to provide for 16- and 32-bit data transfers; the connector, however, had to be used in parallel with an A cable. The industry did not widely accept the B cable option, which has later been dropped from the SCSI-3 standard. To replace the ill-fated B cable, a new 68-conductor P cable was developed as part of the SCSI-3 specification. Figure 15.4 shows the 68-pin high-density D-shell connector.

FIG. 15.4  The 68-pin high-density D-shell SCSI connector.

SCSI Cable and Connector Pinouts

The following section details the pinouts of the various SCSI cables and connectors. There are two electrically different versions of SCSI, single-ended and differential. These two versions are electrically incompatible, and must not be interconnected or damage will result. Within each electrical type (single-ended or differential), there are basically three most used SCSI cable types:

  • A cable (Standard 8-bit SCSI)

  • P cable (16-bit Wide SCSI, 32-bit Wide SCSI in combination with Q cable)

  • Q cable (32-bit Wide SCSI in combination with P cable)

The A cable is used in normal 8-bit SCSI installations. SCSI-2 Wide (16-bit) applications use a P cable instead, which completely replaces the A cable. You can intermix standard and Wide SCSI devices on a single SCSI bus by interconnecting A and P cables with special adapters. 32-bit wide SCSI-3 applications use both the P and Q cables in parallel to each 32-bit device.

The A cables can have Pin Header (Internal) type connectors or External Shielded connectors, each with a different pinout. The P and Q cables feature the same connector pinout on either Internal or External cable connections.

Single-Ended SCSI Cables and Connectors

The single-ended electrical interface is the most popular type for PC systems. Tables 15.12 and 15.13 show all the possible single-ended cable and connector pinouts. The A cable is available in both internal unshielded as well as external shielded configurations. The Reserved lines have continuity from one end of the SCSI bus to the other. In an A cable bus, the Reserved lines should be left open in SCSI devices (but may be connected to ground), and are connected to ground in the bus terminator assemblies. In the P and Q cables, the Reserved lines are left open in SCSI devices as well as in the bus terminator assemblies.

Table 15.12  A Cable (Single-Ended) Internal Unshielded Header Connector

Pin Signal Name Pin Signal Name
1 Ground 2 Data 0
3 Ground 4 Data 1
5 Ground 6 Data 2
7 Ground 8 Data 3
9 Ground 10 Data 4
11 Ground 12 Data 5
13 Ground 14 Data 6
15 Ground 16 Data 7
17 Ground 18 Data Parity
19 Ground 20 Ground
21 Ground 22 Ground
23 Reserved 24 Reserved
25 Open 26 Terminator Power
27 Reserved 28 Reserved
29 Ground 30 Ground
31 Ground 32 Attention
33 Ground 34 Ground
35 Ground 36 Busy
37 Ground 38 Acknowledge
39 Ground 40 Reset
41 Ground 42 Message
43 Ground 44 Select
45 Ground 46 Control/Data
47 Ground 48 Request
49 Ground 50 Input/Output

Table 15.13  A Cable (Single-Ended) External Shielded Connector

Pin Signal Name Pin Signal Name
1 Ground 26 Data 0
2 Ground 27 Data 1
3 Ground 28 Data 2
4 Ground 29 Data 3
5 Ground 30 Data 4
6 Ground 31 Data 5
7 Ground 32 Data 6
8 Ground 33 Data 7
9 Ground 34 Data Parity
10 Ground 35 Ground
11 Ground 36 Ground
12 Reserved 37 Reserved
13 Open 38 Terminator Power
14 Reserved 39 Reserved
15 Ground 40 Ground
16 Ground 41 Attention
17 Ground 42 Ground
18 Ground 43 Busy
19 Ground 44 Acknowledge
20 Ground 45 Reset
21 Ground 46 Message
22 Ground 47 Select
23 Ground 48 Control/Data
24 Ground 49 Request
25 Ground 50 Input/Output

IBM has standardized on the SCSI interface for virtually all PS/2 systems introduced since 1990. These systems use a Micro-Channel SCSI adapter or have the SCSI Host Adapter built into the motherboard. In either case, IBM's SCSI interface uses a special 60-pin mini-Centronics type external shielded connector that is unique in the industry. A special IBM cable is required to adapt this connector to the standard 50-pin Centronics style connector used on most external SCSI devices. The pinout of the IBM 60-pin mini-Centronics style External Shielded connector is shown Table 15.14. Notice that although the pin arrangement is unique, the pin number to signal designations correspond with the standard unshielded internal pin header type of SCSI connector.

Table 15.14  IBM PS/2 SCSI External Shielded 60-Pin Connector

Pin Signal Name Pin Signal Name
1 Ground 60 Not Connected
2 Data 0 59 Not Connected
3 Ground 58 Not Connected
4 Data 1 57 Not Connected
5 Ground 56 Not Connected
6 Data 2 55 Not Connected
7 Ground 54 Not Connected
8 Data 3 53 Not Connected
9 Ground 52 Not Connected
10 Data 4 51 Ground
11 Ground 50 Input/Output
12 Data 5 49 Ground
13 Ground 48 Request
14 Data 6 47 Ground
15 Ground 46 Control/Data
16 Data 7 45 Ground
17 Ground 44 Select
18 Data Parity 43 Ground
19 Ground 42 Message
20 Ground 41 Ground
21 Ground 40 Reset
22 Ground 39 Ground
23 Reserved 38 Acknowledge
24 Reserved 37 Ground
25 Open 36 Busy
26 Terminator Power 35 Ground
27 Reserved 34 Ground
28 Reserved 33 Ground
29 Ground 32 Attention
30 Ground 31 Ground

The P cable (single-ended) and connectors are used in 16-bit Wide SCSI-2 applications See Table 15.15 for the pinout.

Table 15.15  P Cable (Single-Ended) Internal or External Shielded Connector

Pin Signal Name Pin Signal Name
1 Ground 35 Data 12
2 Ground 36 Data 13
3 Ground 37 Data 14
4 Ground 38 Data 15
5 Ground 39 Data Parity 1
6 Ground 40 Data 0
7 Ground 41 Data 1
8 Ground 42 Data 2
9 Ground 43 Data 3
10 Ground 44 Data 4
11 Ground 45 Data 5
12 Ground 46 Data 6
13 Ground 47 Data 7
14 Ground 48 Data Parity 0
15 Ground 49 Ground
16 Ground 50 Ground
17 Terminator Power 51 Terminator Power
18 Terminator Power 52 Terminator Power
19 Reserved 53 Reserved
20 Ground 54 Ground
21 Ground 55 Attention
22 Ground 56 Ground
23 Ground 57 Busy
24 Ground 58 Acknowledge
25 Ground 59 Reset
26 Ground 60 Message
27 Ground 61 Select
28 Ground 62 Control/Data
29 Ground 63 Request
30 Ground 64 Input/Output
31 Ground 65 Data 8
32 Ground 66 Data 9
33 Ground 67 Data 10
34 Ground 68 Data 11

The Q Cable (single-ended) and connector is defined only for 32-bit Wide SCSI implementations, which also require a P cable as well. See Table 15.16 for the pinout. 32-bit Wide SCSI applications are rare to virtually nonexistent.

Table 15.16  Q Cable (Single-Ended) Internal or External Shielded Connector

Pin Signal Name Pin Signal Name
1 Ground 35 Data 28
2 Ground 36 Data 29
3 Ground 37 Data 30
4 Ground 38 Data 31
5 Ground 39 Data Parity 3
6 Ground 40 Data 16
7 Ground 41 Data 17
8 Ground 42 Data 18
9 Ground 43 Data 19
10 Ground 44 Data 20
11 Ground 45 Data 21
12 Ground 46 Data 22
13 Ground 47 Data 23
14 Ground 48 Data Parity 2
15 Ground 49 Ground
16 Ground 50 Ground
17 Terminator Power 51 Terminator Power
18 Terminator Power 52 Terminator Power
19 Reserved 53 Reserved
20 Ground 54 Ground
21 Ground 55 Terminated
22 Ground 56 Ground
23 Ground 57 Terminated
24 Ground 58 Acknowledge
25 Ground 59 Terminated
26 Ground 60 Terminated
27 Ground 61 Terminated
28 Ground 62 Terminated
29 Ground 63 Request
30 Ground 64 Terminated
31 Ground 65 Data 24
32 Ground 66 Data 25
33 Ground 67 Data 26
34 Ground 68 Data 27

The L Cable (single-ended) and connector is defined only for 32-bit Wide SCSI implementations, without requiring another cable. See Table 15.17 for the pinout. 32-bit Wide SCSI applications are rare to virtually nonexistent, and the L Cable is obsolete since Ultra3.

Table 15.17  L Cable (Single-Ended) Internal or External Shielded Connector

Pin Signal Name Pin Signal Name
1 Ground 56 Ground
2 Ground 57 Data 24
3 Ground 58 Data 25
4 Ground 59 Data 26
5 Ground 60 Data 27
6 Ground 61 Data 28
7 Ground 62 Data 29
8 Ground 63 Data 30
9 Ground 64 Data 31
10 Ground 65 Data Parity 3
11 Ground 66 Data 12
12 Ground 67 Data 13
13 Ground 68 Data 14
14 Ground 69 Data 15
15 Ground 70 Data Parity 1
16 Ground 71 Data 0
17 Ground 72 Data 1
18 Ground 73 Data 2
19 Ground 74 Data 3
20 Ground 75 Data 4
21 Ground 76 Data 5
22 Ground 77 Data 6
23 Ground 78 Data 7
24 Ground 79 Data Parity 0
25 Ground 80 Ground
26 Ground 81 Ground
27 Terminator Power 82 Terminator Power
28 Terminator Power 83 Terminator Power
29 Terminator Power 84 Terminator Power
30 Ground 85 Ground
31 Ground 86 Attention
32 Ground 87 Ground
33 Ground 88 Busy
34 Ground 89 Acknowledge
35 Ground 90 Reset
36 Ground 91 Message
37 Ground 92 Select
38 Ground 93 Control/Data
39 Ground 94 Request
40 Ground 95 Input/Output
41 Ground 96 Data 8
42 Ground 97 Data 9
43 Ground 98 Data 10
44 Ground 99 Data 11
45 Ground 100 Ground
46 Ground 101 Data 16
47 Ground 102 Data 17
48 Ground 103 Data 18
49 Ground 104 Data 19
50 Ground 105 Data 20
51 Ground 106 Data 21
52 Ground 107 Data 22
53 Ground 108 Data 23
54 Ground 109 Data Parity 2
55 Ground 110 Ground

Differential SCSI Cables and Connectors

Differential SCSI is not normally used in a PC environment, but is often used in minicomputer installations due to the very long bus lengths that are allowed. Although not popular in PC systems, the interface connector specifications are shown here for reference.

The A cable (differential) connector is available in both internal unshielded form as well as an external shielded form. Table 15.18 shows the pinout for the internal cable, while Table 15.19 shows the pinout for the external cable.

Table 15.18  A Cable (Differential) Internal Unshielded Header Connector

Pin Signal Name Pin Signal Name
1 Ground 2 Ground
3 +Data 0 4 -Data 0
5 +Data 1 6 -Data 1
7 +Data 2 8 -Data 2
9 +Data 3 10 -Data 3
11 +Data 4 12 -Data 4
13 +Data 5 14 -Data 5
15 +Data 6 16 -Data 6
17 +Data 7 18 -Data 7
19 +Data Parity 20 -Data Parity
21 Diffsens 22 Ground
23 Reserved 24 Reserved
25 Terminator Power 26 Terminator Power
27 Reserved 28 Reserved
29 +Attention 30 -Attention
31 Ground 32 Ground
33 +Busy 34 -Busy
35 +Acknowledge 36 -Acknowledge
37 +Reset 38 -Reset
39 +Message 40 -Message
41 +Select 42 -Select
43 +Control/Data 44 -Control/Data
45 +Request 46 -Request
47 +Input/Output 48 -Input/Output
49 Ground 50 Ground

Table 15.19  A Cable (Differential) External Shielded Connector

Pin Signal Name Pin Signal Name
1 Ground 26 Ground
2 +Data 0 27 -Data 0
3 +Data 1 28 -Data 1
4 +Data 2 29 -Data 2
5 +Data 3 30 -Data 3
6 +Data 4 31 -Data 4
7 +Data 5 32 -Data 5
8 +Data 6 33 -Data 6
9 +Data 7 34 -Data 7
10 +Data Parity 35 -Data Parity
11 Diffsens 36 Ground
12 Reserved 37 Reserved
13 Terminator Power 38 Terminator Power
14 Reserved 39 Reserved
15 +Attention 40 -Attention
16 Ground 41 Ground
17 +Busy 42 -Busy
18 +Acknowledge 43 -Acknowledge
19 +Reset 44 -Reset
20 +Message 45 -Message
21 +Select 46 -Select
22 +Control/Data 47 -Control/Data
23 +Request 48 -Request
24 +Input/Output 49 -Input/Output
25 Ground 50 Ground

The P cable (differential) and connector is used for 16-bit Wide SCSI connections. Table 15.20 shows the pinouts for the P cable (differential).

Table 15.20  P Cable (Differential) Internal or External Shielded Connector

Pin Signal Name Pin Signal Name
1 +Data 12 35 -Data 12
2 +Data 13 36 -Data 13
3 +Data 14 37 -Data 14
4 +Data 15 38 -Data 15
5 +Data Parity 1 39 -Data Parity 1
6 Ground 40 Ground
7 +Data 0 41 -Data 0
8 +Data 1 42 -Data 1
9 +Data 2 43 -Data 2
10 +Data 3 44 -Data 3
11 +Data 4 45 -Data 4
12 +Data 5 46 -Data 5
13 +Data 6 47 -Data 6
14 +Data 7 48 -Data 7
15 +Data Parity 0 49 -Data Parity 0
16 Diffsens 50 Ground
17 Terminator Power 51 Terminator Power
18 Terminator Power 52 Terminator Power
19 Reserved 53 Reserved
20 +Attention 54 -Attention
21 Ground 55 Ground
22 +Busy 56 -Busy
23 +Acknowledge 57 -Acknowledge
24 +Reset 58 -Reset
25 +Message 59 -Message
26 +Select 60 -Select
27 +Control/Data 61 -Control/Data
28 +Request 62 -Request
29 +Input/Output 63 -Input/Output
30 Ground 64 Ground
31 +Data 8 65 -Data 8
32 +Data 9 66 -Data 9
33 +Data 10 67 -Data 10
34 +Data 11 68 -Data 11

The Q cable (differential) and connector is used only with the proposed 32-bit Wide SCSI implementations, and in that case would also require a 16-bit Wide P cable. Table 15.21 shows the Q cable (differential) pinout.

Table 15.21  Q Cable (Differential) Internal or External Shielded Connector

Pin Signal Name Pin Signal Name
1 +Data 28 35 -Data 28
2 +Data 29 36 -Data 29
3 +Data 30 37 -Data 30
4 +Data 31 38 -Data 31
5 +Data Parity 3 39 -Data Parity 3
6 Ground 40 Ground
7 +Data 16 41 -Data 16
8 +Data 17 42 -Data 17
9 +Data 18 43 -Data 18
10 +Data 19 44 -Data 19
11 +Data 20 45 -Data 20
12 +Data 21 46 -Data 21
13 +Data 22 47 -Data 22
14 +Data 23 48 -Data 23
15 +Data Parity 2 49 -Data Parity 2
16 Diffsens 50 Ground
17 Terminator Power 51 Terminator Power
18 Terminator Power 52 Terminator Power
19 Reserved 53 Reserved
20 Terminated 54 Terminated
21 Ground 55 Ground
22 Terminated 56 Terminated
23 +Acknowledge 57 -Acknowledge
24 Terminated 58 Terminated
25 Terminated 59 Terminated
26 Terminated 60 Terminated
27 Terminated 61 Terminated
28 +Request 62 -Request
29 Terminated 63 Terminated
30 Ground 64 Ground
31 +Data 24 65 -Data 24
32 +Data 25 66 -Data 25
33 +Data 26 67 -Data 26
34 +Data 27 68 -Data 27

The L Cable (differential) and connector is defined only for 32-bit Wide SCSI implementations, without requiring another cable. See Table 15.22 for the pinout. 32-bit Wide SCSI applications are rare to virtually nonexistent, and the L Cable is obsolete since Ultra3.

Table 15.22  L Cable (Differential) Internal or External Shielded Connector

Pin Signal Name Pin Signal Name
1 Ground 56 Ground
2 +Data 24 57 -Data 24
3 +Data 25 58 -Data 25
4 +Data 26 59 -Data 26
5 +Data 27 60 -Data 27
6 +Data 28 61 -Data 28
7 +Data 29 62 -Data 29
8 +Data 30 63 -Data 30
9 +Data 31 64 -Data 31
10 +Data Parity 3 65 -Data Parity 3
11 +Data 12 66 -Data 12
12 +Data 13 67 -Data 13
13 +Data 14 68 -Data 14
14 +Data 15 69 -Data 15
15 +Data Parity 1 70 -Data Parity 1
16 Ground 71 Ground
17 +Data 0 72 -Data 0
18 +Data 1 73 -Data 1
19 +Data 2 74 -Data 2
20 +Data 3 75 -Data 3
21 +Data 4 76 -Data 4
22 +Data 5 77 -Data 5
23 +Data 6 78 -Data 6
24 +Data 7 79 -Data 7
25 +Data Parity 0 80 -Data Parity 0
26 Diffsens 81 Ground
27 Terminator Power 82 Terminator Power
28 Terminator Power 83 Terminator Power
29 Terminator Power 84 Terminator Power
30 +Attention 85 -Attention
31 Ground 86 Ground
32 +Busy 87 -Busy
33 +Acknowledge 88 -Acknowledge
34 +Reset 89 -Reset
35 +Message 90 -Message
36 +Select 91 -Select
37 +Control/Data 92 -Control/Data
38 +Request 93 -Request
39 +Input/Output 94 -Input/Output
40 Ground 95 Ground
41 +Data 8 96 -Data 8
42 +Data 9 97 -Data 9
43 +Data 10 98 -Data 10
44 +Data 11 99 -Data 11
45 Ground 100 Ground
46 +Data 16 101 -Data 16
47 +Data 17 102 -Data 17
48 +Data 18 103 -Data 18
49 +Data 19 104 -Data 19
50 +Data 20 105 -Data 20
51 +Data 21 106 -Data 21
52 +Data 22 107 -Data 22
53 +Data 23 108 -Data 23
54 +Data Parity 2 109 -Data Parity 2
55 Ground 110 Ground

25-pin D-Shell External SCSI Connector

Some older SCSI implementations use a 25-pin D-Shell connector to connect external devices like CD-ROM or tape drives. This is an obsolete interface, only used for Single-Ended SCSI-1 connections. Figure 15.5 shows the 25-pin D-Shell connector, and Table 15.23 shows the pinouts for this connector.

FIG. 15.5  25-pin D-Shell external SCSI connector.

Table 15.23  25-pin D-Shell External SCSI Connector

Pin Signal Name
1 Request
2 Message
3 Input/Output
4 Reset
5 Acknowledge
6 Busy
7 Ground
8 Data 0
9 Ground
10 Data 3
11 Data 5
12 Data 6
13 Data 7
14 Ground
15 Control/Data
16 Ground
17 Attention
18 Ground
19 Select
20 Data Parity
21 Data 1
22 Data 2
23 Data 4
24 Ground
25 Terminator Power

SCSI Drive Configuration

SCSI drives are not too difficult to configure, especially compared with IDE drives. The SCSI standard controls the way that the drives must be set up. You need to set these items when you configure an SCSI drive:

  • SCSI ID setting (0-7 for 8-bit, 0-15 for 16-bit)

  • Terminating resistors

SCSI ID Setting

The SCSI ID setting is very simple. Up to 8 SCSI devices can be used on a single 8-bit SCSI bus, or up to 16 devices on a 16-bit SCSI bus. Each device must have a unique SCSI ID address. The host adapter takes one address, so the rest are free for up to 7 (or 15) SCSI peripherals. Most SCSI host adapters are factory-set to ID 7, which for 8-bit is the highest-priority ID. All other devices must have unique IDs that do not conflict with one another. Some host adapters boot only from a hard disk set to a specific ID. Older Adaptec host adapters for example required the boot hard disk to be ID 0; newer ones can boot from any ID.

Setting the ID usually involves changing jumpers on the drive itself. If the drive is installed in an external chassis, the chassis may have an ID selector switch that is accessible at the rear. This selector makes ID selection a simple matter of pressing a button or rotating a wheel until the desired ID number appears. If no external selector is present, you must open the external device chassis and set the ID via the jumpers on the drive.

In case of 8-bit SCSI, three jumpers are required to set the SCSI ID; the particular ID selected actually is derived from the binary representation of the jumpers themselves. For example, setting all three ID jumpers off results in a binary number of 000b, which translates to an ID of 0. A binary setting of 001b equals ID 1, 010b equals 2, 011b equals 3, and so on. (Notice that as these values are listed, a lowercase b is appended to indicate binary numbers.) In case of 16-bit SCSI, four jumpers are required to set the SCSI ID.

Unfortunately, the jumpers can appear either forward or backward on the drive, depending on how the manufacturer set them up. To keep things simple, we have recorded all the different ID jumper settings in the following tables. Table 15.24 shows the settings for 8-bit drives that order the jumpers with the Most Significant Bit (MSB) to the left; Table 15.25 shows the settings for 8-bit drives that have the jumpers ordered so that the MSB is to the right. Tables 15.26 and 15.27 show the same configuration for 16-bit drives (4 jumpers).

Table 15.24  8-bit SCSI ID Jumper Settings with the Most Significant Bit to the Left

SCSI ID Bit 3 (MSB) Bit 2 Bit 1
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

1 = Jumper On, 0 = Jumper Off

Table 15.25  8-bit SCSI ID Jumper Settings with the Most Significant Bit to the Right

SCSI ID Bit 1 Bit 2 Bit 3 (MSB)
0 0 0 0
1 1 0 0
2 0 1 0
3 1 1 0
4 0 0 1
5 1 0 1
6 0 1 1
7 1 1 1

Table 15.26  16-bit SCSI ID Jumper Settings with the Most Significant Bit to the Left

SCSI ID Bit 4 (MSB) Bit 3 Bit 2 Bit 1
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1

1 = Jumper On, 0 = Jumper Off

Table 15.27  16-bit SCSI ID Jumper Settings with the Most Significant Bit to the Right

SCSI ID Bit 1 Bit 2 Bit 3 Bit 4 (MSB)
0 0 0 0 0
1 1 0 0 0
2 0 1 0 0
3 1 1 0 0
4 0 0 1 0
5 1 0 1 0
6 0 1 1 0
7 1 1 1 0
8 0 0 0 1
9 1 0 0 1
10 0 1 0 1
11 1 1 0 1
12 0 0 1 1
13 1 0 1 1
14 0 1 1 1
15 1 1 1 1

1 = Jumper On, 0 = Jumper Off

Termination

SCSI termination is very simple. Termination is required at both ends of the bus; there are no exceptions. If the host adapter is at one end of the bus, it must have termination enabled. If the host adapter is in the middle of the bus, and if both internal and external bus links are present, the host adapter must have its termination disabled, and the devices at each end of the bus must have terminators installed. Several types of terminators are available, differing both in quality and in appearance.

The rules are simple: Use the best terminators possible, and make sure that only the ends of the SCSI bus are terminated. The majority of problems that occur with SCSI installations are the result of improper termination. Some devices have built-in termination resistors that are enabled or disabled through a jumper or by being physically removed. Other devices do not have built-in terminating resistors; these devices instead rely on external terminator modules for termination.

The single-ended SCSI bus depends on very tight termination tolerances to function reliably. Passive termination is the simplest form of terminator, consisting of a 220-ohm resistor from TERMPWR (Terminator Power) to the signal line and a 330-ohm resistor from the signal line to Ground. This is a low cost solution, but has the disadvantage that any fluctuations in the TERMPWR voltage will show up on the signal lines of the bus which may cause data errors. SCSI-2 recommends the use of active terminators whenever possible for single-ended SCSI. HVD SCSI uses only passive termination.

Active terminators include a voltage regulator to reduce the effect of fluctuations in the TERMPWR signal to insignificance. It uses only a 110-ohm resistor from the regulator to the signal line which is a much closer match to the SCSI cable impedance. Active termination results in more stable SCSI signals, less signal reflection and fewer data errors.

LVD terminators use a special form of active termination necessary for the LVD SCSI bus. This standard is defined in the SPI documents of the SCSI-3 specifications. There are LVD-only terminators and LVD/MSE terminators. The latter should be used if there is a possibility that a single-ended device will be connected to the multimode LVD bus.

A variation on active termination is Forced Perfect Termination (FPT). Forced Perfect Termination is an even better form of active termination, in which diode clamps are added to eliminate signal overshoot and undershoot. The trick is that instead of clamping to +5v and Ground, these terminators clamp to the output of two regulated voltages. This arrangement enables the clamping diodes to eliminate signal overshoot and undershoot, especially at higher signaling speeds and over longer distances. FPT terminators are developed in several versions. FPT-3 and FPT-18 versions are developed for 8-bit standard SCSI, while the FPT-27 is available for 16-bit (Wide) SCSI. The FPT-3 version forces perfect the three most highly active SCSI signals on the 8-bit SCSI bus, while the FPT-18 forces perfect all the SCSI signals on the 8-bit bus except grounds. FPT-27 also forces perfect all of the 16-bit Wide SCSI signals except grounds.

When installing an external SCSI device, you will usually find the device in a storage enclosure with both input and output SCSI connectors, so that you can use the device in a daisy chain. If the enclosure is at the end of the SCSI bus, an external terminator module most likely will have to be plugged into the second (outgoing) SCSI port to provide proper termination at that end of the bus (see Figure 15.6).

FIG. 15.6  External SCSI device terminator.

External terminator modules are available in a variety of connector configurations, including pass-through designs, which are needed if only one port is available. Pass-through terminators also are commonly used in internal installations in which the device does not have built-in terminating resistors. Many hard drives use pass-through terminators for internal installations to save space on the logic-board assembly (see Figure 15.7).

FIG. 15.7  Internal pin-header connector pass-through SCSI terminator.

The pass-through models are required when a device is at the end of the bus and only one SCSI connector is available.

Other SCSI Settings

Other configuration items on a SCSI drive can be set via jumpers. Following are several of the most common additional settings that you will find:

  • Start on Command (delayed start)

  • SCSI Parity

  • Terminator Power

  • Synchronous Negotiation

These configuration items are described in the following sections.

Start On Command (Delayed Start)

If you have multiple drives installed in a system, it is wise to set them up so that all the drives do not start to spin immediately when the system is powered on. A hard disk drive can consume two or three times more power during the first few seconds after power-on than during normal operation. The motor requires this additional power to get the platters spinning quickly. If several drives are drawing all this power at the same time, the power supply may be overloaded, which can cause the system to hang or to have intermittent startup problems.

Nearly all SCSI drives provide a way to delay drive spinning so that this problem does not occur. When most SCSI host adapters initialize the SCSI bus, they send out a command called "Start Unit" to each of the ID addresses in succession. By setting a jumper on the hard disk, you can prevent the disk from spinning until it receives the "Start Unit" command from the host adapter. Because the host adapter sends this command to all the ID addresses in succession, from the highest-priority address (ID 7 or 15) to the lowest (ID 0), the higher-priority drives can be made to start first, with each lower-priority drive spinning up sequentially. Because some host adapters do not send the "Start Unit" command, some drives may simply delay spinup for a fixed number of seconds rather than wait for a command that never will arrive.

If drives are installed in external chassis with separate power supplies, you need not implement the delayed-start function. This function is best applied to internal drives that must be run from the same power supply that runs the system. For internal installations, it's recommended to set "Start on Command" (delayed start) even if you have only one SCSI drive; this setting will ease the load on the power supply by spinning the drive up after the rest of the system has full power. This method is especially good for portable systems and other systems in which the power supply is limited.

SCSI Parity

SCSI Parity is a limited form of error checking that helps ensure that all data transfers are reliable. Virtually all host adapters support SCSI parity checking, so this option should be enabled on every device. The only reason why it exists as an option is that some older host adapters do not work with SCSI parity, so the parity must be turned off.

Terminator Power

The terminators at each end of the SCSI bus require power from at least one device on the bus. In most cases, the host adapter supplies this terminator power; in some cases, however, it does not. For example, parallel-port SCSI host adapters typically do not supply terminator power. It is not a problem if more than one device supplies terminator power because each source is diode-protected. For simplicity's sake, many will configure all devices to supply terminator power. If no device supplies terminator power, the bus will not be terminated correctly and will not function properly.

Synchronous Negotiation

The SCSI bus can run in two modes: asynchronous (the default) and synchronous. The bus actually switches modes during transfers through a protocol called synchronous negotiation. Before data is transferred across the SCSI bus, the sending device (called the initiator) and the receiving device (called the target) negotiate how the transfer will take place. If both devices support synchronous transfers, they will discover this fact through the negotiation, and the transfer will take place at the faster synchronous rate.

Unfortunately, some older devices do not respond to a request for synchronous transfer and can actually be disabled when such a request is made. For this reason, both host adapters and devices that support synchronous negotiation often have a jumper that can be used to disable this negotiation so that it can work with older devices. By default, all newer devices should support synchronous negotiation, and this function should be enabled.

Plug and Play (PnP) SCSI

Plug and Play SCSI was originally released in April 1994. This specification allows SCSI device manufacturers to build PnP peripherals that will automatically configure when used with a PnP operating system. This will allow you to easily connect or reconfigure external peripherals, such as hard disk drives, backup tapes, and CD-ROMs.

To connect SCSI peripherals to the host PC, the specification requires a PnP SCSI host adapter such as PnP ISA or PCI. PnP add-in cards enable a PnP operating system to automatically configure software device drivers and system resources for the host bus interface.

The PnP SCSI specification version 1.0 includes these technical highlights:

  • A single cable-connector configuration

  • Automatic termination of the SCSI bus

  • SCAM (SCSI Configured AutoMatically) automatic ID assignment

  • Full backward compatibility of PnP SCSI devices with the installed base of SCSI systems

This should go a long way in making SCSI easier to use for the normal user.

Each SCSI peripheral that you add to your SCSI bus (other than hard disk drives) requires an external driver to make the device work. Hard disks are the exception; driver support for them normally is provided as part of the SCSI host adapter BIOS. These external drivers are specific not only to a particular device, but also to the host adapter.

Recently, two types of standard host adapter interface drivers have become popular, greatly reducing this problem. By having a standard host adapter driver to write to, peripheral makers can more quickly create new drivers that support their devices and then talk to the universal host adapter driver. This arrangement eliminates dependence on one particular type of host adapter. These primary or universal drivers link the host adapter and the operating system.

The Advanced SCSI Programming Interface (ASPI) is the most popular universal driver, with most peripheral makers writing their drivers to talk to ASPI. The A in ASPI used to stand for Adaptec, the company that introduced it, but other SCSI device vendors have licensed the right to use ASPI with their products. DOS does not support ASPI directly, but it does when the ASPI driver is loaded. Windows 95, Windows NT, and OS/2 2.1 and later versions provide automatic ASPI support for several SCSI host adapters.

Future Domain and NCR have created another interface driver called the Common Access Method (CAM). CAM is an ANSI-approved protocol that enables a single driver to control several host adapters. In addition to ASPI, OS/2 2.1 and later versions currently offer support for CAM. Future Domain also provides a CAM-to-ASPI converter in the utilities that go with its host adapters.

SCSI Configuration Tips

When you are installing a chain of devices on a single SCSI bus, the installation can get complicated very quickly. Here are some tips for getting your setup to function quickly and efficiently:

  • Start by adding one device at a time. Rather than plug numerous peripherals into a single SCSI card and then try to configure them at the same time, start by installing the host adapter and a single hard disk. Then you can continue installing devices one at a time, checking to make sure that everything works before moving on.

  • Keep good documentation. When you add a SCSI peripheral, write down the SCSI ID address as well as any other switch and jumper settings, such as SCSI Parity, Terminator Power, and Delayed Start. For the host adapter, record the BIOS addresses, Interrupt, DMA channel, and I/O Port addresses used by the adapter, as well as any other jumper or configuration settings (such as termination) that might be important to know later.

  • Use proper termination. Each end of the bus must be terminated, preferably with active or Forced Perfect (FPT) terminators. If you are using any Fast SCSI or newer device, you must use active terminators rather than the cheaper passive types. Even with standard (slow) SCSI devices, active termination is highly recommended. If you have only internal or external devices on the bus, the host adapter and last device on the chain should be terminated. If you have external and internal devices on the chain, you generally will terminate the first and last of these devices but not the SCSI host adapter itself (which is in the middle of the bus).

  • Use high-quality shielded SCSI cables. Make sure that your cable connectors match your devices. Use high-quality shielded cables, and observe the SCSI bus-length limitations. Use cables designed for SCSI use and, if possible, stick to the same brand of cable throughout a single SCSI bus. Different brands of cables have different impedance values; this situation sometimes causes problems, especially in long or high-speed SCSI implementations.

Following these simple tips will help minimize problems and leave you with a trouble-free SCSI installation.

IDE versus SCSI

When you compare the performance and capabilities of IDE and SCSI interfaced drives, you need to consider several factors. These two types of drives are the most popular drives used in PC systems, and a single manufacturer may make identical drives in both interfaces. Deciding which drive type is best for your system is a difficult decision that depends on many factors.

In most cases, you will find that an IDE drive outperforms an equivalent SCSI drive at a given task or benchmark, and that IDE drives usually cost less than SCSI drives, thus offering better value. In some cases, however, SCSI drives have significant performance and value advantages over IDE drives.

Performance

ATA IDE drives are used in most PC configurations, because the cost of an IDE-drive implementation is low and the performance capabilities are high. In comparing any given IDE and SCSI drive for performance, you have to look at the capabilities of the HDAs that are involved.

To minimize the variables in this type of comparison, it is easiest to compare IDE and SCSI drives from the same manufacturer that also use the identical HDA. You will find that in most cases, a drive manufacturer has created a given drive in both IDE and SCSI forms. For example, Seagate made the ST-3600A (ATA-IDE) and ST-3600N (Fast SCSI) drives, both of which use identical HDAs and which differ only in the logic board. The IDE version has a logic board with a built-in disk controller and a direct AT Bus interface. The SCSI version has the same built-in disk controller and bus interface circuits, and also an SBIC (SCSI Bus Interface Controller) chip. The SBIC chip is a SCSI adapter that places the drive on the SCSI bus. What you will find, in essence, is that virtually all SCSI drives actually are IDE drives with the SBIC chip added.

The HDAs in these example drives are capable of transferring data at a sustained rate of 2.38M to 4M/sec. Because the SCSI version always has the additional overhead of the SCSI bus to go through, in almost all cases the directly attached IDE version performs faster.

Advantages and Limitations

IDE drives have much less command overhead for a given sector transfer than do SCSI drives. In addition to the drive-to-controller command overhead that both IDE and SCSI must perform, a SCSI transfer involves negotiating for the SCSI bus; selecting the target drive; requesting data; terminating the transfer over the bus; and finally converting the logical data addresses to the required cylinder, head, and sector addresses. This arrangement gives IDE an advantage in sequential transfers handled by a single-tasking operating system. In a multitasking system that can take advantage of the extra intelligence of the SCSI bus, SCSI can have the performance advantage.

SCSI drives offer significant architectural advantages over IDE and other drives. Because each SCSI drive has its own embedded disk controller that can function independently from the system CPU, the computer can issue simultaneous commands to every drive in the system. Each drive can store these commands in a queue and then perform the commands simultaneously with other drives in the system. The data could be fully buffered on the drive and transferred at high speeds over the shared SCSI bus when a time slot was available.

Although IDE drives also have their own controllers, they do not operate simultaneously, and command queuing is not supported. In effect, the dual controllers in a dual-drive IDE installation work one at a time so as not to step on each other.

Although SCSI drives require an additional-cost host adapter card, a lot of PCs require tape-backup, CD-ROM, or optical-drive support and thus must still be configured with a SCSI host bus adapter. This means that the incremental cost of supporting SCSI drives is virtually nothing, because the SCSI host bus adapter is shared with other devices, such as tape and optical drives. In addition, all major operating systems include software support for a wide range of SCSI devices.

What are the limitations of IDE?

  • IDE does not support overlapped, multitasked I/O.

  • IDE does not support command queuing.

As you can see, SCSI has some advantages over IDE, especially where expansion is concerned, and also with regard to support for multitasking operating systems. Unfortunately, it also costs more to implement.

Recommended SCSI Host Adapters

For SCSI host adapters, Adaptec is most recommended. Their adapters work well and come with the necessary formatting and operating software. Windows 95, Windows NT, and OS/2 have built-in support for Adaptec SCSI adapters. This support is a consideration in many cases, because it frees you from having to deal with additional drivers.

Standard or Fast SCSI is adequately supported by the ISA bus, but if you are going to install an Fast Wide SCSI or faster bus, then you should consider some form of local bus SCSI adapter, like PCI. This is because the ISA bus supports a maximum transfer speed of about 8M/sec, while a Fast Wide SCSI bus runs up to 20M/sec.

One example of a popular SCSI adapter for the PCI bus is the Adaptec AHA-2940AU (see Figure 15.8) and 2940UW. The 2940AU is an Ultra SCSI adapter and the 2940UW is Ultra Wide. These adapters are most notable for their ease of installation and use. Virtually all functions on the card can be configured and set through software. No more digging through manuals or looking for Interrupt, DMA, I/O Port, and other jumper settings--everything is controlled by software and saved in a flash memory module on the card. Following are some of the features of this card:

  • Complete configuration utility built into the adapter's ROM

  • Software-configurable IRQ, ROM addresses, DMA, I/O Port addresses, SCSI Parity, SCSI ID, and other settings

  • Software-selectable termination (no resistors to pull out!)

  • Enhanced BIOS support for up to eight 7.88G drives

  • No drivers required for more than two hard disks

  • Drive spinup on a per-drive basis available

  • Boots from any SCSI ID

FIG. 15.8  The Adaptec AHA-2940AU SCSI host adapter.

Adaptec has also released full PnP versions of their SCSI adapters. These adapters will be automatically configured in any PC that supports the PnP specification, or they can be configured manually through supplied software in non-PnP systems. The PnP SCSI adapters are highly recommended because they can be configured without opening up the PC! All functions are set by software, and there are no jumpers or switches to attend to. Most peripheral manufacturers write drivers for Adaptec's cards first, so you will not have many compatibility or driver-support problems with any Adaptec card.

Disk Hardware and Software Limitations

By studying the capabilities of the different disk interfaces as well as the ROM BIOS and operating systems, it is possible to determine the limits on disk storage. The following section details the limits under the different interfaces and operating systems.

Disk Interface Capacity Limitations

Different disk interfaces have different limitations on the theoretical maximum drive capacities that they may support. These limitations are due to variations in the way that each interface operates at the hardware level. It is important to note that even though a particular interface may permit access to a given amount of disk real estate, the BIOS and DOS usually are much more limiting and end up being the true limits for system disk capacity.

ST-506/412, ESDI, and IDE

To determine the capacity limits for the ST-506/412, ESDI, or IDE interface, you first need to determine the limits on the maximum number of cylinders, heads, and sectors per track. To do so, look at the size of the registers that hold this data in the controller. All these interfaces have the same controller register specifications, so the capacity limits calculated here apply to all of them. As you will see, the interface capacity limits are quite high. The drive parameter limits are as follows:

Cylinders (16 bits) = 65,536

Heads (4 bits) = 16

Sectors (8 bits) = 256

This calculates to a maximum theoretical drive size of:

65,536 cylinders x 16 heads x 256 sectors x 512 bytes = 137,438,953,472 bytes (128G)

Unfortunately, the maximum capacity--128G--is limited by the BIOS. There are two different BIOS types with regards to disk size limitations. The standard BIOS built into most older systems is limited to 1,024 cylinders, 16 heads, and 63 sectors per track. If the BIOS is an enhanced version, it will be limited to 1,024 cylinders, 256 heads, and 63 sectors per track. Combining the BIOS and interface limits results in the following maximum capacities (assuming 512-byte sectors):

Limit with Standard BIOS: 1,024 cylinders x 16 heads x 63 sectors = 528,482,304 bytes (504M)

Limit with Enhanced BIOS: 1,024 cylinders x 256 heads x 63 sectors = 8,455,716,864 bytes (7.88G)

If you do not have enhanced BIOS support on your motherboard, you could add an IDE bus adapter that has an on-board enhanced BIOS. To get around such BIOS problems, some IDE drive implementations greater than 528 million bytes split the drive to act as two physical units. In this case, the drive would appear on the IDE bus connector as being both master and slave, and could be used only as two 504M maximum-size drives.

ATA-2 has defined LBA support for EIDE. This is a Logical Block Address mode where each sector on the drive is numbered from 0 to x. The limitations are that x is a 28-bit number that has a maximum value of 268,435,456. Using 512-byte sectors, this brings the maximum drive capacity to:

268,435,456 LBAs (sectors) x 512 bytes = 137,438,953,472 bytes (128G)

That is coincidentally the same as the IDE internal limit has always been. The LBA is translated by the ATA-2/EIDE enhanced BIOS to the extended Cylinder, Head, and Sector (CHS) parameters which allow a maximum of 1,024 cylinders, 256 heads, and 63 sectors, respectively.

SCSI

According to the SCSI specification, drives are not addressed by cylinders, heads, and sectors but instead by what is called a Logical Block Address (LBA). This is a sector number in which all the sectors on the drive are numbered sequentially from start to finish. The LBA is specified by a 32-bit number and with 512-byte sectors, results in the following limitation:

4,294,967,296 LBAs (sectors) x 512 bytes = 2,199,023,255,552 bytes (2,048G or 2T)

As you can see, SCSI drive capacity limits are much higher. However, because the SCSI drive must appear to the BIOS as being a given number of cylinders, heads, and sectors per track, the BIOS limits SCSI capacity. Virtually all SCSI adapters have an enhanced BIOS that supports a maximum drive capacity as follows (assuming 512-byte sectors):

1,024 cylinders x 256 heads x 63 sectors = 8,455,716,864 bytes (7.88G)


TIP: If you do not have enhanced BIOS support in your SCSI adapter or motherboard, in some cases you can load an external driver for your adapter to provide this support.

ROM BIOS Capacity Limitations

In addition to the capacity limit of 504M, the standard ROM BIOS is limited to supporting only two hard disk drives. The enhanced BIOS is limited to 128 drives maximum. Most SCSI and IDE adapters get around the two-drive standard BIOS limits by incorporating an enhanced BIOS on board that takes over the disk interface.

Operating System Capacity Limitations

OS/2 HPFS (High Performance File System) supports a maximum partition size of 8G and a maximum single-file size of 2G, whereas DOS and OS/2 FAT partitions have a maximum size of 2G and a maximum single-file size of 2G. FAT32 partitions have a maximum volume size of 32G and a maximum disk size of 2T. The maximum single-file size of FAT32 is 4G. NTFS supports a volume size of 16E (exabyte), but this is usually limited to 2T due to hardware constraints. A single file on an NTFS filesystem can be as large as the whole volume!

Enter supporting content here