Interleave

Interleave (zu deutsch Verzahnung) gibt die physische Anordnung der Sektoren auf einer Spur an und dient zur Reduzierung der Zugriffszeit. Wenn die Sektoren aufsteigend angeordnet sind, passiert beim sequenziellen Lesen von mehreren Sektoren folgendes: Wenn der erste Sektor gelesen wurde, muss der Floppy Disk Controller zum Lesen des zweiten Sektors neu programmiert werden. Vielleicht muss auch noch etwas mit den gelesenen Daten getan werden. Während dieser Zeit wird der zweite Sektor am Lesekopf vorbei sein, so dass nun fast eine ganze Diskettenumdrehung gewartet werden muss, bis der Sektor wieder gelesen werden kann. Wenn nun aber zwischen zwei nacheinander zu lesende Sektoren noch andere Sektoren plaziert wären, ergäbe das eine Zeit, in der der Floppy Disk Controller umprogrammiert werden kann. In der Folge würde der nächste Sektor noch in der gleichen Diskettenumdrehung gelesen werden können. Und genau das wird mit Interleave erreicht.

Interleave gibt an, nach wieviel physischen Sektoren der Sektor mit der nächst höheren logischen Sektornummer kommt. Bei einem Interleave von 1:1 sind die Sektoren aufsteigend angeordnet, d.h., sie sind nicht miteinander verzahnt. Es liegt also kein Interleave vor. Bei 2:1 liegt jeweils ein Sektor dazwischen, bei 3:1 sind es zwei usw. Die Tabelle zeigt die physische Sektoranordnung bei 5 und 9 Sektoren pro Spur:

Interleave Sektoranordnung bei 5 Sektoren pro Spur Sektoranordnung bei 9 Sektoren pro Spur
1:1 1 2 3 4 5 1 2 3 4 5 6 7 8 9
2:1 1 4 2 5 3 1 6 2 7 3 8 4 9 5
3:1 1 3 5 2 4 1 4 7 2 5 8 3 6 9 ¹
4:1 1 5 4 3 2 1 8 6 4 2 9 7 5 3
5:1 nicht relevant 1 3 5 7 9 2 4 6 8
6:1 nicht relevant 1 4 7 3 6 9 2 5 8 ¹
7:1 nicht relevant 1 5 9 4 8 3 7 2 6
8:1 nicht relevant 1 9 8 7 6 5 4 3 2

¹) In diesen Fällen ist ein exakt gleicher physischer Abstand zwischen zwei logisch zusammenhängenden Sektoren nicht vollständig möglich.

Das Interleave-Verhältnis gibt implizit auch an, wieviel Diskettenumdrehungen zum sequenziellen Lesen aller Sektoren einer Spur notwendig sind. Bei einem Interleave von 1:1 reicht theoretisch eine Diskettenumdrehung aus, bei 2:1 sind zwei und bei 3:1 drei Diskettenumdrehungen notwendig. Je kleiner das Interleave, desto kürzer ist die Zugriffszeit. Wenn aber das Interleave zu klein gewählt wird, hat es gar keine Wirkung, denn dann muss pro Sektor jeweils eine ganze Diskettenumdrehung gewartet werden. Je größer das Interleave, desto geringer ist zwar die Wirkung, aber desto sicherer ist, das es überhaupt eine Wirkung hat. Das optimale Interleave-Verhältnis hängt von verschiedenen Faktoren ab wie z.B. der Geschwindigkeit des Rechners und der konkreten Implementierung der Lese- und Schreib-Routinen. Aus diesem Grund erzeugen die jeweiligen Formatierprogramme auch bei sonst gleichen Diskettenformaten unterschiedliche Interleave-Verhältnisse.

Im JKCEMU können Sie ein Interleave beim manuellen Erstellen einer Diskettenabbilddatei angeben. Die physische Sektoranordnung sehen Sie im Diskettenabbilddatei-Inspektor. Eine Auswirkung auf die Zugriffszeiten hat es aber im Emulator nicht.