Interleaving is a technique for speeding up access to sequential data on rotating magnetic media.
In the past, read or write speeds were often faster than the speed at which the data could be processed (reading) or delivered (writing). If the sectors had been arranged one after the other on the data media, the following sector could only have been processed after a complete revolution. However, if space is left between two logically consecutive sectors for "later" sectors, multiple sectors can be read in one revolution. The process is called Sector interleaving, or simply Interleaving.
There are two ways to express the number of sectors skipped:
- The Skip Factor indicates how many sectors must be skipped in order to get to the next sector to be read.
- The Interleave Factor (or just Interleave) indicates how many revolutions the disk stack has to perform in order to completely read a single data track.
While the Skip Factor is a positive pure number (0, 1, 2, ...), the Interleave Factor is usually given as a ratio, e.g. 2:1, or 3:1, meaning two respectively three revolutions are needed to read one data track.
The relationship between Skip Factor and Interleave Factor is simple:
Skip Factor = Interleave Factor - 1; e.g.: Interleave Factor = 3:1 => Skip Factor = 2
Examples for physical sector orders for an MFM disk with 17 sectors per track:
- Interleave 2:1: 1, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8, 17, 9
- Interleave 3:1: 1, 7, 13, 2, 8, 14, 3, 9, 15, 4, 10, 16, 5, 11, 17, 6, 12
Interleave Factors up to 4:1 were commonly used depending on controller capabilities.
The disk controller, not the disk, sets the interleave factor. Some controllers can optionally implement different interleave factors at will. Choosing a wrong interleave factor degrades read/write performance significantly. Changing the interleave factor requires a low-level format.