# Why are there 255 tracks on a cylinder？

According to Wikipedia: CHS >> Heads, it says that

(512 bytes/sector)×(63 sectors/track)×(255 heads (tracks/cylinder))×(1024 cylinders)=8032.5 MiB ...

, but I am confused that why number of heads equals tracks/cylinder?

As the picture below, there "might" be two platters in a HDD, so why there aren't four tracks per cylinder?

If 255 tracks on a cylinder is true, there might have (255/2) platters in a HDD?

This is my HDD information:

• The information you quoted is only valid for that single example. Besides most hdds today have larger sector sizes( 4k ) and more sectors on each cylinder. – Ramhound May 13 '14 at 16:44
• @Ramhound Well... the sector size is 512 on my HDD. :-) – Kevin Dong May 13 '14 at 16:48
• What exactly is the question? 255 is 8 bits of data. This would be 1 byte. It makes sense from a technical side that a hdd would each in 1 byte at a time. As to the reason there isn't 510 heads per track that would mean your reading in 2 bytes at a time. You read data off the hdd in sectors additional heads means in theory more heat generated. I meant to say "more sectors on each platter" or the equally correct "more platters on the cylinder" my original comment made little sense. But the sector size indeed has increased to 4K. – Ramhound May 13 '14 at 17:01

The answer you seek is in that linked Wikipedia article:

Old BIOS code supported ten bits in CHS addressing with up to 1024 cylinders (1024=210). Adding six bits for sectors and eight bits for heads results in the 24 bits supported by BIOS interrupt 13h.

The IBM-BIOS interrupt (13h) classically used for the HDD access by IBM (clone) BIOSs only allowed 8 bits (1 byte) for head count.

1 byte can hold 256 different values (0-255).

Anyhow, more modern drives (since about 1996 ;) ) use technologies like LBA translation, and zone bit recording to overcome these BIOS limits, and although a disk drive will report some CHS values as sectors per track and heads per cylinder, they have little to do with the drive's actual geometry.

This is what you're seeing. The "255 heads" reported are not a real number of heads, they are translated for compatibility sake.

The 255 heads (actually 256 since it's counted starting at zero) you are referring to is a translated value from LBA to legacy CHS. It does NOT represent physical heads (and/or 256/2 platters). Read up on Logical Block Addressing to see how this translation occurs.