Tim's own version of the Catweasel/Compaticard/whatever

From: Pete Turnbull <pete_at_dunnington.u-net.com>
Date: Fri Jul 7 01:44:02 2000

On Jul 6, 15:54, Dwight Elvey wrote:
> mann_at_pa.dec.com (Tim Mann) wrote:
> >
> > Another neat trick might be to notice when there is a CRC error and/or
> > a clock violation, and in that case backtrack to a recent past decision
> > where the second most likely alternative was close to the most likely,
> > try it the other way, and see if the result looks better. Obviously
one
> > can't overdo that or you'll just generate random data with a CRC that
> > matches by chance, but since the CRC is 16 bits, I'd think it should be
> > OK to try a few different likely guesses to get it to match.

> CRC's are quite good at fixing a single small burst.

Dwight, I think you're confusing CRC (Cyclic Redundancy Check) with ECC
(Error Correction Code). CRC is very good at detecting errors, including
bursts of errors that might slip by simpler checks, but AFAIK tells you
next to nothing about where they occurred. ECC tells you enough to correct
small errors. I've not heard of anyone using CRCs for correction (not
directly, anyway).

> As I recall,
> CRC32 can fix a single error burst up to 12 bits long. The
> error correcting method is based on the cycle length of the original
> polynomial relative to the length of the data block. What this
> means is that if you have a burst longer than 12 bits, it is
> more likely that the errors will appear to be outside the data
> block than within the data block.

Although disks use the V41 polynomial (X^16 + X^12 + X^5 + 1) not CRC32.

> All errors that happen
> within a 12 bit window are 100% correctable.

Depends how large the data covered by the check is. For amounts of data
larger than a certain size (dependant on the number of check bits and the
algorithm used) there are several errors that will produce the same change
in the ECC or CRC. So the window size is meaningless unless you also
specify the data size and number of check bits.

-- 
Pete						Peter Turnbull
						Dept. of Computer Science
						University of York
Received on Fri Jul 07 2000 - 01:44:02 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:32:56 BST