![]() That means that the error is in A,B,C,D, or E and it also means that F and G are correct. So now let's consider the case if E fails its parity check. But, to some degree, it doesn't matter whether we can tell which parity bit has the error because we have already determined that what we care about, the data, is correct. ![]() But one of them will pass and the other won't - the one that doesn't pass is the one with the error. Now, if we have a one bit error but it passes the parity test on E, we know that the four data bits are correct but we don't know if the error is in F or G. But we can't tell which one has the error.īut what if we added another bit that covered A and C (as well as itself)? Call this bit G. If it doesn't pass E and it does pass F, then the error must be in C, D, or DB because those are the only two bit positions that would cause it to fail both. But we can't tell which one has the error. But we don't know which.ĭ it doesn't pass F, then the error must be in A or B because those are the only two bit positions that would cause it to fail both. If the parity check on F fails, then we know that either A or B is incorrect (remember, we already know that F, itself, is correct). If the parity check on F passes, then we know that A and B are correct, so the error has to be in C, D, or E. But since there is only a single bit error, F has to be correct. If it doesn't pass E then the error is in A,B,C,D, or E. If it passes the parity test on E, then the error has to be in F because that's the only place where a 1-bit error could occur and let E pass. Now let's say that the received codeword has a one bit error (and never forget that the error could be in one of the parity bits). But I have no way to know which of the five bits have the error.īut what if I had a second parity bit that only covered bits AB and itself. I can detect any single bit error because the parity will not work out. Now let's add a single parity bit, E, that forces the overall parity to be even. You'll see it's actually pretty straight foward. In this project, we will use even parity. The other bits in the SCSI bus are for bus arbitration, synchronization, power management, etc. Wide SCSI contains a 68bit bus however for the sake of simplification we are only concerned with the data bits. As a Design Engineer you have been requested to create system for the transmission of these 8-bit packets from an I/O Controller to Memory using Error Correcting Code over 12-bit data bus line. As the speed of processors and electronic communications increases, these parity flips become more prevalent and the inability to detect when these errors occur can be fatal. The data transfers at higher rates can result in random-noise pulse changes from a 0 to 1 and 1 to a 0. Consider the Wide Ultra4 SCSI which transfers data packets in 16-bitīursts at 160 MHz with a maximum throughput of 320 MB/sec. They are also the standard disks in Macintoshes and Higher-end Intel PC's, especially network servers. SCSI disks are the standard disks in most Unix Workstations from Sun, HP, SGI, and other vendors. The predominant storage inside a computer systems are on disks drives. Please try to find and post the specifics ECC generation requirements you are working against. But I can pretty much guess how your ECC is constructed and it is pretty similar. Each parity bit is the parity taken over all of the data bits that have a 1 in the same position as the parity bit.īut that can't be the code you are using because you have eight data bits and four checksum bits and that doesn't fit the Hamming model. If it has more than one 1 in it, then it is a data bit. If a position only has a single 1 in it, then that is one of the parity bits. Number the n bit positions 1 through n and express them in binary: One common code, the Hamming code, works basically as follows: You need information about the specific subsets that are to be used. Each of the k checksum bits is the parity of some specific subset of the other bits.īut there are numerous possibilities for how to set up the subsets, and so there are numerous possible ECC codes that can be set up this way. There isn't enough information given to implement an ECC generator.īasically you are working with an ECC that is structured as follows:Įach n-bit codword contains (n-k) data bits and k checksum bits.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |