Logical block addressing
Linear block addressing replaces physical geometry for storage access.
Logical block addressing (LBA) is a method for locating data blocks on computer storage devices, most often secondary storage like hard drives. It uses a straightforward linear scheme: each block is identified by a single integer index, starting at 0 for the first block, then 1, and so on. This replaces older systems that forced the operating system to deal with the physical layout of the drive.
The most notable predecessor was cylinder-head-sector (CHS) addressing, which used a tuple of cylinder, head, and sector numbers. CHS worked poorly for non-hard-disk devices like tapes or networked storage and was rarely used for them. Early MFM and RLL drives used CHS, as did the first ATA drives (along with its extended version, ECHS). Modern drives use zone bit recording, where the number of sectors per track varies by track, so any CHS values reported (like sectors per track or heads per cylinder) are largely fictional and don't reflect the true geometry.
LBA originated in 1981 with SASI, the forerunner of SCSI, as an abstraction layer. Although the drive controller itself still uses CHS internally, the SCSI driver, operating system, filesystem, and applications (such as databases) that access raw disks generally ignore CHS. System calls for block-level I/O pass LBA numbers to the storage device driver; in simple cases where one volume maps to one physical drive, the LBA goes directly to the drive controller. In RAID arrays, storage area networks (SANs), or setups with logical drives (LUNs) created through virtualization and aggregation, a software layer translates the LBA addresses of individual disks to provide a uniform LBA space for the entire storage device.
The original IDE standard from Western Digital introduced 22-bit LBA. In 1994, the ATA-1 standard expanded this to 28-bit addresses for both LBA and CHS modes. The ATA CHS scheme used 16 bits for cylinders, 4 bits for heads, and 8 bits for sectors (counting sectors from 1 to 255). This limited heads to 16 (0–15), sectors to 255 (though 63 was often the practical maximum), and cylinders to 65,536 (0–65535), capping disk size at 128 GiB (about 137.4 GB) with 512-byte sectors. These values can be retrieved by issuing the ATA "Identify Device" command (ECh).
- Introduced by
- SASI (precursor of SCSI) in 1981
- First ata standard with 28 bit lba
- ATA-1 (1994)
- First ata standard with 48 bit lba
- ATA-6 (2003)
- Maximum addressable size with 48 bit lba
- 128 PiB (approximately 144 PB) with 512-byte sectors
- Maximum addressable size with 32 bit mbr
- 2 TiB with 512-byte sectors; up to 16 TiB with 4096-byte sectors
- Typical reported heads per cylinder for
- 16
- Typical reported sectors per track for 2
- 63
Lore & Background
LBA was first introduced in 1981 by SASI, the precursor of SCSI, as an abstraction. The IDE standard included 22-bit LBA as an option, which was extended to 28-bit with ATA-1 in 1994 and to 48-bit with ATA-6 in 2003. Most hard disk drives released after 1996 implement logical block addressing. The scheme replaces earlier cylinder-head-sector (CHS) addressing, which used a tuple defining cylinder, head, and sector. CHS did not map well to devices other than hard disks and was used in early MFM and RLL drives, as well as in the first ATA drives. Current disk drives use zone bit recording, where the number of sectors per track depends on the track number, so reported CHS values have little to do with true geometry.
In the LBA scheme, sectors are numbered as integer indexes. When mapped to CHS tuples, LBA numbering starts with the first cylinder, first head, and track's first sector. Once the track is exhausted, numbering continues to the second head within the same cylinder, and after all heads in a cylinder are exhausted, it moves to the next cylinder. The conversion formula is: LBA = (C × HPC + H) × SPT + (S − 1), where HPC is heads per cylinder and SPT is sectors per track. The reverse mapping uses integer division and modulo operations.
Enhanced BIOS implementations introduced INT 13h Extensions with the BIOS Enhanced Disk Drive Services, which removed practical limits on disk size for operating systems aware of this interface. This enhanced BIOS subsystem supports LBA addressing with LBA or LBA-assisted method, using native 28-bit LBA for ATA disks and performing CHS conversion as needed. Until the release of ATA-2 in 1996, some large hard drives did not support LBA, requiring conversion software such as OnTrack Disk Manager or Micro House EZ-Drive to replace INT 13h routines at boot time.
Reader's Guide
LBA's significance lies in its abstraction of physical storage geometry, enabling operating systems and applications to address data blocks uniformly regardless of the underlying hardware. By replacing CHS addressing, which was tied to specific disk mechanics and did not work well with non-disk devices like tapes or networked storage, LBA provided a simple, linear interface that could be used across different storage technologies. This abstraction was critical for the development of RAID devices and storage area networks, where LBA addressing of individual disks is translated by a software layer to provide uniform addressing for the entire storage device.
The evolution of LBA from 22-bit to 28-bit and finally to 48-bit reflects the growing capacity of hard drives. The 48-bit scheme, introduced with ATA-6 in 2002, raised the addressing limit to 128 PiB with 512-byte sectors. However, the older MBR partition scheme uses 32-bit LBA, limiting it to 2 TiB with 512-byte sectors (or up to 16 TiB with 4096-byte sectors). Modern PC-compatible computers support INT 13h Extensions with 64-bit structures for LBA addressing, though modern operating systems implement direct disk access and use BIOS only at boot time. LBA's legacy is its role in enabling the seamless growth of storage capacity while maintaining backward compatibility through translation layers and enhanced BIOS interfaces.
More in Computer Storage 1-24
Spotted an error? Know more?
Reader corrections go straight into our review queue. Suggest an edit · How this site is sourced
