In This Article
What is Cylinder-head-sector (CHS)?
Cylinder-head-sector, or CHS refers to a specific mode of computer access. In this mode specific addresses are assigned to the data stored on the hard drives, usually those with a capacity of less than 550 megabytes.
- Cylinder-head-sector is the phenomenon which assigns addresses to different physical blocks of data stored in a hard drive, which helps in identifying each sector on the disk.
- The numbers of cylinders, heads and sectors help in determining the capacity of a hard drive. However, this process is more effective for the hard disk drives that have a smaller capacity.
- CHS depends on the basic structure of the hard drives which consists of a read-write head and a number of platters divided into concentric tracks that are determined by the numbers of the cylinder and head.
- There are a few limitations of CHS with reference to the capacity of hard disks that can be addressed and the lack of a direct physical connection with the data stored on disks.
- Due to the limitations, this tactic is replaced by ECHS and LBA but the virtual CHS values are still used today with several utility programs because they can be used with disk software and electronics.
Understanding Cylinder-head-sector (CHS)
Cylinder-head-sector is the method of giving an address to every physical block of data stored on the hard drive.
Typically, in the hard disk drives with smaller capacities these addresses were produced on the basis of the disk geometry.
This is actually the CHS value which allows for the generation of the corresponding CHS address.
The CHS also depends heavily on the fundamental structure of the hard drives. As you may know, each of these drives consists of a few major elements explained hereunder.
One of these elements is the number of platters. The number of these platters usually depends on the storage capacity of the hard drive. Data can be recorded on both sides of these platters.
Moreover, every platter is split into tracks in the form of concentric circles.
All these concentric tracks or circles are of the same radius on all of the platters. These are stacked vertically on top of each other to form a cylinder.
This means that the cylinder value is equal to the number of tracks on one side of every platter, and this number is the same on each.
In a cylinder, each platter has the same track number. All tracks that can store data on the platter surface are included irrespective of whether they are bad or not.
In a 3D structure, any track with a portion of a particular cylinder can read or write when the actuator assembly is stationary.
In an old BIOS, the limit of 1024 cylinders and 16 heads in the ATA limit resulted in 1024 × 16 × 63 = 1032192 sectors, which is 504 MB for a 512-byte sector.
However, this limit is mitigated by BIOS translation schemes called Extended CHS (ECHS) and revised ECHS.
It uses 128 or 240 heads instead of 16 and reduced the number of cylinders and the sectors at the same time in order to fit into the ECHS limit of 4032 MB (1024 128 63) or the revised ECHS limit of 7560 MB (1024 240 63) for the specified number of sectors in a disk.
The other significant element of the hard drive is the read-write head. This actually, just as the name implies, reads and writes data on the tracks existing on the platters.
The head basically manipulates the magnetic medium on the surface of the disc platter, which has two sides or surfaces for such manipulation.
There are normally two heads for each platter, one on each side. Therefore, the number of heads in a hard drive is double the number of platters in it.
In old BIOS that used 8 bits, the CHS addressing supported up to 256 heads.
These heads were numbered from 0 to 255 (hex. FFh), though a few older software supported only 255 heads. In essence, 255 is still used for virtual 255 × 63 geometries.
This however, causes some oddity and affects the maximum size of a disk in old BIOS INT 13h code and old PC DOS or other operating systems similar to it as follows:
1024 × 255 × 63 × (512 byte/sector) = 8032.5 MB
1024 × 256 × 63 × (512 byte/sector) = 8064 MB.
With reference to this context, the 8 GB limit is equal to 8192 MB, which is an incorrect limit. This is because it would need CHS 1024 × 256 × 64 with 64 sectors in each track.
As for the tracks, these are divided further into several smaller segments. These are called sectors, and each of them usually can store 512 bytes of data.
Today, they can however store as much as 4K bytes and are called 4K sectors.
The numbers of the sectors on every track are the same, especially in the early hard drives, where the inner sectors of similar physical area can store the same amount of data as the outer sectors but have a diverse density arrangement.
Ideally, in the CHS mode of addressing disks, the smallest unit is the sector.
This sector stores all information and is addressable by the hard drive. These sectors may come in different sizes such as:
- 512 bytes for the hard disks
- 2048 bytes for the CDs and DVDs
However, there are other sizes available and used as well, such as 128 bytes and 1024 bytes.
The numbers of the sectors in CHS addressing typically start at 1, and there is no sector 0.
The maximum sector number for physical disk geometry is evaluated based on the low-level format of the disk.
And for the disks with Basic Input Output System (BIOS) access, the number of the sector is encoded in 6 bits. The upper limit of 63 is still used for virtual CHS geometries.
As said earlier, tracks refer to the thin, concentric circular strips on the sectors. Every track needs at least one head to read.
The cylinder and track are very closely related in terms of disk geometries, where the track is typically given by the cylinder-head combination.
This combination consists of SPT sectors. On the other hand, the cylinders consist of SPT × H sectors.
Usually, the cylinders and tracks are counted from 0, where the first or the outermost track is numbered 0.
In the old BIOS code, 10 bits of CHS addressing were supported with up to 1024 cylinders.
While adding 8 bits for heads and 6 bits for sectors resulted in 24-bit support by BIOS interrupt 13h, subtracting denied sector 0 in 1024 × 256 tracks to correspond to 128 MB of 512 bytes.
According to the math, (128 MB = 1024 × 256 × (512 bytes/sector) and 8192 – 128 = 8064 roughly confirms the 8 GB limit.
Hard Disk Capacity
Therefore, the capacity of a hard drive can be calculated when the numbers of cylinders, sectors and heads are known, using the following formula:
Hard disk capacity = cylinder number × head number × sector number × 512 bytes.
Typically, the cylinders in a hard drive are numbered from 0, while the sectors are usually numbered from 1.
The read-write heads are also assigned with specific numbers.
All these numbers help in locating the individual zones of the hard drive, along with the CHS value. This is referred to as CHS addressing.
Though CHS addressing is very effective on early hard disks, it however supports smaller capacity hard disks.
Ideally, addressing the hard drives with the largest capacity is affected by three factors such as:
- The head number, which is usually not more than 255
- The cylinder number, which is not more than 1023
- The sector number, which is not more than 63.
Based on these three parameters, the largest capacity of hard disks that can be addressed is:
(255 x 1023 x 63 x 512) / 1000, 000, 000 = 8.4 GB.
CHS addressing ideally starts at 0 0 1 for 24 = 10 + 8 + 6 bits with a maximum value of 1023 255 63. It may also be 1023 254 63 limited to 255 heads and 24 bits.
The CHS values can be used to denote the disk geometry but will have to count head 0 and cylinder 0 as a maximum of 1024 255 63 or 1024 256 63 for 24 bits with 255 or 256 heads, respectively.
However, in CHS tuples, a geometry S is specified. This refers to the sectors per track. Here, the virtual geometry corresponds to the capacity of the disk containing C × H × S sectors.
With the bigger disk coming into use, the cylinder is considered to be the logical disk structure standardized at 255 × 63 = 16065 sectors.
With 28-bit CHS addressing, such as in Enhanced Integrated Drive Electronics (EIDE) and Advanced Technology Attachment or ATA-2, 8 bits for sectors start at 1 and 4 bits for heads 0 to 15. On the other hand, it is 16 bits for cylinders 0 to 65535.
The limit to this is approximately 128 GB, which is actually 65536 × 16 × 255 = 267386880 sectors corresponding to 130560 MB for a 512-byte sector size.
The Leap Forward
However, a lot of disk space was wasted in the early hard disks having different densities on different tracks. With the development of technology, modern hard disks use platters of similar density. This means that:
- The sector numbers on the inner and outer cylinders are different.
- The total number of the sectors has increased.
- The hard disk capacity is increased.
Since the sectors on the outer tracks exceed the inner tracks, there is typically no real CHS value for the hard disk drive. This makes it pretty difficult to locate a particular sector by CHS addressing.
For this reason, the CHS addressing is substituted by a linear addressing method, Logical Block Addressing (LBA), for addressing by sectors.
However, few software programs still use CHS addressing which is why you will find an address translator installed in the hard drive controller to make it compatible with the old software.
Along with the size of the hard drives, the geometry also became more complex, which restricted the CHS addressing method.
The disk controllers in the hard drives have good knowledge of the physical geometry and can report the computer about a false geometry. The logical CHS values are translated by this controller.
This means that the CHS addressing does not correspond to any physical attributes of the hard drive any more.
Hence, the hard drive interfaces now had CHS replaced by LBA and different tools helped in manipulating the Master Boot Record (MBR) partition table to align partitions to the cylinder boundaries.
As a result, relics of CHS addressing were still used in partitioning software even in the late 2000s. However, since 2010, disk size restrictions have been imposed by MBR.
This caused some problems and a replacement in the form of the Globally Unique Identifier or GUID Partition Table (GPT) was deliberated.
The modern computers that use the Unified Extensible Firmware Interface (UEFI) firmware without MBR do not support any philosophy from CHS addressing any longer, but virtual CHS values are still used by different utility programs.
So, after reading this article, you now must have a fair bit of knowledge about the Cylinder-head-sector, along with other aspects of this value and its estimation.
This key addressing method was very popular in the earlier days for smaller hard drives and is still used today in the form of virtual CHS despite LBA’s dominance.