Write precompensation

Write precompensation (abbreviated WPcom in the literature) is a technical aspect of the design of hard disks, floppy disks and other digital magnetic recording devices. It is the modification of the analog write signal, shifting transitions somewhat in time, in such a way as to ensure that the signal that will later be read back will be as close as possible to the unmodified write signal. It is required because of the non-linear properties of magnetic recording surfaces.

A higher amount of precompensation is needed to write data in sectors that are closer to the center of the disk. In constant angular velocity (CAV) recording, in which the disk spins at a constant speed no matter where the data is written, the sectors closest to the spindle are packed tighter than the outer sectors and so require a slightly different timing to write the data in the most reliable way. CAV recording is used by most floppy disk systems and by older hard disk systems; the term CAV is not applicable to non-circular media, such as magnetic tapes. On magnetic tapes, precompensation is usually constant throughout the tape.

History
In the past, one of the hard disk parameters stored in a PC's CMOS memory was the WPcom number, a marker of the track where stronger precompensation begins, i.e. the transitions are shifted further in time. This was needed by the old MFM and RLL hard disk controllers in common use until the early 1990s. These controllers were usually housed on plug-in cards which could be plugged into the mainboard of the computer; in any case, they were external to the actual drive and could deal with many different drives; thus they needed to be told some parameters about the particular drive type in use by the computer. One of these parameters was the WPcom number. This scheme allowed only two different precompensation strengths per disk, a lower one for the outer tracks and a higher one for the inner tracks, however this was enough for the simple low capacity drives of those days.

Current use
All hard disk types in common use after the early 1990s have a drive-specific controller built into the actual drive enclosure. This includes all IDE, SCSI, SATA, and SAS hard drive types, among others. Those internal controllers know everything they need to know about their specific drive, including which strengths of precompensation are needed on which parts of the disk. Therefore, they ignore any WPcom numbers stored in the computer's CMOS memory. Until the late 1990s, many PC BIOS setup programs still allowed the user to set WPcom numbers and other drive parameters for use with older hard disk types should the need arise; it wasn't always made very clear to the user that his more modern drive would almost certainly ignore the setting.

Since then, the WPcom number is no longer even offered as a BIOS setting any more, as it has become a fully automated and internally handled feature of disk drives.

Floppy disk controllers still need to deal with precompensation, but since there have never been more than five or six common floppy drive types in use on PCs, all of which need the same kind of precompensation, there was never a need for a BIOS setting concerning precompensation on floppy disk drives.