Calculating Cylinder / Head / Sector
If a particular disk has 6 surfaces and 50 sectors/track, what is the C/H/S
(Cylinder/Head/Sector) location of absolute disk sector 454 (all values in
Method: Calculate how many full cylinders and tracks precede the
Our desired sector is number 454, therefore 454 sectors precede it (those
preceding disk sector numbers are #0 through #453 inclusive).
- Calculate the number of full cylinders: C
Subtract the sectors contained in full cylinders that precede given
Each cylinder contains 6 surfaces times 50 sectors = 300
Dividing 454 by 300 gives: 1 full cylinder with a remainder of 154
Therefore, one full cylinder precedes sector number 454.
That cylinder is numbered zero, because cylinders number from zero.
Cylinder zero is full, so the cylinder that contains our sector must be
the next (not full) cylinder after cylinder zero. That cylinder is
Therefore: C = 1
- Calculate the number of full tracks: H
(Each track corresponds to a different surface and a different head.
Track = head = surface.)
Subtract, from the sectors that remain, the sectors contained in full
tracks that precede the given sector.
(These full tracks are in cylinder 1, calculated above.)
Each track contains 50 sectors.
Dividing the remaining 154 sectors by 50 gives: 3 full tracks with a
remainder of 4 sectors.
Therefore, in cylinder 1, 3 full tracks precede sector number 454.
Those 3 tracks are numbered 0,1,2, because the heads (tracks) number from
Tracks 0-2 are full, so the track that contains our sector must be the
next (not full) track after track 2. That track is number 3.
Therefore: H = 3
- Calculate the number of full track sectors: S
(Reprise: We calculated that cylinder 0 is full; tracks 0,1,2 of cylinder
1 are also full.)
How many sectors remain in cylinder 1, track 3 that precede the given
The remainder of 4 above tells us that, in track 3 of cylinder 1, four
track sectors precede sector number 454.
Those four track sectors are numbered 1,2,3,4, because track sectors
number from one (not from zero).
Track sectors 1-4 are full, so the track sector that contains our sector
must be the next sector after track sector 4. That track sector
number is 5.
Therefore: S = 5
Therefore, disk sector 454 is located at (decimal) C/H/S = 1/3/5
This is head #3, which is the bottom head on the second platter.
Other calculations using the same disk geometry (for fun and practice):
123 => 0/2/24 top
200 => 0/4/1 top
300 => 1/0/1 top
454 => 1/3/5 bottom
567 => 1/5/18 bottom
600 => 2/0/1 top
678 => 2/1/29 bottom
789 => 2/3/40 bottom
900 => 3/0/1 top
1200 => 4/0/1 top
8910 => 29/4/11 top