Prev: Protecting 3x16 bits with 16 bits ? (crc8 + 7 bit hamming code?)
Next: Draft paper submission deadline is extended: ISP-10, Orlando, USA
From: Skybuck Flying on 13 Feb 2010 23:16 Hello, I just had a better idea, since I forgot about the address check... Since a hamming code has a certain range I might as well use the full range to "ham" more bits ! ;) :) So there are 48 "gpu data bits" and the maximum addressing range is probably "16 bits" So that creates a total of: 48 true data bits + 16 artificial data bits, for a total of 64 bits to be "hammed" :) Including the extension bit for "double error detection" this leads to a perfect 8 bit code for the hamming code ! And thus the full 16 bits of additional space in the .w component can be fully used for maximum error checking: 8 bits for CRC8 + 8 bits for hamming code. The CRC8 could be done on full 64 bits, and/or maybe even the 8 bit hamming code for cross reference. The HAM8 could be done on full 64 bits, and/or maybe even the crc8. However this ofcourse can't be because this creates a little paradox... One or the other has to be done first ! ;) :) Maybe it's better to do the ham8 last, so it could correct the crc8 ? and then figure out if there was an error ? Or maybe the ham8 should only be done on the data bits... since correcting a crc8 doesn't seem that usefull ? actually it does some usefull for stronger error detection not so much error correction ;) :) Actually with ham8 it's possible to "ham" 120 bits or so ! So even more "artificial data bits" could be hammed ! :) However does that make sense... this "artifical address bits" ? How would that work... the cpu "pretends the data is there" and calculates the ham8's... and crc8's and then simply compares those to stored in memory... So I guess the actually address doesn't need to be stored in memory... to me it does seem to make sense ! ;) :) Well mabe I shouldn't over do it and add more bits to be hammed to the already 64 bits and maybe even 8 bits of crc32... so that would leave: roughly 120-72 = 48 bits or so for even more artificial data... Leaving some room in there could be good if the address range ever needs to be expanded... or something else needs to be in there... so for now I will let it be ! ;) :) Now me go investigate crc8 ! ;) :) Bye, Skybuck. |