This is really only a theoretical limit and in practice a limit of 528 MBytes was imposed by the original BIOS. The BIOS is a series of routines, stored in a ROM, that test, configure and boot up your computer and provide services to DOS and application software. BIOS stands for Basic Input/Output Services.
A good way to look at the disk size limitations is to look at the various limitations imposed by layers in the system.
Disk access involves four layers, data must travel through all four layers on its way between the DISK and you. These layers are:-
The Hard Disk Drive in the first IBM PC/XT Computer had 306 Tracks (Cylinders), four (4) Heads reading four surfaces on two platters, and used 17 Sectors per track. 306 x 17 x 4 x 512 Bytes per Sector gave a capacity of 10,370 KBytes.
The original ST506 Hard Disk Drive Interface could only support 8 Heads but manufactures broke the rules and most of the last of the ST506 Hard Disk Drive Interface cards supported 16 heads. This means the ST506 Interface imposes the first constraint, the disk could have no more than 16 heads.
The newer ESDI Hard Disk Drive Interface supported up to 256 heads, up to 4096 Cylinders, and up to 256 Sectors per Track. Given the sector size of 512 bytes this would mean an ESDI drive could have a capacity of up to 135 GBytes. Not bad foresight for the early 1980s.
The IDE Hard Disk Drive Interface, and the universal device interface, SCSI, do not need to know about the numbers of Heads and Cylinders, as they are designed quite differently. They are only concerned with the total number of Sectors on the Hard Disk Drive.
This BIOS imposed limitation was overcome by modifying the Int 13 routine for Hard Disk Drives. The use of the CL and CH registers was changed. The low six bits of the CL register stored the number of sectors and the extra two bits not used in CL were tacked onto the front of the 8 bits in the CH register to give 10 bits for the number of cylinders. This means the Int 13 routine, when working with Hard Disk Drives, could recognise a maximum of 1023 Tracks, a maximum of 63 Sectors per track, and a maximum of 256 Heads (sides). The 1023 Track barrier is a problem as modern drives can have as many as 5000 Cylinders.
One way to overcome the problem is to not tell DOS the drives real configuration. Rather than saying there are 2000 Cylinders and four Heads, we say they have 1000 Cylinders and eight Heads. The resulting capacity is the same, and the process is called TRANSLATION. Remember we are using the terms Cylinder and Track almost interchangeably here, a Track is a single track on one side of a platter, a Cylinder refers to all the Tracks on one plane.
The last layer in the path between the disk and the user is the Operating System and DOS and Windows have their own size limitations. The major limitation here is caused by the Boot Record. The boot record is located in the first sector of track one on a Hard Disk Drive and contains a record of the disks format and a short boot strap loader routine. DOS versions up to 3.31 set aside two bytes (16 bits) for a record of the total number of sectors per logical drive. Under these earlier DOS versions, a large drive could be split into a number of logical drives by the FDISK command (each must be 32 MByte or less) and this made it possible to use drives larger than 32 MByte with these DOS versions.
The 16 bit limit on the total number of sectors meant a Hard Disk Drive could have a maximum of 65,536 sectors, a total capacity of 32 MByte. (65536 sectors x 512 bytes per sector) DOS 3.1 and later removed this limit by setting aside four bytes for the total number of sectors and the 32 bit number produced can describe a two Tera Byte disk size.
Here is a table describing where the original IDE specifications 528 MByte limit came from. The maximum capacity limits of IDE Hard Disk Drives was the combination of the lowest values for each parameter across the four layers of communication.
Limit imposed by the Int13 routine | Limits imposed by the IDE interface | Limit on the original IDE specification | |
---|---|---|---|
Maximum sectors per track | 63 | 255 | 63 |
Maximum number of heads | 255 | 16 | 16 |
Maximum number of cylinders | 1024 | 65536 | 1024 |
Maximum capacity | 8.4GB | 136.9GB | 528MB |
For many years now DOS computers have used translation so the numbers reported to the CMOS setup at the time of installation is quite different to the actual organisation of the Hard Disk Drive. Translation can be used to make the organisation of the drive fit into the limits imposed by the BIOS, by the Hard Disk Drive Interface and by the Operating System. If we look at the specifications for the modern Hard Disk Drives we will see they do not have a constant number of Sectors per Track. The outer Tracks have the most Sectors per track and the Sectors per Track reduces in Zones, as the Tracks get closer to the centre of the platter. Tracks closer to the centre have a shorted linear length and so to keep the recording speed almost constant, these Tracks must have less Sectors per Track.
Read/write head technology itself has also evolved from the clumsy mechanical stepper-motor construction to a more elegant voice-coil solution. The first PC Computer Hard Disk Drives were rated at a 120 ms average access time. That figure dropped to the mid-20 ms region by 1990, and now, the average seek time, ranges from 8 ms to 12 ms. Not only is the data getting to the head faster, but the head is moving from track to track in roughly 1/10th the time it originally took.
Enhanced IDE has changed four main elements of the old IDE specification:
A Fast-ATA Hard Disk Drive offers the same fast transfer modes as an Enhanced IDE Hard Disk Drive, and it shares most other features as well. In particular, it needs the same support from the computer, and it can take advantage of any Enhanced IDE features that do not depend specifically on the Drive. The key difference is that Fast-ATA does not cover anything that is not included in the Hard Disk Drive. As a practical matter then, a Fast-ATA Hard Disk Drive is identical to an Enhanced IDE Hard Disk Drive.
In the last module of this subject group, PC Servicing two, you will learn how these standards are racing ahead, providing faster transfer rates and a more flexible interface.
IDE, ATA, CAM, ATAPI and LBA | Hard Disk Drive technologies | Hard Disk Drive Interfaces | More technical details of EIDE | Back to the opening index | Book four index |