Cylinder-head-sector, also known as CHS, is an early method for giving addresses to each physical block of data on a hard disk drive. In the case of floppy drives, for which the same exact diskette medium can be truly low-level formatted to different capacities, this is still true.
Though CHS values no longer have a direct physical relationship to the data stored on modern storage media except for floppy disks, virtual CHS values (which can be translated by disk electronics or software) are still being used by many utility programs and file systems.
CHS addressing is the process of identifying individual sectors on a disk by their position in a track, where the track is determined by the head and cylinder numbers. The terms are explained bottom up, for disk addressing the sector is the smallest unit. Disk controllers can introduce address translations to map logical to physical positions, e.g., zone bit recording stores fewer sectors in shorter (inner) tracks, physical disk formats are not necessarily cylindrical, and sector numbers in a track can be skewed.
Floppy disks and controllers use physical sector sizes of 128, 256, 512 and 1024 bytes (e.g., PC/AX), whereby formats with 512 bytes per physical sector became dominant in the 1980s.
The most common physical sector size for harddisks today is 512 bytes, but there have been hard disks with 520 bytes per sector as well for non-IBM compatible machines. In 2005 some Seagate custom hard disks used sector sizes of 1024 bytes per sector. Advanced Format hard disks use 4096 bytes per physical sector (4Kn) since 2010, but will also be able to emulate 512 byte sectors (512e) for a transitional period.
Magneto-optical drives use sector sizes of 512 and 1024 bytes on 5.25-inch drives and 512 and 2048 bytes on 3.5-inch drives.
In CHS
addressing the sector numbers always start at 1, there is no sector 0, which can lead to confusion since logical sector addressing schemes (e.g., with Logical block addressing (LBA), or with "relative sector addressing" in DOS) typically start counting with 0.