Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site eosp1.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!princeton!eosp1!robison
From: robison@eosp1.UUCP (Tobias D. Robison)
Newsgroups: net.micro
Subject: Re: Parity Checking
Message-ID: <1068@eosp1.UUCP>
Date: Fri, 17-Aug-84 12:49:25 EDT
Article-I.D.: eosp1.1068
Posted: Fri Aug 17 12:49:25 1984
Date-Received: Sat, 18-Aug-84 01:30:43 EDT
Organization: Exxon Office Systems, Princeton, NJ
Lines: 48

References:

Parity checking is a flawed feature of limited use unless you and
your system together can decide what an error means, and what to
do about it.  Here's a case in point:

	- You are editing a file, and it's been a while since your
	  last backup, when suddenly the dreaded parity error occurs.
	  Your data in memory is lost, and you must reboot.
	  And yet, the only thing that was wrong was that part of the
	  operating system needed for CRT output was bombed.  You
	  should have been able to store your document.  In fact, a
	  system without parity checking WOULD have let you store your
	  document.

Good parity checking requires the following:

	- The system will try to continue running after a parity
	  error.  It's your choice whether it should:
	    + just continue what you were doing
	    + execute routines in ROM designed to store data on disk
	      before rebooting.
	    + try to reload the erroneous data from disk and continue
	    + etc...

	- You and the system must be able to tell the difference
	between kinds of parity errors:
	   + to OSYS code
	   + to applications code
	   + to OSYS data
	   + to applications data.

	You want to try different things in these cases, and a good
	system will check ALL memory, tell you what problem(s) you
	have, and prompt with appropriate recoveries.

	 In general, you need a system that keeps data and instructions
	 separate, so you can distinguish the above cases.

Without the choices of recovery, you know that a parity error will ruin
your current work.  You don't know, however, that your current work is
accurate in the absence of a parity error; there may have been a memory
error not detected by parity checking; there may have been a bug;
you still have to do sanity checks to make sure your work is OK.

- Toby Robison (not Robinson!)
allegra!eosp1!robison
decvax!ittvax!eosp1!robison