Link to home
Start Free TrialLog in
Avatar of hilltop
hilltopFlag for United States of America

asked on

easy question

how do you get a hard drives size using the sectors heads and cylinders
Avatar of slink9
slink9

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.
ASKER CERTIFIED SOLUTION
Avatar of jhance
jhance

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Kyle Schroeder
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
for more information.

-d
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
16 heads
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.

melchioe,

You mean you came up with this all on your own?
heh heh heh....
Avatar of hilltop

ASKER

Great Answer