On 02/16/2014 02:50 PM, Tony Duell wrote:
Just curious as to what the expert opinion is on this - I've got a
ST412-type drive here (it's a Miniscribe with 615/4/17 ~20MB geometry)
which refuses to read from cylinders 128-255 or cylinders 384-511 - giving
address mark not found errors - although cylinders outside those two ranges
are fine.
The way the faults lie exactly within a couple of specific bit patterns
(01xxxxxxx and 11xxxxxxx) for the cylinder number makes it seem more like a
controller problem to me - but I don't know how much logic there is on a
ST412-type drive, what with the buffered seek ability.
My first guessis that for some reason the controller is losing the 128's
bit from the cylidner register and is, in fact, goign to the wrong cylinder.
Right... although as Tom suggests, my understanding (possibly erroneous) is
that the address marks are a little more low-level than the sector address
information - and if it was finding data, but confused about what cylinder
it was on, I'd perhaps expect a higher-level "sector not found" or read
error.
I'll have a look at the firmware listing for the IBM boards; although this
particular card has Mitsubishi firmware, I expect that behaviour upon error
is probably similar, so maybe I can deduce what might be causing it from there.
A couple of ideas :
Is there a command that will read the sector headers fro mthe currnet
cylinder? If so, seek to cylinder 128, say, and red the headers to see
wht cylinder iut is acutally on.
Not that I know of - at least at the BIOS level - there's an explicit seek,
and then a read which takes cylinder information as part of the parameters.
I'll look at the controller docs though, as perhaps they provide a little
more flexibility.
Seocndly, is any part of the positioner mechanism
visible outside the HDA
(some drives had a 'flag' and optoswitch on the stepper spindle for the
track 0 posiiton sensor, this 'flag' moves as the heads seek. If so, then
seek to cylinder 127, then seek to cylinder 128. If the positioner moves
a fair distance -- and in the wrong driection -- you will know something
is up.
Oh, that's a great idea - thanks. Yes, the drive has a horizontal stepper
for the positioner, with an external interrupter for track 0 detection, so
it'll be easy to see if it does anything unusual around the problem cylinders.
This sounds much more like a controller than a drive
problem to me.
Yes, it did to me too - but I wasn't certain about how much intelligence
the drives contained regarding keeping tabs of what cylinder they were on.
cheers
Jules