|
Getting beyond the 8.4
GB limit
Introduction
When
the personal computer (PC) was first developed, designers had to
decide how many bytes would be designated for addressing
particular memory locations within the system, including hard
drive memory. It was also necessary to specify how the address
bytes would be structured to access that memory. Originally,
these bytes were divided into cylinder, head, and sector (CHS)
address locations that related directly to the physical layout
of the hard drives. Unfortunately, the designers of the system
BIOS (Basic Input/Output System) and the ATA (Advanced
Technology Attachment) interface did not set up the total bytes
used for addressing in the same manner, nor did they define the
same number of bytes for the cylinder, head, and sector
addressing. The differences in the CHS configurations required
that there be a translation of the address when data was sent
from the system (using the system BIOS) and the ATA interface.
This is what caused the problems that were found at 528 MB and
4.2 GB, which limited systems to smaller capacity drives.
The limitation involves the total addressing space that was
defined for the system BIOS. Most PC systems are limited to
accessing drives with a capacity of 8.4 GB or less (7.9 GB on
some systems.) The BIOS's of these systems do not have adequate
address locations to access more than 8.4 GB.
A solution to this problem requires updating the current
system BIOS to one that supports the interrupt 13 extensions or
patching the current BIOS with the extension support. In the
future, all PC system BIOS's should support the interrupt 13
extensions, allowing systems to address drives of
extraordinarily large capacities.
The problem
The current ATA interface uses 28 bit addressing which
supports drives that are 2** X 512 bytes or 137 GB.
Unfortunately, most system BIOS's use 24 bit addressing which
only allows access to 2**24 X 512 bytes or 8.4 GB.
(This number really multiplies out to be 8.6GB but because of
the way the BIOS uses the bit, only 8.4 GB can be accessed.)
When the system wants to read or write data to the disk, the
BIOS has to use a software interrupt. The main interrupt that
is used to access the disk drive is interrupt 13h. This
interrupt was assigned 24 bits of addressing, which only
allows the system to access 8.4GB on a disk drive. System
designers were aware of this limitation and defined extensions
for interrupt 13. This allows for a quad-word or 64 bits of
addressing, which is equal to 2**64 X 512 bytes or 9.4
x 10**21 bytes. That is 9.4 Tera Gigabytes or over a
trillion times as large as an 8.4 GB drive.
Systems
affected
Very few systems built in 1997 (or before) properly support
the BIOS interrupt 13 extensions. However, all major BIOS
manufacturers have corrected the BIOS's that support the
extensions. By mid 1998, all new systems have this support.
Systems without the support can be modified to use drives
greater than 8.4 GB.
The
Solution
There are a number of things that can be done to update a
system in order to allow the use of large drives.
The options available are:
1. Obtain a new version of BIOS that supports the interrupt
13 extensions from the system or BIOS manufacturer.
2. Load software on the system that links into the BIOS to
add the interrupt 13 support. Gold Source supplies this SW
with every hard drive purchased from us or you can download it
from our "Free Downloads" section found on our home
page.
3. Use an intelligent host adapter whose BIOS supports
interrupt 13 extensions. This adds the cost of additional
hardware, but may be the best solution for certain
systems.
Operating
System limitation
With the increase in disk drive size, there is another
limitation that affects the user that cannot be corrected by
updating the BIOS. This is due to an inherent limitation
within the operating systems. The most widely used are Windows
3.x and Windows 95. Most versions of these operating systems
only support a maximum partition size of 2.1GB. This means
that drives over 2.1GB will have to be partitioned into
several logical drives, C:, D:, and so on. 8.4GB drives will
require at least 4 logical drives.
Microsoft has provided extended file system support as a
solution. They have increased the addressing bits in the File
Allocation Table (FAT) from 16 bits (FAT16) to 32 bits (FAT32)
which allows for much larger logical drive sizes, up to 2.2TB.
Unfortunately, the new extended file system is only supported
in the very latest versions of Windows 95, called OSR2.x. All
Win 98' OS and OS's created after will support the FAT 32
options.
To check if a version of Windows 95 supports the extended
file system (FAT32), select:
-START
-SETTINGS
-CONTROL PANEL
-Double click on the SYSTEM icon
-Look under GENERAL
-If SYSTEMS PROPERTIES shows:
*4.00.950b -This version supports the extended file
system (FAT32.)
*4.00.950 or 4.00.950a -This version only supports FAT16.
What's
the next limitation?
The next limitation with the ATA interface should occur at
137 GB. (Some systems and operating systems may encounter
other unforeseen limitations before this.) At 137 GB, the 28
bits of addressing on the ATA bus run out. Some possible
solutions for this problem follow:
1. The ATA's Feature Register could be used to add an
additional 8 bits giving 28+8=36 or 35.2 TB of addressable
space.
2. The size of each sector could be increased. For example,
a sector size of 4096 bytes would increase the maximum size of
the drives to 2.2 TB.
3. The industry could switch to a completely different
interface. The IEEE 1394 interface is the most likely
candidate and may gain popularity before one of the other
options needs to be implemented.
|