Error protecting groups of data words
First Claim
1. A method for protecting data, the method comprising:
- manipulating a plurality of data words to generate a resultant data word;
generating an error correction code for the resultant data word, the error correction code including a plurality of error correction bits;
associating different portions of the plurality of error correction bits with at least two of the plurality of data words;
for each particular data word of the plurality of data words;
generating an error detection code based on said particular data word and said associated portion of the plurality of error correction bits if any; and
transmitting or storing said plurality of data words, said error correction code, and said plurality of error detection codes;
after said transmitting or storing operation;
acquiring data, said acquired data including;
a particular data word of the plurality of data words, its associated said error detection code, and its said associated portion of the plurality of error correction bits if any; and
performing an error detection operation on said acquired data.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are, inter alia, methods, apparatus, data structures, computer-readable media, and mechanisms, for use in protecting groups of data words. One embodiment manipulates these data words to generate a resultant data word and an error correction code thereon for use in identifying a position of a bit error, with error detection codes used to identify which data word actually has the bit error. One embodiment retrieves a stored particular data word and its error detection code from memory or other storage. If an error is detected, the other data words in the group corresponding to the error correction code are acquired and are manipulated to produce a new resultant data word. The error correction code and the new resultant data word are used to identify the position of the bit error, with a corresponding bit position corrected in the particular data word.
65 Citations
25 Claims
-
1. A method for protecting data, the method comprising:
-
manipulating a plurality of data words to generate a resultant data word; generating an error correction code for the resultant data word, the error correction code including a plurality of error correction bits; associating different portions of the plurality of error correction bits with at least two of the plurality of data words; for each particular data word of the plurality of data words;
generating an error detection code based on said particular data word and said associated portion of the plurality of error correction bits if any; andtransmitting or storing said plurality of data words, said error correction code, and said plurality of error detection codes;
after said transmitting or storing operation;
acquiring data, said acquired data including;
a particular data word of the plurality of data words, its associated said error detection code, and its said associated portion of the plurality of error correction bits if any; and
performing an error detection operation on said acquired data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for protecting data, the method comprising:
-
performing an error detection check on a particular data word of a plurality of data words based on the particular data word and a particular error detection code; in response to an error condition identified by said error detection check, manipulating data to generate a resultant data word, said data including the plurality of data words; performing an error correction operation based on the resultant data word and on an associated predetermined error correction code to identify a bit position of an error; and error correcting a bit in the particular data word corresponding to the bit position; wherein each of the plurality of data words is included in a different one of a plurality of data lines;
wherein the plurality of data lines includes the error correction code and a plurality of error detection codes, with each of the plurality of data words associated with a different one of the plurality of error detection codes. - View Dependent Claims (9)
-
-
10. A method for protecting data, wherein each of a plurality of data words is included in a plurality of data lines which are stored in one or more memories, each of the plurality of data lines includes one of the plurality of data words and one of a plurality of error detection codes;
- and the method comprises;
retrieving a particular data word of the plurality of data words and a particular error detection code of the plurality of error detection codes from said one or more memories; performing an error detection check on the particular data word based on the particular data word and the particular error detection code; in response to an error condition identified by said error detection check, manipulating data to generate a resultant data word, said data including the plurality of data words; performing an error correction operation based on the resultant data word and on an associated predetermined error correction code to identify a bit position of an error; and error correcting a bit in the particular data word corresponding to the bit position. - View Dependent Claims (11, 12, 13)
- and the method comprises;
-
14. A method for protecting data, the method comprising:
-
performing an error detection check on a particular data word of a plurality of data words based on the particular data word and a particular error detection code, wherein the plurality of data words includes the particular data word and remaining data words; in response to an error condition identified by said error detection check;
retrieving the remaining data words from one or more memories, and manipulating data to generate a resultant data word, said data including the plurality of data words;performing an error correction operation based on the resultant data word and on an associated predetermined error correction code to identify a bit position of an error; and error correcting a bit in the particular data word corresponding to the bit position.
-
-
15. An apparatus for protecting data, the apparatus comprising:
-
means for manipulating a plurality of data words to generate a resultant data word; means for generating an error correction code for the resultant data word, the error correction code including a plurality of error correction bits; means for associating different portions of the plurality of error correction bits with at least two of the plurality of data words; means for generation for each particular data word of the plurality of data words;
an error detection code based on said particular data word and said associated portion of the plurality of error correction bits if any; andmeans for storing said plurality of data words, said error correction code, and said plurality of error detection codes; means for acquiring data, said acquired data including;
a particular data word of the plurality of data words, its associated said error detection code, and its said associated portion of the plurality of error correction bits if any; andmeans for performing an error detection operation on said acquired data. - View Dependent Claims (16, 17, 18, 19)
-
-
20. One or more computer-readable media tangibly encoded thereon with computer-executable instructions for performing operations when executed by one or more processing elements, said operations comprising:
-
performing an error detection check on a particular data word of a plurality of data words based on the particular data word and a particular error detection code; in response to an error condition identified by said error detection check, manipulating data to generate a resultant data word, said data including the plurality of data words; performing an error correction operation based on the resultant data word and on an associated predetermined error correction code to identify a bit position of an error; and error correcting a bit in the particular data word corresponding to the bit position; wherein each of the plurality of data words is included in a different one of a plurality of data lines;
wherein the plurality of data lines includes the error correction code and a plurality of error detection codes, with each of the plurality of data words associated with a different one of the plurality of error detection codes.
-
-
21. An apparatus for protecting data, the apparatus comprising:
-
one or more memories, wherein each of a plurality of data words is included in a plurality of data lines stored in said one or more memories, each of the plurality of data lines includes one of the plurality of data words and one of a plurality of error detection codes; means for retrieving a particular data word of the plurality of data words and a particular error detection code of the plurality of error detection codes from said one or more memories; means for performing an error detection check on the particular data word based on the particular data word and the particular error detection code; means for, in response to an error condition identified by said error detection check, manipulating data to generate a resultant data word, said data including the plurality of data words; means for performing an error correction operation based on the resultant data word and on an associated predetermined error correction code to identify a bit position of an error; and means for error correcting a bit in the particular data word corresponding to the bit position. - View Dependent Claims (22, 23, 24)
-
-
25. An apparatus for protecting data, the apparatus comprising:
-
means for performing an error detection check on a particular data word of a plurality of data words based on the particular data word and a particular error detection code, wherein the plurality of data words includes the particular data word and remaining data words; means for performing operations in response to an error condition identified by said error detection check, said operations including;
retrieving the remaining data words from one or more memories, and manipulating data to generate a resultant data word, said data including the plurality of data words;means for performing an error correction operation based on the resultant data word and on an associated predetermined error correction code to identify a bit position of an error; and means for error correcting a bit in the particular data word corresponding to the bit position.
-
Specification