This article will explain what CHS is, and how does CHS addressing work. It will also explain the reason why the CHS addressing is replaced by LBA. It will give you a relatively detailed introduction to CHS.
What Is Cylinder-head-sector
What is cylinder-head-sector? Cylinder-head-sector, also known as CHS, is an early method for giving address to each physical block of data on a hard disk drive.
At that time, the hard disk drive has small capacity and it is produced in a way similar to that of floppy disk. So, the disk geometry, namely the cylinder-head-sector value, and the corresponding CHS addressing are generated.
To know the cylinder-head-sector well, the basic structure of hard disk drive must be introduced. As we all know, each hard disk drive consists of platters and read-write heads. The number of platters is related to the capacity of a hard drive.
Each platter is divided into tracks that are concentric circles. The read-write heads read and write data along tracks on platters. And two sides of the platter can all record data. So, the number of read-write heads is double that of platters.
All the concentric tracks with same radius on all platters are vertically stacked into a cylinder. So, the cylinder value is the number of tracks on one side of each platter. Surely, the track numbers on each side of each platter are the same.
The track is divided into many short segments, which are called sectors. Each sector normally has a capacity of 512 bytes (Nowadays, the sector capacity can be 4K, called 4K sector). The sector numbers on each track are the same in early hard disk. The inner sectors with smaller physical area can have same capacity with the outer sectors through different density arrangement.
So, if we know the numbers of cylinders, heads, and sectors, we can calculate the capacity of a hard disk drive. The calculation formula is as follow: hard disk capacity = cylinder number × head number × sector number × 512 bytes.
CHS Addressing and LBA
The cylinders are numbered from the outer edge “0”. The sectors are numbered from “1”. And the read-write heads also have their serial number. So, we can locate each zone of the hard disk drive with the cylinder-head-sector value. This is called CHS addressing, which works efficiently on early hard disk.
However, the CHS addressing supports limited hard disk capacity. The biggest addressing hard disk capacity is affected by three parameters: head number that is not more than 255, cylinder number that is not more than 1023, sector number that is not more than 63. So, the biggest addressing hard disk capacity is 8.4 GB (255 * 1023 * 63 * 512 / 1000, 000,000).
However, the early hard disk with different densities on different tracks wastes a lot of disk space. As technology develops, nowadays, many hard disk drives adopt platters with the same density, which means different sector numbers on the inner and outer cylinders, increased sector total number, and increased hard disk capacity.
Because the sectors on the outer tracks are more than that of the inner tracks, the hard disk drive has no real CHS value. Therefore, it is difficult for CHS addressing to locate the specific sector. Hence, the CHS addressing is replaced by a linear addressing method, logical block addressing (LBA), which performs addressing by sectors.
Through a certain rule, the logical block addressing coverts all the CHS serial numbers into logical linear serial numbers. The hard drive controller will convert the logical address into physical address while accessing the hard disk, which can greatly improve the system efficiency.
However, some old software still use CHS addressing (for example: software using BIOS Int13H interface). In order to be compatible with these old software, an address translator is installed in the hard drive controller.