Logical Block Addressing (LBA) is a technique developed to overcome the limitations of the MS-DOS file system. Prior to the advent of LBA, all hard drives were accessed via CHS (Cylinder, Head, Sector) or Extended CHS, which means that the drive was accessed by specifying its cylinder, head and sector address.

LBA = (C × HPC + H) × SPT + (S − 1)
  • C, H and S are the cylinder number, the head number, and the sector number
  • LBA is the logical block address
  • HPC is the maximum number of heads per cylinder (reported by disk drive, typically 16 for 28-bit LBA)
  • SPT is the maximum number of sectors per track (reported by disk drive, typically 63 for 28-bit LBA)

BIOS options have been offering custom drive options how now various transactions to get around a minefield of limitations. LBA can get a 512MB disk for MS-DOS working fine.

The BIOS options are the same with 8088, 80286 and 80386 machines. All of them have the same BIOS headaches. SCSI cards can support larger hard disks. For the most part the custom drive geometry seems to work with MFM disks fairly well.

The new IDE disks that Western Digital have are interesting. Compaq was installing them in their high end machines. The small controller card moves the logic to the disk assembly.