What is CHS (Cylinder/Head/Sector)?
Cylinder-head-sector, also known as CHS, is a method of giving addresses to data on a hard drive.
Every hard drive consists of platters and read-write heads. If a drive has four platters, it usually has eight read-write heads, one on the top and bottom of each platter. The head value is the number of read-write heads in the drive.
Each platter is divided into tracks. The cylinder value is the number of tracks on one side of each platter. There are the same number of cylinders on each side of each platter. The sector value is the number of sectors in each cylinder (or track), each sector consisting of (normally) 512 bytes.
Older hard drives, such as MFM and RLL drives, divided each cylinder into an equal number of sectors and the CHS values matched the physical makeup of the drive. A drive with a CHS value of 500 x 4 x 32 would have 500 tracks per side of each platter, two platters, and 32 sectors per cylinder, with a total of 32,768,000 bytes (about 31 megabytes). Most modern drives have a surplus space that doesn't make a cylinder boundary. Each partition should always start and end at a cylinder boundary. Only some of the most modern operating systems may disregard this rule, but this can cause some compatibility problems, especially if the user wants to boot more than one OS on the same drive.
IDE drives have replaced the MFM and RLL drives, and are much more efficient at storing data. They use Zone Bit Recording (ZBR), where the number of sectors in a cylinder varies with its location on the drive. Cylinders nearer to the edge of the platter contain more sectors than cylinders near the spindle because there is more space in a given track near the edge of the platter. The CHS addressing system does not work on these drives because of the varying number of sectors per cylinder. An IDE drive can be configured in system BIOS with any configuration of cylinders, heads, and sectors that does not exceed the capacity of the drive. The drive converts the given CHS address into the actual address for the specific hardware configuration.
See also: Logical block addressing