Alasir Enterprises
Main Page >  Motley >  MicroHouse PC Hardware Library Volume I: Hard Drives  

 
Previous Table of Contents Next

Cylinder Skew

Cylinder skew is the offset in logical sector numbering between the same physical sectors on two adjacent tracks on two adjacent cylinders.

The number of sectors skewed when switching tracks from one cylinder to the next is to compensate for track to track seek time. In essence, all of the sectors on adjacent tracks are rotated with respect to each other. This method permits continuous read or write operations across cylinder boundaries without missing any disk revolutions, thus maximizing system performance.

Cylinder skew is a larger numerical factor than head skew because more overhead exists. It takes much longer to move the heads from one cylinder to another than simply to switch heads. Also, the controller overhead in changing cylinders is higher as well.

Following is a depiction of our example drive with a head-skew factor of 2 but no cylinder skew.

Cyl. 0, Head 0: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Cyl. 0, Head 1: 16 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Cyl. 1, Head 0: 8 9 10 11 12 13 14 15 16 17 1 2 3 4 5 6 7

In this example, the cylinder-skew factor is 8. Shifting the sectors on the subsequent cylinder by eight sectors gives the drive and controller time to be ready for sector 1 on the next cylinder and eliminates an extra revolution of the disk.

Calculating Skew Factors

You can derive the correct head-skew factor from the following information and formula:

Head skew = (head-switch time/rotational period) × SPT + 2

In other words, the head-switching time of a drive is divided by the time required for a single rotation. The result is multiplied by the number of sectors per track, and 2 is added for controller overhead. The result should then be rounded up to the next whole integer (for example, 2.3 = 2, 2.5 = 3).

You can derive the correct cylinder-skew factor from the following information and formula:

Cylinder skew = (track-to-track seek time/rotational period) × SPT + 4

In other words, the track-to-track seek time of a drive is divided by the time required for a single rotation. The result is multiplied by the number of sectors per track, and 4 is added for controller overhead. Round the result up to a whole integer (for example, 2.3 = 2, 2.5 = 3).

The following example uses typical figures for an ESDI drive and controller. If the head-switching time is 15 us (microseconds), the track-to-track seek is 3 ms, the rotational period is 16.67 ms (3,600 RPM), and the drive has 53 physical sectors per track:

Head skew = (0.015/16.67) × 53 +2 = 2 (rounded up)
Cylinder Skew = (3/16.67) × 53 + 4 = 14 (rounded up)

If you do not have the necessary information to make the calculations, contact the drive manufacturer for recommendations. Otherwise, you can make the calculations by using conservative figures for head-switch and track-to-track access times. If you are unsure, just as with interleaving, it is better to be on the conservative side, which minimizes the possibility of additional rotations when reading sequential information on the drive. In most cases, a default head skew of 2 and a cylinder skew of 16 work well.

Because factors such as controller overhead can vary from model to model, sometimes the only way to figure out the best value is to experiment. You can try different skew values and then run data-transfer rate tests to see which value results in the highest performance. Be careful with these tests, however; many disk benchmark programs will only read or write data from one track or one cylinder during testing, which totally eliminates the effect of skewing on the results. The best type of benchmark to use for this testing is one that reads and writes large files on the disk.

Most real (controller register level) low-level format programs are capable of setting skew factors. Those programs that are supplied by a particular controller or drive manufacturer usually are already optimized for their particular drives and controllers and may not allow you to change the skew.

Notice that most IDE and SCSI drives have their interleave and skew factors set to their optimum values by the manufacturer. In most cases, you cannot even change these values; in the cases in which you can, the most likely result is a slower drive. For this reason, most IDE drive manufacturers recommend against low-level formatting their drives. With some IDE drives, unless you use the right software, you might alter the optimum skew settings and slow the drive. IDE drives that use zoned recording cannot ever have the interleave or skew factors changed, and as such, they are fully protected. No matter how you try to format these drives, the interleave and skew factors cannot be altered. The same can be said for SCSI drives.

Shock Mounting

Most hard disks manufactured today have a shock-mounted HDA, which means that a rubber cushion is placed between the disk drive body and the mounting chassis. Some drives use more rubber than others, but for the most part, a shock mount is a shock mount. Some drives do not have a shock-isolated HDA due to physical or cost constraints. Be sure that the drive you are using has adequate shock-isolation mounts for the HDA, especially if you are using the drive in a portable PC system or in a system in which environmental conditions are less favorable than in a normal office. I usually never recommend a drive that lacks at least some form of shock mounting.

Cost

The cost of hard disk storage recently has fallen to 4 cents per megabyte or less. You can purchase 8GB drives for under $300. That places the value of the 10MB drive that I bought in 1983 at about $0.40. (Too bad — I paid $1,800 for it at the time!)

Of course, the cost of drives continues to fall, and eventually, even 4 cents per megabyte will seem expensive. Because of the low costs of disk storage today, not many drives that are less than 1GB are even being manufactured.

Previous Table of Contents Next