Method and apparatus for error management
First Claim
1. A transmitter comprising for transmitting ECC encoded data:
- a parity generator for generating a set of at least six parity bits {P0, P1, P2 . . . P5} to protect a set of at least twenty four data bits {D0, D1, D2 . . . D23,} each parity bit having a parity bit position in said parity bit set, each data bit having a data bit position in said data bit set;
said parity generator calculating said parity bits as follows;
P5=D23^D22^D21^D19^D18^D17^D16^D15^D14^D13^D12^D11^D10;
P4=D23^D22^D20^D19^D18^D17^D16^D9^D8^D7^D6^D5^D4;
P3=D23^D21^D20^D19^D15^D14^D13^D9^D8^D7^D3^D2^D1;
P2=D22^D21^D20^D18^D15^D12^D11^D9^D6^D5^D3^D2^D0;
P1=D23^D22^D21^D20^D17^D14^D12^D10^D8^D6^D4^D3^D1^D0; and
P0=D23^D22^D21^D20^D16^D13^D11^D10^D7^D5^D4^D2^D1^D0.
2 Assignments
0 Petitions
Accused Products
Abstract
To derive a Hamming code to manage data errors a set of at least four parity bit positions is selected for parity bits which will protect a set of data bits (where each data bit has a data bit position in the data bit set). A syndrome is determined for each data bit position. This involves selecting a unique sub-set of at least three parity bit positions. The unique sub-set shares at least one parity bit position with at least one other unique sub-set of at least three parity bit positions. A parity bit value may then be calculated for each parity bit position based on the determined syndromes. The header of a packet may be provided with a word which defines the length of the packet and an error management code generated utilizing this word so that errors in the word may be detected and, possibly, corrected.
-
Citations
3 Claims
-
1. A transmitter comprising for transmitting ECC encoded data:
-
a parity generator for generating a set of at least six parity bits {P0, P1, P2 . . . P5} to protect a set of at least twenty four data bits {D0, D1, D2 . . . D23,} each parity bit having a parity bit position in said parity bit set, each data bit having a data bit position in said data bit set; said parity generator calculating said parity bits as follows;
P5=D23^D22^D21^D19^D18^D17^D16^D15^D14^D13^D12^D11^D10;
P4=D23^D22^D20^D19^D18^D17^D16^D9^D8^D7^D6^D5^D4;
P3=D23^D21^D20^D19^D15^D14^D13^D9^D8^D7^D3^D2^D1;
P2=D22^D21^D20^D18^D15^D12^D11^D9^D6^D5^D3^D2^D0;
P1=D23^D22^D21^D20^D17^D14^D12^D10^D8^D6^D4^D3^D1^D0; and
P0=D23^D22^D21^D20^D16^D13^D11^D10^D7^D5^D4^D2^D1^D0.
-
-
2. A receiver comprising:
-
a data decoder for decoding ECC encoded data comprising at least twenty four data bits and a plurality of provided parity bits generated using a parity bit generator, said decoder comprising a parity bit generator for calculating parity bits from said data bits; a syndrome calculator for calculating a syndrome (SYN) from said parity bits as calculated, and said provided parity bits; a syndrome decoder for determining an index value i from said syndrome (SYN); error correcting logic for correcting a one bit error in the ith position within said data bits; wherein said syndrome decoder decodes i=0 when said syndrome calculator calculates SYN=0x07;
i=1 when said syndrome calculator calculates SYN=0x0B;
i=2 when said syndrome calculator calculates SYN=0x0D;
i=3 when said syndrome calculator calculates SYN=0x0E;
i=4 when said syndrome calculator calculates SYN=0x13;
i=5 when said syndrome calculator calculates SYN=0x15;
i=6 when said syndrome calculator calculates SYN=0x16;
i=7 when said syndrome calculator calculates SYN=0x19;
i=8 when said syndrome calculator calculates SYN=0x1A;
i=9 when said syndrome calculator calculates SYN=0x1C;
i=10 when said syndrome calculator calculates SYN=0x23;
i=11 when said syndrome calculator calculates SYN=0x25;
i=12 when said syndrome calculator calculates SYN=0x26;
i=13 when said syndrome calculator calculates SYN=0x29;
i=14 when said syndrome calculator calculates SYN=0x2A;
i=15 when said syndrome calculator calculates SYN=0x2C;
i=16 when said syndrome calculator calculates SYN=0x31;
i=17 when said syndrome calculator calculates SYN=0x32;
i=18 when said syndrome calculator calculates SYN=0x34;
i=19 when said syndrome calculator calculates SYN=0x38;
i=20 when said syndrome calculator calculates SYN=0x1F;
i=21 when said syndrome calculator calculates SYN=0x2F;
i=22 when said syndrome calculator calculates SYN=0x37;
i=23 when said syndrome calculator calculates SYN=0x3B.
-
-
3. A system for managing data errors, comprising:
-
a transmitter comprising; a parity generator for generating a set of at least six parity bits {P0, P1, P2 . . . P5} to protect a set of at least twenty four data bits {D0, D1, D2 . . . D23}, each parity bit having a parity bit position in said parity bit set, each data bit having a data bit position in said data bit set; said parity generator calculating said parity bits as follows;
P5=D23^D22^D21^D19^D18^D17^D16^D15^D14^D13^D12^D11^D10;
P4=D23^D22^D20^D19^D18^D17^D16^D9^D8^D7^D6^D5^D4;
P3=D23^D21^D20^D19^D15^D14^D13^D9^D8^D7^D3^D2^D1;
P2=D22^D21^D20^D18^D15^D12^D11^D9^D6^D5^D3^D2^D0;
P1=D23^D22^D21^D20^D17^D14^D12^D10^D8^D6^D4^D3^D1^D0; and
P0=D23^D22^D21^D20^D16^D13^D11^D10^D7^D5^D4^D2^D1^D0a receiver comprising; a data decoder for decoding ECC encoded data comprising at least twenty four data bits and a plurality of provided parity bits generated using a parity bit generator, said decoder comprising a parity bit generator for calculating parity bits from said data bits; a syndrome calculator for calculating a syndrome (SYN) from said parity bits as calculated, and said provided parity bits; a syndrome decoder for determining an index value i from said syndrome (SYN); error correcting logic for correcting a one bit error in the ith position within said data bits; wherein said syndrome decoder decodes i=0 when said syndrome calculator calculates SYN=0x07;
i=1 when said syndrome calculator calculates SYN=0x0B;
i=2 when said syndrome calculator calculates SYN=0x0D;
i=3 when said syndrome calculator calculates SYN=0x0E;
i=4 when said syndrome calculator calculates SYN=0x13;
i=5 when said syndrome calculator calculates SYN=0x15;
i=6 when said syndrome calculator calculates SYN=0x16;
i=7 when said syndrome calculator calculates SYN=0x19;
i=8 when said syndrome calculator calculates SYN=0x1A;
i=9 when said syndrome calculator calculates SYN=0x1C;
i=10 when said syndrome calculator calculates SYN=0x23;
i=11 when said syndrome calculator calculates SYN=0x25;
i=12 when said syndrome calculator calculates SYN=0x26;
i=13 when said syndrome calculator calculates SYN=0x29;
i=14 when said syndrome calculator calculates SYN=0x2A;
i=15 when said syndrome calculator calculates SYN=0x2C;
i=16 when said syndrome calculator calculates SYN=0x31;
i=17 when said syndrome calculator calculates SYN=0x32;
i=18 when said syndrome calculator calculates SYN=0x34;
i=19 when said syndrome calculator calculates SYN=0x38;
i=20 when said syndrome calculator calculates SYN=0x1F;
i=21 when said syndrome calculator calculates SYN=0x2F;
i=22 when said syndrome calculator calculates SYN=0x37;
i=23 when said syndrome calculator calculates SYN=0x3B.
-
Specification