Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info.

An Immediate Solution to Breaking the 528 MB DOS Barrier

From Higher Intellect Vintage Wiki
Revision as of 01:16, 9 October 2020 by Netfreak (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Highlights

  • The PC architecture running the DOS operating system imposes a 528 MB barrier on hard disk drives. Because of multimedia, other graphics- intensive applications, and large databases, this barrier has become a major obstacle to storage needs.

  • Three solutions to the barrier have emerged: the "hard-wired" approach, which is simple to implement but imposes capacity limitations; Logical Block Addressing (LBA), which requires major software retrofitting; and Extended Cylinder, Head, Sector (CH S) addressing, which represents a "middle-of-the-road" approach.

  • Quantum drives support both LBA addressing and Extended CHS addressing. But, because Extended CHS is the easier-to-implement solution and imposes fewer engineering risks, the company believes this is the best current solution.

  • Quantum has implemented Extended CHS addressing as a device driver that ships on a floppy disk and is loaded onto the hard disk during boot-up. The device driver is now being shipped with Quantum AT-IDE drives of 500 MB or above.

Quick Look

This Quantum Technical Information Paper (TIP) discusses the 528 MB barrier imposed on hard disk drives by PCs running DOS. The paper examines three solutions to the barrier, their advantages and disadvantages, and explains why Quantum chose a middle-road solution to the problem.

In the computer industry, some problems lurk for years before they become obstacles. Such has been the case for the 528 MB barrier that the PC architecture running the DOS operating system imposes on hard disk drives. For most of the PC's existence, the limitation was only theoretical. Now it has become a significant obstacle. The reason: multimedia, other graphics-intensive applications, and large databases have raised the ante for storage capacity - fueling growth in the market for increasingly higher capacities. As a result, the computer industry has had to scramble for a solution to the 528 MB barrier.

It is important to note that the 528 MB barrier is specifically a DOS problem because DOS relies on the BIOS to address the hard disk drive. This architecture was established in 1982 when DOS was first developed, and it still affects every DOS system, as well as the Microsoft Windows environment, which is layered on top of DOS. The 528 MB barrier is not encountered in newer 32-bit operating systems, such as Windows NT and OS/2, because they bypass the BIOS.

Three solutions to the 528 MB barrier have emerged in recent months:

  1. The "hard-wired" approach, which is extremely simple to implement but imposes limitations on total system capacity
  2. LBA addressing, an almost revolutionary approach that requires major software retrofitting
  3. Extended CHS addressing, which represents a middle road in supporting disk drives that exceed 528 MB. Quantum has implemented Extended CHS addressing in a simple-to-install device driver

Quantum believes that Extended CHS addressing represents a pragmatic approach that can be implemented immediately, without limiting system capacity. Extended CHS is a stable, straightforward method for supporting drive capacities of greater than 528 MB on today's PC architectures, running the most popular operating system and graphical user environments. Quantum is convinced it is the best solution for this year and will remain so until Microsoft's "Chicago," the forthcoming major upgrade of the Windows operating system, is widely implemented.

Why is there a Barrier?

The 528 MB barrier occurs on the data path that links the DOS operating system with the hard disk. When applications make use of the hard disk for either retrieving or writing information, they take advantage of a DOS function call, which is sent to the computer's BIOS (basic input/output system), which relays it, in turn, to the hard disk. This arrangement shields developers from having to know the specifics of each system architecture and hard disk subsystem. Ultimately, a request from the application must be translated into a specific cylinder, head, and sector on the hard disk. DOS issues cylinder, head, and sector (CHS) numbers to the BIOS, which relays them to the disk. The problem is that, along the way, these three numbers encounter two different, largely incompatible interfaces. One interface, ATA, links the hard drive with the BIOS. The other, INT13, links the

BIOS and DOS.

The problem occurs in the number of bits allocated to identify each cylinder, head, and sector. The ATA interface accommodates a cylinder number of 16 bits in length. But the INT13 interface uses just a 10-bit cylinder number. Similarly, the ATA interface uses a head number of just 4 bits, while INT13 uses 8 bits. These incompatibilities mean that only the lowest number - the least common denominator - can be used. So, while either of the interfaces working alone could provide sufficient addressing capability to far exceed 528 MB, when the two are combined and the least common denominator becomes the limiting factor, a 528 MB capacity maximum is the result.

Why a 528 MB Barrier?

The 528 MB barrier arises from the address variable between the ATA and the INT13 interfaces.

As the diagram shows, a combination of the ATA and INT13 interfaces allows just 10 bits for the cylinder number, 4 bits for the head, and 6 to identify sectors. Hence, the highest addressable cylinder number is 210 , or 1024.

Cylinders : 210 = 1024
Heads : 24 = 16
Sectors : 26 -1 = 63 (by convention, sector numbering begins at #1, not #0)

And so, 1024 x 16 x 63 X 512 bytes/sector = 528.48 MB.

The "Hard-Wired" Approach: Simple but Limited

The simplest approach to breaking the 528 MB barrier is to treat a single 1 GB drive as if it were two physical drives, each with 528 MB of storage capacity. At the software level, the drive occupies the address space of the C and D drive. At the hardware level, a standard ATA cable that ordinarily supports two drives - drive 0 and drive 1 - now supports only one. This "hard-wired" approach has the advantage of requiring no device driver or other software modifications. But it also imposes two capacity limitations: you can't add an additional drive nor can the single drive exceed 1 GB.

LBA Addressing: An Approach for the Future

On the other end of the spectrum is LBA addressing. With this method, the standard addressing convention described above is completely replaced. The same registers are used to pass cylinder, head, and sector information, but the information itself is completely redefined as a logical block address, such as an address

found in SCSI.

This revolutionary approach is its own disadvantage. LBA requires changes to the operating system, the BIOS, and the disk drive. It is essentially an attempt to rewrite history and, while the resulting solution is clean, the amount of retrofitting required is prohibitively expensive.

LBA addressing is arguably the best long-term solution - when the operating system itself fully supports it. For example, when Chicago becomes available, it will implement LBA addressing at all levels of the software, thereby improving system performance. But under DOS, the advantages of LBA addressing are latent, representing a complex and impractical solution to the current problem.

The Extended CHS Solution is the Middle Road

By contrast to LBA addressing, Extended CHS addressing employs a simple address-conversion technique. Two unused bits are "borrowed" from the head number used in the INT13 interface and "loaned" to the cylinder number. So, instead of the operating system issuing a 10-bit cylinder number as it usually does, it can now send down a 12-bit cylinder number, making up for the deficit with excess bits from the head number. A similar translation is accomplished in the other direction, giving two extra bits to the head number.

Extended CHS addressing offers significant advantages because it maintains the existing INT13 interface between the operating system and the BIOS and the ATA interface between the BIOS and the drive. Unlike LBA addressing, it requires no modification of the operating system or disk drive, and only a minor substitution of the BIOS code. Unlike the hard-wired approach, it solves the problem for not only a single GB, but a theoretical 8 GB of capacity, while allowing two physical hard drives to be install ed.

Quantum's Extended CHS Implementation

Quantum has implemented Extended CHS addressing in a device driver that ships on a floppy disk and is loaded onto the hard disk. During boot-up, the device driver code replaces a small portion of the BIOS code located on the system's EPROM. When the operating system makes an INT13 call, the device driver intercepts it and performs the address conversion between the CHS geometry supported by the system and the CHS geometry supported by the drive.



Quantum's "Recipe" for Address Conversion

  • Pass the sector number through unmodified

  • Create a combined drive/cylinder head number:

    • Shift the system cylinder number N places left
      N = log (number of heads at system level), where the number of "heads" at the system level is a power of 2
    • "OR" the resulting number with the system head number
  • "AND" the combined cylinder/head with 0x000Fh to yield the drive head

  • Shift the combined cylinder/head 4 bits right to yield the drive cylinder


Quantum's support for Extended CHS addressing represents a solution that can be implemented today and will not become obsolete even after Windows 3.1 is replaced. While Microsoft intends to support LBA addressing in Chicago, it has also promised to support Extended CHS.

For its part, Quantum also supports both Extended CHS and LBA addressing methods. But the company believes that CHS is currently the easier-to-implement solution that imposes fewer engineering risks. Quantum's device driver is now being shipped with Qua ntum AT-IDE drives of 500 MB or above.

In Summary

Extended CHS addressing is the best current method for solving the 528 MB DOS barrier because it is easy to implement and less risky than alternative solutions. Quantum's device driver, which implements CHS addressing, gives DOS and Windows users sufficient hard drive capacity to run today's storage-hungry applications. The

solution will not become obsolete with Microsoft's future operating system.

See Also[edit]