How do you figure out the transfer time of a cylinder?
CHS (Cylinder/Head/Sector) geometries really don't apply to modern hard-drives (at least from an end-user standpoint), but for the sake of argument let's assume they do. According to Wikipedia, a cylinder is defined as:
A cylinder comprises the same track number but spans all such tracks across each platter surface that is able to store data (without regard to whether or not the track is "bad"). Thus, it is a three-dimensional object. Any track that comprises the same cylinder can be written to and read from while the actuator assembly remains stationary. One way drive makers have been able to increase drive speed is by increasing the number of platters that can be read at a given time.
Let's futher assume that by "transfer time of a cylinder", we're interested in the amount of time it will take to read, and transmit, all the data in each block in a given cylinder.
So, our definitions:
- ttrack is the time to read one track;
- tseek is the time to move the heads into position;
- n is the number of platters (and thus 2n is the number of tracks per cylinder, assuming tracks on both sides of the platters)
- x is the transfer speed of the hard drive's data connection, in bytes per second.
- b is the number of bytes per cylinder. For our purposes, b is equal to 64512n bytes, given the modern standards of 512 bytes per sector, 63 sectors per track, and 2n tracks per cylinder (512 * 63 * 2n = 64512n).
Because we only need to move the heads once (by definition, all tracks in the cylinder require the heads in the same position), the time to read the data becomes:
- tread = tseek + 2nttrack
Now, we need to figure out the time to transfer that data. Given a transfer speed of x bytes per second, and a data density of b bytes per cylinder, the time to transfer (including the time to read the data) will be:
- ttransfer = tread + (b / x)
- Generalized for b=64512n, this becomes ttransfer = tread + 64512n/x seconds
Now, to determine an actual transfer time, you'll have to plug in the numbers for x, tseek, and ttrack, which will all be device dependent. Even b is device dependent, since modern hard drives don't report their real physical geometries and actually cram a lot more than 63 sectors onto a track (the number varies with the track position -- more near the edge, fewer near the spindle). We can make some other observations (about exactly how to calculate ttrack, which will vary based on the location of the track on the platter), but for general purposes device dependent will suffice.