[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Vista Support Software
Vladimir Ivanov wrote:
Ok, we're quite OT now. :-)
On Mon, 30 Apr 2012, Michael J. Mahon wrote:
Vladimir Ivanov wrote:
The really sad thing is that the single byte XOR checksum of the
sector data is simply not enough. When there is a source of noise
(including unreliable data and/or reading process) it is so easy to
get "good" sector which is actually garbage, that it's not even funny.
This is certainly true when the channel is perturbed by random noise.
Fortunately, when a sector is being mis-read due to marginal head
positioning, speed, or very localized media problems, the perturbation
is not random, and the checksum is relatively strong when combined
with field delimiter checks. Put another way, most I/O errors result
in relatively stable (wrong) checksums, not equidistributed checksum
values.
If one were reading a sector which had weak or non-existent recording
over many nibbles, or an equivalent duration of loss of media contact,
then I would expect to see "noise-like" checksums, otherwise, I would
not expect much nondeterminism in the read channel.
Do you have any statistics on mis-reads (of once-valid sectors) that
resulted in good checksums?
From distant usage in the past, copying a disk with errors might still
fail even if copious amounts of retry and (desperate) manual
intervention somehow led to correct checksum for a single revolution.
True--and the more errors there are within a sector, the more
"noiselike" they become in their effects.
Clearly, the relatively weak checksum is intended to work for
a relatively reliable read channel--which is the norm for the Disk ][.
From recent experience extracting image data directly from raw RD
signal, mispositioning the head enough (i.e. crosstalk) and proper phase
of Moon results in morphing of sector data between two stable states
with their correct checksums over many revolutions, only one of which is
the proper. That with correct field markers. I have a log warning for
this type of event (changed sector data) and I've seen it, to my
surprise, more than I expected.
This is quite unusual, particularly for the delimiters to line up,
given the desynchronized soft sectoring from track to track. In fact,
just the normal speed fluctuations would make it all but impossible
to write two adjacent tracks that maintained delimiter sync.
It would be interesting to write sectors with a longer (internal)
checksum, then perturb head loading, speed, and alignment and see
what fraction of "good reads" resulted in corrupted data. My purely
anecdotal evidence is that this is quite rare.
The XOR checksum is only 6 bits per 342 nibbles. Quite non-linear for a
simple analysis, including the sequencer rule for MSB=1, but obviously
very little in terms of data excess.
There's also the sparse nature of the nibble -> 6-bit decode table and
whatever is stuffing the "invalid" but possible 128-64=64 entries is
just making this more mind-boggling. :-) IIRC, although the table might
have indication for incorrect nibbles in the stuffing, the tight loop of
RWTS cannot have the luxury of checking it.
Right--though I wonder if two cycles could be found for a conditional
branch... ;-) Maybe instead of a counted loop, the loop should be
terminated by a delimiter nibble, a special case of which is the
error case...
Come to think of it, the decades-long experience of Apple II users,
in which the Disk ][ performed as a robust storage medium, confirms
that the one-byte checksum, plus field delimiter checks, delivered
excellent reliability at very low computational cost. If this had
not been the case, the Apple II would have acquired the reputation
of an unreliable computing platform.
My point was totally from archival point of view - the uncertainty that
an image is really done "right" by automated means when the media is 30+
years old and close to extinction. Even if one has two or more physical
copies of the media, they're possibly distinct enough to be useful for a
naive bit comparison.
True. And I agree that severly degraded recordings violate the
assumptions of the Disk ][ error checking strategy. Whenever a
lot of retries are needed to achieve a "good" read, manual
inspection should be done to check for reasonable data, with
comparison to another disk being the gold standard.
-michael
NadaNet 3.1 for Apple II parallel computing!
Home page: http://home.comcast.net/~mjmahon/
"The wastebasket is our most important design
tool--and it's seriously underused."