# easy question

how do you get a hard drives size using the sectors heads and cylinders
LVL 2
###### Who is Participating?

Commented:
SECTORS/TRACK x TRACKS/DISK x HEADS x BYTES/SECTOR = CAPACITY

Example:  63 sector/track, 16383 tracks, 16 heads, 512 bytes/sector

Capacity = 63 X 16383 X 16 X 512 = 8.4GB.
0

Commented:
I generally don't calculate it that way.  I go to the manuf web site and look up the model number.  You also get other pertinent info by doing that.
0

Endpoint EngineerCommented:
http://www.pcguide.com/ref/hdd/geom/geomPhysical-c.html

That page may get you headed on the right track...or this information:
Figure 1.1 Detail of a Basic Disk with Four Partitions

The Ending Cylinder field in the partition table is 10 bits long, which limits the number of cylinders that can be described in the partition table to a range of 0?1,023. The Starting Head and Ending Head fields are each one byte long, which limits the field range to 0?255. The Starting Sector and Ending Sector fields are each six bits long, which limits the range of these fields to 0?63. However, the enumeration of sectors starts at 1 (not 0, as for other fields), so the maximum number of sectors per track is 63.

Because all hard disks are low-level formatted with a standard 512-byte sector, the maximum disk capacity described by the partition table is calculated as follows:

Maximum capacity = sector size x cylinders (10 bits) x heads (8 bits) x sectors per track (6 bits)

Using the maximum possible values yields:

512 x 1024 x 256 x 63 (or 512 x 2^24) = 8,455,716,864 bytes or 7.8 GB

See http://www.microsoft.com/technet/win2000/win2ksrv/reskit/sopch01.asp

-d
0

Commented:
You'll need the sector size as well.

Bytes in sector * sectors per track * # of cylinders  * # of heads should equal raw capacity of the hard drive.

Let's assume 512 byte sectors,
2100 cylinders
63 sectors per track
(this is from a Caviar AC31000)

512*2100*16*63 = 1,083,801,600 bytes

If you are trying to translate the number of bytes into MB or GB, remember that 1000 != 1024, and 1024 bytes = 1K.

This might look like 1.083 G, but remember 1000 bytes does not equal 1K.  So divide that number by 1024 several times and you wind up with 1.009G and you might feel you were cheated out of 74 MB.  Also remember that many manufacturers are inconsistent - sometimes they divide by 1000, sometimes by 1024, even in the same calculation.

A notorious example is calling a diskette with 1,457,664 bytes a 1.44MB floppy when it really only has 1.38 MB of space.  There are really 1.44 million bytes available on that disk, but not 1.44MB.  Microsoft actually got that one right.

With the floppy example, note that the real cpacity of the disk is 1,474,560. 33 sectors (16.5K) is used for overhead like FAT, boot sector, etc.  A similar circumstance will happen with a hard drive, so raw capacity does not equal usable capacity.

0

Commented:
melchioe,

You mean you came up with this all on your own?
0

Endpoint EngineerCommented:
heh heh heh....
0

Author Commented: