cctalk digest, Vol 1 #319 - 51 msgs

From: Johnny Billquist <bqt_at_update.uu.se>
Date: Sat Dec 14 12:04:00 2002

On Thu, 12 Dec 2002 ard_at_p850ug1.demon.co.uk (Tony Duell) wrote:


> > Huh? No. Actually, the data track itself is used as the servo signal. The
> > head centers in on the track by centering on where the amplitude is
> > strongest.
>
> Do you have any evidence for that?

Yup. I quote:
"1.3.3.2 Sector Format - As shown in Figure 1-3, each sector contains:

 * Servo information for head positioning
 * Head (address) information
 * Data - 128 words of 16 bits each, or
          256 bytes of 8 bits each, or
          170 words of 12 bits each

 Only the data portion can be written by the user. The servo and header
 information is protected by the drive logic and controller to ensure disk
 integrity and cannot be written in the field.

 Each sector starts with a sector pulse that is produced by a sector
 transducer mounted on the drive unit. It senses the sector notches that
 are machined into the hub of the disk cartridge.

 During the time that sector notch passes by the sector transducer, the
 heads detect two servo pulse bursts (S1 and S2) that are prerecorded on
 the platter. These servo bursts are used by the drive logic for head
 positioning."

Seems like there shouldn't be any argument about this. The RL drives have
the servo information embedded in the normal track.

> > seek to a track, you check the current track, calculate the track delta,
> > and request that of the drive. When the drive report ready you once again
> > check the track to see which one you actually are on. Hopefully it is the
> > right, but if not, do another seek.
>
> Incidentally, every drive I've ever worked on records the current track
> number in the header. Even drives (like the RK's) where you can command
> the drive to move to a given track. It is possible for the drive to get
> confused and think the heads are on a different track to the one that
> they actually are on. It's better to do a restore (seek to track 0 --
> something that is detected by a separate sensor) and re-seek to the
> desired track than to overwrite the wrong sector.

Eh. This is on most controller not something you check or take care about
in software, but hardware. When you specify to the controller (for
instance en RK11) that you want track 10, it both figures out how many
tracks the heads need to move, and in which direction. It then checks that
you really are at the right track, otherwise you get an error back.

The RL11 have no such sophistication. You request a head move, and the
drive hopefully does it, and then you can carry on with the next
command. There is no checking at all in hardware, except for moving
outside the data area, which just stops the heads at the end.

> > Correctly position the heads when you don't have a servo track, and the
> > heads are actuated by voice coils, means you cannot position the heads at
> > all.
>
> You _can_, but you need a specially-modified drive. You can't use the
> off-disk signals for position feedback. Instead you have to couple up
> some other kind of transducer to the positioner and use that. An optical
> interfereometertype thingy is the normal thing to use I believe.

Sounds like a probable setup, yes.

> Incidentally, RL's don't use a voice coil. It's a little DC motor and
> pulley mechanism.

Hmmm. I'm pretty sure it's voice coil. You want me to dig out that manual
too? :-)
I could also open up one of the many drives I have around me. The only
pulley I've ever seen is for the spindle. And one have even trashed on me.

> > Which no RL01/RL02 controller can do. There is no function to write sector
> > headers. So, in addition to finding another drive to be able to position
> > the heads, you need another controller, to be able to write the data.
>
> Getting round this is the easy part once you've got the drive to keep the
> heads in the right place. The RL controller is conceptually simple (and
> as you're only _writing_, you'd not need to bother with the PLL (used to
> produce a read clock) on the homebrew header-writter.

Well, now that I've pointed out that the servo information is also
expected to show up, and that the drive checks that, and the rest of the
information is constantly checked by the controller, it should be
appearant that it's not that easy. While the RL controller might be
conceptually easy, it's a rather complex thing as stuff normally done by
the drive on other subsystems are actually done by the controller here.

Basically, if you don't have the servo information correct on the platter,
the drive will signal errors to the controller, and the controller which
just miserably fail unless header infomration keep coming in when the
drive is running.

        Johnny

Johnny Billquist || "I'm on a bus
                                  || on a psychedelic trip
email: bqt_at_update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
Received on Sat Dec 14 2002 - 12:04:00 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:34:40 BST