Re: Crc16 on power failure



On 23 Jan 2007 11:20:56 -0800, "Arlet" <usenet+5@xxxxxxxxxx> wrote:

*Any* 16-bit checksum will catch 99.998% (65535/65536) of random,
uncorrelated errors , so you might as well pick one that's easy to
calculate, such as simply summing/XOR'ing 16-bit words. This has the
added advantage that you can quickly update your checksum when only
changing one variable. Simple summation will also catch many of the
burst errors (it's easy to see that all bursts within a single 16-bit
memory word are caught).

OK, I think I see your point now. For random errors that may occur
"far apart" in memory, making the burst length very long, even a
checksum will be as good as a CRC-16.

OK, but ... suppose I have a 16K memory and I swap data in the first
and last locations (and lets say they are not equal since that woud be
boring). Now I have a very long burst length of errors since the
first and last locations are wrong. Using a simple checksum will not
catch the error since all bytes are summed - there is no consequence
as to their location.

Depends on the size of the areas, and the chance that there's any
correlation. For example, if you have a 32KB memory chip, divided into
2x 16KB memory areas, and the MSB address line to your chip happens to
be broken, the two areas will always look the same.

I guess my brain was in the mode of serial and internal memories where
address and data lines are not an issue.
.



Relevant Pages

  • Server Reboots BugCheck 50
    ... Loading Kernel Symbols ... Invalid system memory was referenced. ... Timestamp: unavailable ... Checksum: 00000000 ...
    (microsoft.public.windows.server.general)
  • Re: cardbus driver
    ... NTOS on x86 system. ... can do a memory read multiple or memory read line? ... you are not going to see a burst read because: ... PCI memory-mapped registers are non-cacheable since PCI 2.2 (cacheable is ...
    (microsoft.public.development.device.drivers)
  • BSOD by atapi.sys , process_name: Idle
    ... Memory dump gives me the report below. ... Frame IP not in any known module. ... Timestamp: unavailable ... Checksum: 00000000 ...
    (microsoft.public.windowsxp.hardware)
  • Re: [PATCH 0/4] ksm - dynamic page sharing driver for linux
    ... memory, ksm do it dynamicly after the memory was created. ... The sharing is unnoticeable by the process that use this memory. ... To find identical pages ksm use algorithm that is split into three ... Ksm will start scan the memory and will calculate checksum for each ...
    (Linux-Kernel)
  • Re: 2.6.19: ACPI reports AC not present after resume from STD
    ... When reporting AC state ACPI just reads contents of system memory ... I updated mentioned bug report with more detailed ... Will the kernel allocate partial page or will the kernel ignore ... Mark e820 reserved memory areas as nosave for suspend/resume ...
    (Linux-Kernel)