Understanding fdisk -l output and calculating storage

I have basic understanding of disk. (Please correct me if i am wrong) I understand on 1 platter, there are 2 heads, 1 on top, and 1 on bottom. Both side of the platter is able to provide storage ? On the platter, there are many tracks being broken up into the smallest unit of storage = sector. Corresponding tracks across all the platters = cylinder.

In OS, a block/cluster can be 1 or more sector

==============================================================

This is my output of fdisk -l

Disk /dev/sda: 107.4 GB, 107374182400 bytes

255 heads, 63 sectors/track, 13054 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0000d866

From the output, can i say that there are

q1) is there a total of 13054 tracks per platter then ? since there are 13054 cylinders ?

q2) there are 2 sides to a platter, does a track or sector applies to 1 side of a platter or both sides ? (e.g. if there is 1 track on platter, does it literally means 2 track, 1 on top and 1 below ?)

q3) what does the UNITS calculation represent ? Why isn't the total storage in a disk = no. of platter (not sure if top and bottom counts) * no of tracks per platter * no of sector per track * size of sector ?

q4) What does 255 heads means ?

Noob

q4) What does 255 heads means ?

(Also, your fdisk version is rather out-of-date).

One reason for that is that modern disks are simply too large to be described with the C/H/S scheme, which is limited to 1023/255/63 (in some places) or 65535/16/255 (in other places), which is 128 GB at most.

Another is that the disk's own controller can make better decisions than the OS about where exactly to put data. Finally, SSDs don't even have "cylinders" nor "heads" nor even "platters".

For these reasons, the reported CHS numbers are really meaningless. (255 heads wouldn't even fit inside a regular 3.5" disk.) The OS only knows the sectors by a single linear address – in your case, from 0 to 209715200 – and the disk controller translates it internally.

That said:

On old disks, which actually had a CHS geometry, yes, both sides would have their own tracks, and they would report one 'head' per side.

Naturally, a platter has 2 sides and thus 2 surfaces on which data can be manipulated; usually there are 2 heads per platter, one per side. [Wikipedia]