Forums

Strategy to recover from checksum errors?

Started by Juergen Marquardt March 29, 2004
Hi,

trying to find some strategy to recover from checksum errors of my enbedded
systems SRAM.

Hardware useable in my hardware is
a) battery buffered static ram (SRAM, 128 kByte) and
b) battery buffered static ram (so called CMOS ram in clock chip, some 10
bytes) and
c) Compact Flash card (some MByte)

It is relatively easy to find out a sram area having been currupted by
calculating and comparing its crc checksum(s).

My goal is not only to detect these type of errors, but to repair these
errors.

Did someone implement a robust algorithm ?

Juergen


>It is relatively easy to find out a sram area having been currupted by >calculating and comparing its crc checksum(s). > >My goal is not only to detect these type of errors, but to repair these >errors.
See http://www.eccpage.com
Juergen Marquardt <marquardt@alc.de> says...

>My goal is not only to detect these type of errors, but to repair these >errors. > >Did someone implement a robust algorithm ?
Yes. http://www.google.com/search?q=%22hamming+code%22 -- Guy Macon, Electronics Engineer & Project Manager for hire. Remember Doc Brown from the _Back to the Future_ movies? Do you have an "impossible" engineering project that only someone like Doc Brown can solve? My resume is at http://www.guymacon.com/
On Mon, 29 Mar 2004 13:46:13 +0100, "Juergen Marquardt"
<marquardt@alc.de> wrote:

>Hi, > >trying to find some strategy to recover from checksum errors of my enbedded >systems SRAM. > >Hardware useable in my hardware is >a) battery buffered static ram (SRAM, 128 kByte) and >b) battery buffered static ram (so called CMOS ram in clock chip, some 10 >bytes) and >c) Compact Flash card (some MByte) > >It is relatively easy to find out a sram area having been currupted by >calculating and comparing its crc checksum(s). > >My goal is not only to detect these type of errors, but to repair these >errors. > >Did someone implement a robust algorithm ?
In general you cannot repair errors unless you can limit the scope of those errors. For example, many error correcting codes can repair burst errors of so many consecutive bits (which is typical of magnetic media). Others are targetted at single bit or small multiple bit errors (more typical of solid state memory). Before you start looking for error correcting codes, first consider if you can limit the possible errors. Any practical error correcting code will have possible errors that it cannot correct and perhaps cannot even detect. To correct any single bit error, you can use a parity bit for each word (regardless of word size) and an exclusive-or checksum of all the words involved. The parity bit tells which word is in error and the overall checksum tells which bit in that word is in error. But this method is easily fooled by larger errors. -Robert Scott Ypsilanti, Michigan (Reply through this forum, not by direct e-mail to me, as automatic reply address is fake.)
On Mon, 29 Mar 2004 13:46:13 +0100, the renowned "Juergen Marquardt"
<marquardt@alc.de> wrote:

>Hi, > >trying to find some strategy to recover from checksum errors of my enbedded >systems SRAM. > >Hardware useable in my hardware is >a) battery buffered static ram (SRAM, 128 kByte) and >b) battery buffered static ram (so called CMOS ram in clock chip, some 10 >bytes) and >c) Compact Flash card (some MByte) > >It is relatively easy to find out a sram area having been currupted by >calculating and comparing its crc checksum(s). > >My goal is not only to detect these type of errors, but to repair these >errors. > >Did someone implement a robust algorithm ? > >Juergen
Sure. The best method will depend on the nature of the errors. It's easy to detect and fix all single-bit errors, for example, using something like Hamming codes, but that's atypical of the patterns of corruption that I've seen in SRAM and EEPROM. Best regards, Spehro Pefhany -- "it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com
Juergen Marquardt wrote:

> Hi, > > trying to find some strategy to recover from checksum errors of my enbedded > systems SRAM. > > Hardware useable in my hardware is > a) battery buffered static ram (SRAM, 128 kByte) and > b) battery buffered static ram (so called CMOS ram in clock chip, some 10 > bytes) and > c) Compact Flash card (some MByte) > > It is relatively easy to find out a sram area having been currupted by > calculating and comparing its crc checksum(s). > > My goal is not only to detect these type of errors, but to repair these > errors. > > Did someone implement a robust algorithm ?
To start with, where do you expect errors to come from ? Radiation ? What flux of what particles ? Rene -- Ing.Buero R.Tschaggelar - http://www.ibrtses.com & commercial newsgroups - http://www.talkto.net