Method and apparatus for error management
First Claim
1. A parity bit generator for generating at least eight parity bits {P0, P1, P2 . . . P7} corresponding to 64 data bits {D0, D1, D2 . . . D63}, comprising:
- at least one electronic logic circuit configured to calculate said parity bits as follows;
P7=D63^D62^D61^D60^D59^D58^D57^D56^D55^D54^D53^D52^D51^D50^D49^D48^D43^D42^D41^D40^D39;
P6=D63^D62^D61^D60^D59^D58^D47^D46^D38^D37^D36^D35^D34^D33^D32^D31^D30^D29^D28^D27^D26^D25^D24;
P5=D63^D57^D56^D55^D54^D53^D45^D44^D38^D37^D36^D35^D34^D23^D22^D21^D19^D18^D17^D16^D15^D14^D13^D12^D11^D10;
P4=D62^D57^D52^D51^D50^D49^D47^D45^D44^D38^D33^D32^D31^D30^D23^D22^D20^D19^D18^D17^D16^D9^D8^D7^D6^D5^D4;
P3=D61^D56^D52^D48^D46^D45^D44^D43^D42^D37^D33^D29^D28^D27^D23^D21^D20^D19^D15^D14^D13^D9^D8^D7^D3^D2^D1;
P2=D60^D55^D51^D48^D47^D46^D45^D44^D41^D40^D36^D32^D29^D26^D25^D22^D21^D20^D18^D15^D12^D11^D9^D6^D5^D3^D2^D0;
P1=D59^D54^D50^D47^D46^D45^D43^D41^D39^D35^D31^D28^D26^D24^D23^D22^D20^D17^D14^D12^D10^D8^D6^D4^D3^D1^D0; and
P0=D58^D53^D49^D47^D46^D44^D42^D40^D39^D34^D30^D27^D25^D24^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.
6 Citations
6 Claims
-
1. A parity bit generator for generating at least eight parity bits {P0, P1, P2 . . . P7} corresponding to 64 data bits {D0, D1, D2 . . . D63}, comprising:
-
at least one electronic logic circuit configured to calculate said parity bits as follows; P7=D63^D62^D61^D60^D59^D58^D57^D56^D55^D54^D53^D52^D51^D50^D49^D48^D43^D42^D41^D40^D39; P6=D63^D62^D61^D60^D59^D58^D47^D46^D38^D37^D36^D35^D34^D33^D32^D31^D30^D29^D28^D27^D26^D25^D24; P5=D63^D57^D56^D55^D54^D53^D45^D44^D38^D37^D36^D35^D34^D23^D22^D21^D19^D18^D17^D16^D15^D14^D13^D12^D11^D10; P4=D62^D57^D52^D51^D50^D49^D47^D45^D44^D38^D33^D32^D31^D30^D23^D22^D20^D19^D18^D17^D16^D9^D8^D7^D6^D5^D4; P3=D61^D56^D52^D48^D46^D45^D44^D43^D42^D37^D33^D29^D28^D27^D23^D21^D20^D19^D15^D14^D13^D9^D8^D7^D3^D2^D1; P2=D60^D55^D51^D48^D47^D46^D45^D44^D41^D40^D36^D32^D29^D26^D25^D22^D21^D20^D18^D15^D12^D11^D9^D6^D5^D3^D2^D0; P1=D59^D54^D50^D47^D46^D45^D43^D41^D39^D35^D31^D28^D26^D24^D23^D22^D20^D17^D14^D12^D10^D8^D6^D4^D3^D1^D0; and P0=D58^D53^D49^D47^D46^D44^D42^D40^D39^D34^D30^D27^D25^D24^D23^D22^D21^D20^D16^D13^D11^D10^D7^D5^D4^D2^D1^D0.
-
-
2. A parity bit generator for generating at least six parity bits {P0, P1, P2 . . . P5} corresponding to twenty four data bits {D0, D1, D2 . . . D23}, comprising:
-
at least one electronic logic circuit configured to calculate 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^D18^D17^D16^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.
-
-
3. A machine implemented method of generating at least eight parity bits {P0, P1, P2 . . . P7} corresponding to sixty four data bits {D0, D1, D2 . . . D63}, said method comprising:
-
(i) calculating P7=D63^D62^D61^D60^D59^D58^D57^D56^D55^D54^D53^D52^D51^D50^D49^D48^D43^D42^D41^;
^D40^D39;(ii) calculating P6=D63^D62^D61^D60^D59^D58^D47^D46^D38^D37^D36^D35^D34^D33^D32^D31^D30^D29^D28^;
^D27^D26^D25^D24;(iii) calculating P5=D63^D57^D56^D55^D54^D53^D45^D44^D38^D37^D36^D35^D34^D23^D22^D21^D19^D18^D17^;
^D16^D15^D14^D13^D12^D11^D10;(iv) calculating P4=D62^D57^D52^D51^D50^D49^D47^D45^D44^D38^D33^D32^D31^D30^D23^D22^D20^D19^D18^D17^D16^D9^D8^D7^D6^D5^D4; (v) calculating P3=D61^D56^D52^D48^D46^D45^D44^D43^D42^D37^D33^D29^D28^D27^D23^D22^D20^D19^D15^D14^D13^D9^D8^D7^D3^D2^D1; (vi) calculating P2=D60^D55^D51^D48^D47^D46^D45^D44^D41^D40^D36^D32^D29^D26^D25^D22^D21^D20^D18^D15^D12^D11^D9^D6^D5^D3^D2^D0; (vii) calculating P1=D59^D54^D50^D47^D46^D45^D43^D41^D39^D35^D31^D28^D26^D24^D23^D22^D21^D20^D17^D14^D12^D10^D8^D6^D4^D3^D2^D1^D0; and (viii) calculating P0=D58^D53^D49^D47^D46^D44^D42^D40^D39^D34^D30^D27^D25^D24^D23^D22^D21^D20^D16^D13^D11^D10^D7^D5^D4^D2^D1^D0.
-
-
4. A machine implemented method of generating at least six parity bits {P0, P1, P2 . . . P5} corresponding to twenty four data bits {D0, D1, D2 . . . D23}, said method comprising:
-
(i) calculating P5=D23^D22^D21^D19^D18^D17^D16^D15^D14^D13^D12^D11^D10; (ii) calculating P4=D23^D22^D20^D19^D18^D17^D16^D9^D8^D7^D6^D5^D4; (iii) calculating P3=D23^D21^D20^D19^D15^D14^D13^D9^D8^D7^D3^D2^D1; (iv) calculating P2=D22^D21^D20^D18^D15^D12^D11^D9^D6^D5^D3^D2^D0; (v) calculating P1=D23^D22^D21^D20^D17^D14^D12^D10^D8^D6^D4^D3^D1^D0; and (vi) calculating P0=D23^D22^D21^D20^D16^D13^D11^D10^D7^D5^D4^D2^D1^D0.
-
-
5. A parity bit generator for generating at least eight parity bits {P0, P1, P2 . . . P7} corresponding to 64 data bits {D0, D1, D2 . . . D63}, comprising:
-
(i) means for calculating P7=D63^D62^D61^D60^D59^D58^57^D56^55^D64^D53^D52^D51^D50^D49^D48^D43^D42^D41^D40^D39; (ii) means for calculating P6=D63^D62^D61^D60^D59^D58^47^D46^38^D37^D36^D35^D34^D33^D32^D31^D30^D29^D28^D27^D26^D25^D24; (iii) means for calculating P5=D23^D22^D21^D19^D18^D17^D16^D15^D14^D13^D12^D11^D10; (iv) means for calculating P4=D62^D57^D52^D51^D50^D49^D47^D45^D44^D38^D33^D32^D31^D30^D23^D22^D20^D19^D18^D17^D16^D9^D8^D7^D6^D5^D4; (v) means for calculating P3=D61^D56^D52^D48^D46^D45^44^D43^42^D37^D33^D29^D28^D27^D23^D21^D20^D19^D15^D14^D13^D9^D8^D7^D3^D2^D1; (vi) means for calculating P2=D60^D55^D51^D48^D47^D46^45^D44^41^D40^D36^D32^D29^D26^D25^D22^D21^D20^D18^D15^D12^D11^D9^D6^D5^D3^D2^D0; (vii) means for calculating P1=D59^D54^D50^D47^D46^D45^43^D41^39^D35^D31^D28^D26^D24^D23^D22^D20^D17^D14^D12^D10^D8^D6^D4^D3^D1^D0; and (viii) means for calculating P0=D58^D53^D49^D47^D46^D44^D42^D40^D39^D34^D30^D27^D25^D24^D23^D22^D21^D20^D16^D13^D11^D10^D7^D5^D4^D2^D1^D0.
-
-
6. A parity bit generator for generating at least six parity bits {P0, P1, P2 . . . P5} corresponding to twenty four data bits {D0, D1, D2 . . . D23}, comprising:
-
(i) means for calculating P5=D23^D22^D21^D19^D18^D17^D16^D15^D14^D13^D12^D11^D10; (ii) means for calculating P4=D23^D22^D20^D19^D18^D17^D16^D9^D8^D7^D6^D5^D4; (iii) means for calculating P3=D23^D21^D20^D19^D15^D14^D13^D9^D8^D7^D3^D2^D1; (iv) means for calculating P2=D22^D21^D20^D18^D15^D12^D11^D9^D6^D5^D3^D2^D0; (v) means for calculating P1=D23^D22^D21^D20^D17^D14^D12^D10^D8^D6^D4^D3^D1^D0; and
and(vi) means for calculating P0=D23^D22^D21^D20^D16^D13^D11^D10^D7^D5^D4^D2^D1^D0.
-
Specification