/ˈlɒdʒɪkəl blɒk ˈædrɛs/

noun — "linear addressing scheme for storage blocks."

LBA, short for Logical Block Address, is a method used by computer storage systems to reference discrete blocks of data on a storage device using a simple, linear numbering scheme. Instead of identifying data by physical geometry such as cylinders, heads, and sectors, LBA assigns each block a unique numerical index starting from 0 and incrementing sequentially. This abstraction allows software to interact with storage devices without needing to understand their physical layout.

Technically, LBA operates at the interface between hardware and software. A storage device, such as a hard disk drive or solid-state drive, exposes its storage as a contiguous array of fixed-size blocks, most commonly 512 bytes or 4096 bytes per block. Each block is addressed by its logical index. When an operating system or firmware requests data, it specifies an LBA value and a block count, and the storage controller translates that request into the appropriate physical operations on the medium.

This abstraction is critical for compatibility and scalability. Earlier addressing schemes relied on physical geometry, which varied across devices and imposed limits on maximum addressable space. By contrast, LBA enables uniform addressing regardless of internal structure, allowing storage devices to grow far beyond earlier size limits. Modern firmware and operating systems treat storage as a linear address space, simplifying drivers, file systems, and boot mechanisms.

In practice, LBA is used throughout the storage stack. Firmware interfaces such as BIOS and UEFI issue read and write commands using logical block addresses. Operating systems map file offsets to block numbers through the file system, which ultimately resolves to specific LBA values. Disk partitioning schemes define ranges of logical block addresses assigned to partitions, ensuring that different volumes do not overlap.

A typical workflow illustrates this clearly. When a file read is requested, the file system calculates which blocks contain the requested data. Those blocks are expressed as logical block addresses. The storage driver sends a command specifying the starting LBA and the number of blocks to read. The storage controller retrieves the data and returns it to the system, where it is passed up the stack to the requesting application. At no point does higher-level software need to know where the data resides physically.

Modern systems rely on LBA to support advanced features. Large disks use extended logical block addressing to overcome earlier limits on address size. Partitioning standards such as the GUID Partition Table define metadata structures in terms of logical block addresses, enabling robust identification of partitions and redundancy for fault tolerance. Boot structures such as the Master Boot Record also rely on LBA to locate boot code and partition tables.

LBA interacts closely with other system components. The CPU issues I/O requests through device drivers, which translate software operations into block-level commands. File systems interpret logical block addresses to maintain consistency, allocation, and recovery. Disk partitioning schemes define boundaries using LBA ranges to isolate data sets. These layers depend on the predictability and simplicity of linear block addressing.

The following simplified example illustrates how logical block addressing is used conceptually:


request:
  start_LBA = 2048
  block_count = 8

operation:
  read blocks 2048 through 2055
  return data to operating system

In this example, the system does not reference any physical geometry. It simply requests blocks by their logical indices, relying on the storage device to perform the correct physical access internally.

Conceptually, LBA functions like numbered pages in a book rather than directions to specific shelves and rows in a library. By agreeing on page numbers, readers and librarians can find information efficiently without caring how the building is organized. This abstraction is what allows modern storage systems to scale, interoperate, and remain stable across generations of hardware.

See GUID Partition Table, Disk Partitioning, FileSystem, CPU.