Re: Ecc Size
- From: David Tweed <dtweed@xxxxxxx>
- Date: Tue, 30 Aug 2005 00:39:01 GMT
"Rufus V. Smith" wrote:
> Remember, when using an ECC code, the number of bits must be
> twice as large as the number of bits required to provide a
> "bit address" of a single bit error.
Not quite. You've got the general idea, but you're misremembering
some of the details.
Hamming code requires enough ECC check bits to count all of the
bits in both the data and the ECC itself plus 1. For example,
6 check bits can protect up to 57 bits of data. 58 through 120
bits of data requires 7 check bits, etc.
Hamming code can correct a single-bit error, but can't distinguish
multi-bit errors, treating them as incorrect single-bit errors.
By adding just one more check bit, you can create a SECDED code
(single-error correcting, double-error detecting) which tends to
be much more useful. With this sort of code, you can protect
8 bytes (64 bits) of data with 8 check bits.
For more details, see problems #4 to #8 (particularly #5) on
this page:
http://www.circuitcellar.com/library/eq/179/index.htm
> 256 byte data (2048 bits) has a 22 bit ECC. 2048=2^11. 2*11=22
> 512 byte data (4096 bits) has a 24 bit ECC. 4096=2^12. 2*12=24
Actually, 512 bytes (4096 bits) can be protected with a 14-bit
SECDED code. But Hamming-based codes are less useful on large
blocks of data because the probability of multi-bit errors is
too high. It's better to switch to codes that work on multi-bit
symbols such as Reed-Solomon.
-- Dave Tweed
.
- Follow-Ups:
- Re: Ecc Size
- From: Rufus V. Smith
- Re: Ecc Size
- References:
- Ecc Size
- From: Gromer
- Re: Ecc Size
- From: Rufus V. Smith
- Ecc Size
- Prev by Date: Re: onboard EROM PXE programming in windows
- Next by Date: Re: MSP4530 and gdbproxy.
- Previous by thread: Re: Ecc Size
- Next by thread: Re: Ecc Size
- Index(es):