ecc flash samsung c code
year said:
Hello Yager,
It is very helpful for me.
I have tested it.
One bit error can be fix: OK
Two bit error is detected : OK
But more bits are not exact.
(Source is limited to two bits as my test.....)
Does anybody try to test this ?
(Three or Four bit error........)
The reason people choose a Hamming code is that it's simple (i.e. easy to implement), and very effective in a situation where:
a) 1-bit errors are most common, 2-bit less, 3-bit (and more) effectively non-existent
b) You accept that if more than two errors occur, you are stuffed, but by (a), this is very very rare.
So, if you put more than 2 errors into Hamming-protected data, it will either a) tell you (wrongly) the data is OK, or b) correct (wrongly) only one bit (probably the wrong one) and tell you everything is OK, or c) warn (incorrectly but usefully) that 2 bits are corrupt.
You could use a different scheme which gives more protection, but this will impose correspondingly more overhead on efficiency, because more protection bits are needed and more processing is needed to detect/correct errors.
However, exactly the same applies to any FEC (forward Error Correction) scheme, just with different levels for bit errors corrected, bits errors detected, and errors spuriously ignored/corrected/reported.
As in most things in life, you get what you pay for; put in lots of protection bits and processor power and you will get better protection. Note, however, that no scheme over a lossy channel can *guarantee* perfect data transmission, although with bidirectional channel (like TCP/IP) you can get pretty good quality even over poor connections.
HTH
barny