Chapter 8, "Basic Disk Drives," covered the basics of hard disk drives. In this lesson, we broaden our discussion of hard disk drives to include the newer large-capacity drives and cover several of the newest methods.
After this lesson, you will be able to:
- Configure the newer large-capacity hard disk drives.
- Define the limitations of hard disk drives.
- Identify the advantages and disadvantages of SCSI connections.
Estimated lesson time: 30 minutes
The original basic hard disk drives—specifically the ST-506—were relatively simple to install because the primary input/output commands were handled by the PC AT system BIOS. They used the routines built into the original IBM AT and the same interface command set as the original ST-506 hard drive. As drive capacities grew, they required many changes in setup to get around the limitations imposed by earlier models. Often, these changes added to the workload of the processor, which had a net effect of slowing down the processing of data. The result was a search for new methods to overcome those bottlenecks, which in turn led to other design considerations that had to be addressed. Storage technology is still evolving. Drives increase in capacity and speed, causing changes in PC design and operating-system support to take advantage of the larger-capacity, faster drives.
IDE (Integrated Drive Electronics) drives have been in use since the late 1980s. The purpose of the IDE was to integrate the drive controller with the drive itself rather than use a separate controller card. The ATA (Advanced Technology Attachment—the official name for IDE drives) standard is based on the original IBM AT standard for hard disk drives. ATA drives use the same interface command set as the original ST-506 drives and are handled by the system BIOS built in to the original IBM AT. ATA was, and is, a good command set, but its limitations led to its decline as a viable hard drive interface. These limitations set the stage for the development of the Enhanced Integrated Drive Electronics (EIDE). The EIDE drive system was developed with two essential objectives: increasing the size of available disk drives and increasing the speed of data transfer between the host and the disk drive.
The EIDE specification:
The above remarks apply only to IDE-style drives. SCSI drives and how they deal with the size and number of drive issues are covered later in this chapter.
Let's examine these improvements in detail.
The ATA standard allows two hard disk drives to connect to one common controller. IBM set aside (reserved) I/O address 1FOh and IRQ 14 for the use of hard disk drive controllers. IBM also reserved I/O address 170h and IRQ 15 for a second controller (two more hard drives). Early computers had no BIOS support for this second controller. The BIOS installed on newer computers takes full advantage of both controllers, allowing up to four EIDE devices. (You'll find a fuller discussion of addresses and IRQs in Chapter 10, "Expansion Buses.")
Most SCSI controllers offer the ability to use IRQ 13 for hard disk drive support without the use of special drivers. To do so, the SCSI card must be set with boot BIOS enabled, and the hard disk drive must be properly formatted for the operating system in question.
ATA drives transfer data to and from the hard disk drive and memory using standardized protocols called PIO (Programmed Input/Output) modes. With PIO, data is exchanged between the main memory and a peripheral device, not by means of DMA (direct memory access), but with in-and-out instructions through the CPU. The Small Forms Factor (SFF) standards committee defined these data transfer rates as PIO mode 0, PIO mode 1, and PIO mode 2. ATA drives can use PIO mode 0, 1, or 2. With each improved PIO standard, the efficiency and speed of data transfer increased. The original ATA drives could transfer data from the hard disk drive to RAM at a maximum rate of roughly 3.3 MB per second. Speed increases to 5.2 MB per second, and then 8.3 MB per second and beyond, followed shortly thereafter.
The original controllers allowed only for hard disk drives—and just two of them. The ATAPI (AT Attachment Packet Interface) was developed by an independent industry group to allow non-hard disk drives (CD-ROM drives and high-speed streaming tape units) access to the ATA interface.
Early BIOSs had a limitation on the maximum CHS (cylinder, head, and sector) values allowed, and the ATA standard added to that. As a result, for several years the maximum hard disk drive size was restricted to 528 MB. The following table shows how CHS limits are determined.
|BIOS Limit||IDE (ATA) Limit||Maximum Usable Limit|
|Maximum capacity||8.4 billion bytes||136.9 billion bytes||528 million bytes|
There are two ways to look at 528,000,000 bytes—the marketers' way (528 MB means 528 million bytes) or the literal way, which takes into account that there are 1,048,576 bytes per megabyte (1024 bytes x 1024 bytes). The second way, which is more accurate, yields a value of 528,000,000 divided by 1,048,576—a total of 504MB. Also be aware that an operating system will have to use part of the space for its housekeeping functions, as well as command and system files. The actual usable space for application and data files might be considerably smaller.
As mentioned, EIDE stands for Enhanced Integrated Drive Electronics. This term specifies the incorporation of four major upgrades to the ATA/IDE specification:
There are several methods used to overcome the 528-MB barrier that affects hard disks. When developing these methods, the difficult task was to create novel ways to access more data and maintain backward compatibility. In most cases, the designers found ways to address larger drives while "fooling" the operating system into functioning as if the drive were still within the proper limits.
When working with high-capacity drives, the computer professional must understand these different methods and apply the best method for the situation at hand. This is especially true if you encounter a situation in which different oversized drives are installed in an older system; these older systems often require special drivers or partitioning software. Using multiple hard disk drive drivers can confuse older operating systems due to incompatibilities. Never use drive data compression software in such cases without being sure that all the code involved is compatible.
The new super-large hard disk drives might not work with some older machines. They will run, but will not take advantage of the extra-high capacity.
Logical Block Addressing (LBA) is a means of addressing the physical sectors on a hard disk drive in a linear fashion. A translating BIOS detects the capacity of the drive and manipulates the CHS values so that the cylinder value is always less than 1024. Here's how it works:
capacity = cylinders x heads x sectors per track
528,482,304 = 1024 x 16 x 63 x 512
cylinders = capacity divided by (heads x sectors per track)
When the computer boots up, an enhanced drive parameter table is loaded into memory. When data is transferred, this table intercepts the request and converts the system's CHS values to LBA values that the computer's BIOS can handle.
Enhanced CHS is a standard that competes with LBA. This standard allows drives to be manufactured a little faster and more easily than LBA. The standard is supported by IBM and other manufacturers.
Fast ATA means using PIO mode 3, and Fast ATA-2 means using PIO mode 4. It is a technique used by Seagate Technologies (and others) to compete with EIDE. Fast ATA drives will support either LBA or CHS drive translation to break the 528-MB barrier.
Logical Cylinders, Heads, and Sectors (LCHS) is a value used by the operating system (MS-DOS, Windows 95 and 98, OS/2, and so forth) to determine the size of the hard disk drive. Physical Cylinders, Heads, and Sectors (PCHS) is a value used within the device to determine its size. A translating BIOS and/or the operating system use different algorithms to determine the address of the data.
Direct memory access (DMA) is a transfer method that, although not a PIO mode, also works to overcome the size limitations of hard disks. DMA bypasses the CPU to transfer data directly into memory. This is the preferred way to move large chunks of data in a multitasking environment. UNIX and Windows NT take advantage of DMA transfers. These transfers can function by using either the DMA controller on the ISA (Industry Standard Architecture) bus or a bus mastering controller that takes over the expansion bus and bypasses the built-in DMA controller.
DMA data transfers can be either 16 bits (single word) or 32 bits (double word) wide. The transfer width depends upon the data bus used—ISA, EISA, or VLB (see Chapter 10, "Expansion Buses," for details). DMA data transfer for ATA hard disk drives is extremely rare.
Using DMA data transfer can lead to data loss. However, data loss should be a concern only when transferring partitioned and formatted hard disk drives between computers that use different BIOSs to make the translation. The following table shows the various DMA modes.
|DMA Modes||Physical CHS||Logical CHS|
|Capacity||594.5 million bytes||594.5 million bytes|
Hard disk drives larger than 8.4 GB require a BIOS that supports enhanced interrupt 13h extensions for very large drives. Which method is used will depend on the system's age, operating system, and the drive in question. Newer machines come with built-in support in the system BIOS. There are three methods you can use to enable this function on older PCs that do not come with native support:
Depending on the system BIOS, you might not be able to display the entire size of the drive while in BIOS/CMOS Setup. Check the manual for the BIOS and operating environment for more details.
While the procedures just described will let the system recognize the drive, the maximum partition size will still be determined by the operating system in question. Be sure to check the procedures for the version you will be using with any third-party software. Newer versions of Windows (98, NT, and 2000) allow very large partitions.
If you use an older FDISK to prepare the drive, you will not be able to use the entire contents as a single volume. If you use Microsoft's FAT12- or FAT16-based FDISK, the largest single partition will still be 2.1 GB unless a third-party partitioning program is used. New versions of Windows can access partitions greater than 2.1GB, but if you plan to use a dual-boot configuration, be sure that any partition is compatible with the operating system you want to use to view the files it contains. NTFS and FAT32 partitions are not visible to older versions of Windows, MS-DOS, or UNIX.
While questions about the latest incarnation of ATA/DMA drives are not likely to appear on the current A+ Exam, a good computer technician should be conversant with them and expect to see them as part of the certification renewal process. Ultra DMA/33 is a faster drive technology that can be used on virtually any Pentium motherboard. Ultra DMA/66 offers raw data transfers at twice the speed of its DMA/33 older sibling. It requires a compatible system bus on the motherboard (or a special controller card), BIOS, and special IDE cable certified for that speed. They are easy to identify. One 40-pin connector is blue, the other black. Most are also labeled for Ultra DMA/66.
Installing an EIDE drive is similar to installing an ATA drive; however, your pre-setup examination should consider secondary controllers, proper translations, and verifying PIO modes on older systems. Before undertaking an installation, it is a good idea to collect all the information from the new drive as well as from the existing drive. Consider all the options on paper before removing any screws. If you don't have enough information on hand, consult the drive manufacturer or the Internet. If you are installing a very new EIDE or UDMA drive on an old system, make sure the motherboard, PCI (Peripheral Component Interconnect) bus, cables, and IDE interface are compatible with the drive specification.
Many EIDE I/O cards support secondary controllers, allowing for up to four ATA devices, as mentioned earlier. Before installing a card, be sure that jumper settings are set properly (see Figure 9.2). Secondary controllers are always set at I/O address 170h and IRQ 15.
Many cards come preset with the secondary controller disabled. Also check the advanced CMOS settings to make sure that any secondary controller enable/disable options are set to enabled.
Some EIDE controller cards require that the CMOS options for secondary port hard disk drives be left as "Not Installed." Be sure to read all documentation that comes with these cards.
Figure 9.2 Controller card with jumpers
Secondary IDE interface and on-board channels are best suited for use with CD-ROM, DVD, or tape drives. Many secondary controllers on older machines run at a lower PIO mode (0 or 1) than the primary controller (3 or 4). It is always best to check the documentation first.
Most BIOSs can support both LBA and CHS. Enhanced BIOS allows the system to get around the MS-DOS limitation of 528 MB per hard disk and is the easiest way to install an EIDE drive. An enhanced BIOS will support either the Western Digital LBA mode or the Seagate Extended CHS mode.
The two translation options are not interchangeable. It is not possible to partition a drive in one computer using one option and move it to a system that uses the other option. Also, see the earlier information about drives of over 8.4-GB capacity. CHS settings are not "real" for drives larger than that size, and they must use some form of controller, system, or third-party software translation to work.
What if a computer does not support either CHS or LBA? Most newer large-capacity drives will provide a disk manager disk, or the ability to make one from the drive itself. (If the information is on the disk, you will be able to access a small MS-DOS partition with the data. The instructions for accessing this data are very specific and must be followed according to the manufacturer's requirements.) This software, when installed properly, performs the same task as CHS or LBA. When using this method, you need to first answer this question: Is the drive in the master or slave position?
There are some drawbacks to using this method rather than LBA or CHS:
There are five PIO modes. A drive must be set properly to achieve the best performance. The following table shows the parameters of PIO modes.
|PIO Mode||Cycle Time in Nanoseconds (ns)||Transfer Rate (MB per second)|
Answer the following questions before setting the mode:
The maximum achievable PIO will be limited by the slowest component. Setting a mode that is too fast will not damage the driver, but it might damage your data.
To set up the PIO mode:
PIO modes 3 and 4 use a hardware flow control called IORDY (I/O ReaDY), also known as IOCHRDY. This setting allows the drive to slow down the data transfer as the head moves across the disk.
There are several other drive settings that are not necessarily limited to EIDE, but are generally associated with these larger hard disk drives.
The ATA standard requires each drive to activate its IRQ (see Chapter 10, "Expansion Buses," for details of IRQ) every time it sends one sector of data. This process helps to verify good data transmission, but it slows down the computer. Multiple block reads speed up the process by reading several sectors of data at a time.
Many BIOS chips have multiple block read as an advanced feature. Enabling multiple block read can be done with third-party utilities as well. Multiple block read can also be installed using a device driver that comes with a hard disk drive controller. Always use multiple block read, if possible.
Providing 32-bit disk access is a major speed improvement over MS-DOS for the Windows 3.x and Windows for Workgroups 3.11 environments. Every time an operation is performed under Windows, Windows must use the BIOS routines to access the hard disk drive. To do this, it creates a virtual MS-DOS world, a "bubble" of conventional memory that looks and runs just as if the machine were running MS-DOS.
Enabling 32-bit file access allows Windows 3.x to talk directly to the ROM BIOS, using a protected-mode driver called VFAT.386 (found in the Windows\System directory). VFAT.386 is loaded using the [386Enh] section of the SYSTEM.INI file. With the 32-bit file loaded, Windows does not have to create an MS-DOS "bubble" to talk to the hard disk drive.
For 32-bit file access to work in older versions of Windows:
into your CONFIG.SYS file. This loads the 32-bit file access driver.
(These protected-mode drivers replace MS-DOS FAT functions and SMARTDRV.EXE functions.)
Windows 95 and later versions of that operating system automatically install a 32-bit file access driver. 32-bit file access is transparent to EIDE and requires no special settings.
There are some other potential problems with Windows 3.x and large drives. Windows 3.x uses a file called *WDCTRL for 32-bit disk access. This file is enabled from the SYSTEM.INI [386enh] section. This driver predates LBA and will generate the error: "32 file access validation failed." If this happens, *WDCTRL needs to be updated. Most EIDE controllers and all drives now come from the factory with a disk of software. If not, look up the Web site of the hard disk drive manufacturer and download the driver.
Whenever possible, check the CMOS, look for a 32-bit disk access option, and enable it.
The following points summarize the main elements of this lesson: