Photo: Red Hill.

MFM and RLL

Most hard drives of the pre-IDE period used MFM (Modified Frequency Modulation) encoding. Floppy drives still do. MFM was not the only twin-cable hard drive interface though: aside from its close relative RLL, there was also the now long forgotten high-end competitor to SCSI, EDSI.

MFM was relatively simple to implement, and quite robust. RLL (Run Length Limited) encoding used the same electrical interface and cables but a different data format (much as Morse Code and Baudot code are different). An RLL format squeezes the information more tightly onto the disc and increases the effective areal density by 50%.

So a 10MB MFM drive, if formatted with an RLL controller, could now store 15MB, and can be up to 50% faster too. Almost all MFM drives had 17 sectors per track, but RLL drives squeezed 26, or even 32 sectors onto each track. RLL did, however, require a very accurate drive mechanism.

Early attempts to increase speed and storage capacity by adding an after-market RLL controller to an MFM drive system often resulted in poor reliability. This gave RLL an undeserved bad name. Later on, many drive manufacturers introduced RLL certified models, and these were generally just as reliable as their cheaper, smaller MFM drives. (The Miniscribe 8438 is an example.)

Technically, however, there was no such thing as an 'RLL drive'. The drive type (MFM or RLL) was solely determined by the low-level format, and this in turn, depended on the drive controller card. In theory, any ST-506 (two-cable) drive could be formatted with either an MFM or an RLL controller. Not many early drives, however, were capable of taking an RLL format reliably.

All the more modern drives used an embedded controller (usually IDE or SCSI), which is built into the drive itself. The card we used to call a 'controller card' and plug into IDE-equipped 386 systems was actually just an interface between the drive controller proper (on the actual drive) and the PC bus. It should really have been called a 'host adaptor'. (Since late 486 days, this is integrated into the motherboard and it is unusual to have an IDE host adaptor as a separate, plug-in component.) Until the advent of PRML in the mid-1990's, all IDE and SCSI drives actually used RLL encoding internally. IDE and SCSI drive electronics are 'smart' enough to take care of encoding in such a way that we no longer need to know the details.