1

In reading about the geometries and layouts of different disks and filesystems in various OSes, or at least floppies from the late '70s through the mid '90s where I was focusing, I noticed the terms "skew" and "interleave" are both used to refer to something like the difference between the physical order of sectors on a disk and their logical numbering, in cases where those are not the same.

But it's very rare that both terms are mentioned in the same place and contrasted or clarified.

For instance, I was getting the impression that "skew" was the more common, modern, or standard term but there's a Wikipedia article on sector interleave, and it doesn't use the word "skew" even once. Conversely, the Wikipedia article "cylinder-head-sector" does mention "skew" but the word "interleave" is not used at all.

At first I thought they might be different words for the same thing, but then I wasn't so sure. Maybe "interleave" is to spread reads and writes around the whole disk to avoid concentrating on one area given that the disk is spinning, whereas "skew" is about tuning sector numbers so that when the head has finished reading or writing a sector, and the processing that goes with it, the sector where the head then is located will be the next one needed in sequence.

Is that partly right or totally off? It seems that it wouldn't really make sense to use both interleave and skew together if this is the difference. Is that a correct assumption or not?

3
  • 1
    Yes, "skew" and "interleave" are two terms for the same thing, and what you describe after "skew" is the reason to use it.
    – dirkt
    Commented Jun 21, 2020 at 13:48
  • Googling for "sector skew" seems to indicate that the term was used in the CP/M community, and I'd guess "interleaving" was probably IBM terminology for the same thing.
    – telcoM
    Commented Jun 21, 2020 at 14:24
  • @telcoM: I mainly touched on CP/M layouts on the Amstrad and Sinclair Spectrum, which didn't seem to use sector skew. But those were note native CP/M systems and I didn't look into their implementations of CP/M. As for the IBM PC, it was the one system from the era that didn't interest me. The first system I ran into logical sector numbering was the Apple II whose two DOSes numbered the sectors in different ways. Commented Jun 21, 2020 at 14:38

1 Answer 1

4

"Interleave" refers to the ordering of sectors on the same track. In the olden days, processing a read sector took so much time that the start of the next sector on the track would already have passed the read/write head by the time the processor came back to look for it, so it had to wait an entire disk revolution to see it again. So sectors where ordered alternatingly like 1 - 14 - 2 - 15 - 3 - 16 - ... giving the processor the time to process sector 1 while sector 14 flew by and finishing in time for sector 2 to arrive. If this interleave factor of 2 wasn't enough you could go to interleave factor 3 (1 - 10 - 19 - 2 - 11 - 20 - ...) giving two sectors' time for the processing of one sector, and so on.

"Skew" refers to the placement of sectors on adjacent tracks. When reading data sequentially and reaching the end of one track, the stepper motor would move the read/write head to the next track. Ideally, the first sector of the new track should arrive under the head just when it had settled on that track. To achieve this, sector 1 of each track would not be placed at the same angular position, but skewed from one track to the next by the angle the disk would advance in the time the head needed to step from one track to the next.

1
  • Ah that makes sense! Commented Jun 21, 2020 at 14:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .