• Please review our updated Terms and Rules here

Interleave factor for original PC XT?

mbbrutman

Associate Cat Herder
Staff member
Joined
May 3, 2003
Messages
6,419
Does anybody know what the optimal interleave factor is for an original PC XT? This one has a Xebec controller with a full height 10MB hard drive.

I know that it can't do 1:1. I'd like to avoid low level formatting and experimenting and just get the number right the first time.

I did format once with a factor of 3, and Gibson's SpinTest reported 19 revolutions to read a track. That sounds awful, but the documentation says it is not uncommon.



Mike
 
I suggest using calibrat.exe from Norton Utilities 6.0 - displays optimal interleave, and allows to reformat HDD to new interleave without losing data.
 
What is an interleave? I have herd the term used but don't know what it is or means?

Interleaving in computer science is a way to arrange data in a non-contiguous way in order to increase performance.

It is used in:

* time-division multiplexing (TDM) in telecommunications
* computer memory
* disk storage

Interleaving is mainly used in data communication, multimedia file formats, radio transmission (for example in satellites) or by ADSL. The term multiplexing is sometimes used to refer to the interleaving of digital signal data.

Interleaving is also used for multidimensional data structures, see Z-order (curve).

http://en.wikipedia.org/wiki/Interleaving
 
Norton 6 or SpinRite are not in my toolbox .. just DOS 3.3 and DEBUG.COM

Does anybody know what the number should be, other than for just brute force experimentation? I would pick up a copy of Norton or SpinRite, but it's a one time use ... (Well, maybe 2 or 3 times.)
 
6 was the number that immediately popped into my head. Can I back it up with a googled URL? no. I did own a 1985 clone with a $1500 external 20MB drive. I "nortoned" that thing to death before the hard drive got real flaky a few years later. It would do the "let me warm up for 20 minutes before you write on me" thing. Otherwise, after it warmed up, you couldn't read the cold written stuff anymore.
 
Hard disk interleave is basically a function of low-level format. Assume a standard MFM drive with 17 sectors. Instead of ordering them on the disk as:

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

The problem is that if a program (or DOS) can't get around quickly enough to read sector 2 after it's read sector 1, a whole revolution must be wasted before sector 2 comes around again. So reading 17 sectors would take 17 revs.

Suppose we ask the (low-level) format program to write sector addresses in the following order:

1,10,2,11,3,12,4,13,5,14,6,15,7,16,8,17,9

Then we have a sector's worth of grace between each consecutive sector and we can read the whole track in 2 revs.

If that's not enough, we could format the track like this:

1,7,13,2,8,14,3,9,15,4,10,16,5,11,17,6,12

And take 3 revs to read the track.

There's another aspect, called "skew" that offsets the start of each track on a cylinder from the next. Taking the 3:1 interleave pattern above, we could format the next track as:

2,8,14,3,9,15,4,10,16,5,11,17,6,12,1,7,13

Which would give us a little more time between track switches. We can also do the same thing when switching cylinders.

The optimum interleave is a function of the CPU, controller and the programs doing the I/O.

I'd start with 6:1 and then work down from there. At some point, the time to read a track will take a sudden jump upwards, so you'd back off one from there.

A number of packages such as SpinRite can perform limited interleave optimization, but a lot depends on the program that will be doing the reading.

It's also possible to use software to interleave by having the disk driver perform a table lookup using the logical sector number to see which physical sector number needs to be read to maintain an interleave. This is often used on CP/M floppies, but not often seen in DOS.
 
The magic 6 number pops into my head too ... I've read somewhere that it is the value that IBM used in the Advanced Diagnostics routine that low level formats the drive. And knowing IBM, 6 was too conservative.

It looks like that unless I get SpinRite or Norton 6 I'm just going to have to spend an hour or two experimenting.
 
From Mueller's Upgrading & Repairing PCs (first edition):

"If you have a standard IBM XT or AT system with a hard disk, the standard interleave used in these systems was 6 to 1 for the XT and 3 to 1 for the AT. After thorough examination of these systems and controllers, I have found that the best interleave possible for these systems is actually one lower in each case."

Expanding a little, he then quotes the Xebec 1210 controller for the XT, and the WD1002 and WD1003 controllers for the AT (6 and 8 MHz ATs).
 
I've got the 11th edition of the MH book.

I did some technical editing for the OMH/Dvorak book series back in the late 80's/early 90's (easy way to pick up extra cash). Al Glossbrenner did a thick book called "Glossbrenner's Hard Disk Handbook". Although I worked on it, I can't say that I thought it was comprehensive. Like much of the Dvorak series, a lot of filler.

The best detailed tutorial that I know of from that time is "Hard Disk Secrets" by John Goodman (IDG, 1990). Mentions the MH book as a good reference for specific drives. Foreward by Steve Gibson. Well worth having.

I've also got Corporate Systems Center's "Hard Drive Bible", 8th edition from 1996. Low on technical detail, but encyclopedic on practical drive details, jumper locations, etc. I think I also have the CD-ROM version of the HDB somewhere...

Of these, only the Goodman book occupies a spot on my bookshelf. The others are stashed away out of sight. To be honest, the best part of a lot of the DOS-era books was the box they came in.
 
From Mueller's Upgrading & Repairing PCs (first edition):

"If you have a standard IBM XT or AT system with a hard disk, the standard interleave used in these systems was 6 to 1 for the XT and 3 to 1 for the AT. After thorough examination of these systems and controllers, I have found that the best interleave possible for these systems is actually one lower in each case."

Expanding a little, he then quotes the Xebec 1210 controller for the XT, and the WD1002 and WD1003 controllers for the AT (6 and 8 MHz ATs).

Ok - that's what I'm looking for then. I'll benchmark what I have (interleave of 6) and then try an interleave of 5 to see what difference it makes.


Mike
 
Does anybody know what the optimal interleave factor is for an original PC XT? This one has a Xebec controller with a full height 10MB hard drive.

I know that it can't do 1:1. I'd like to avoid low level formatting and experimenting and just get the number right the first time.

I did format once with a factor of 3, and Gibson's SpinTest reported 19 revolutions to read a track. That sounds awful, but the documentation says it is not uncommon.

I believe the default value is 6:1 but that is not always optimal for that card and drive. Spinrite or Norton's Calibrat can test and reformat, and they usually find that something like 4:1 is better.

If it's taking 19 revs, it's totally the wrong interleave. You could get a 300% speed boost with the right one.
 
Back
Top