Error protection for associative memory entries and lookup operations performed thereon
First Claim
1. A method for protecting associative memory entries, the method comprising:
- identifying a plurality of masks used for a plurality of associative memory entries; and
determining a protected entry for each entry in the plurality of associative memory entries, said each entry including an original data portion and an original mask portion, the protected entry including a protected data portion and a protected mask portion, the protected data portion including the original data portion and a protection bit located at a bit position corresponding to the original mask portion, and the protected mask portion including the original mask portion and a mask to enable the protection bit corresponding to the original mask portion and to mask protection bits corresponding to other masks of the plurality of masks;
wherein the protection bit is determined by a parity or other error protection calculation on a result of the original data portion masked with the original mask portion.
1 Assignment
0 Petitions
Accused Products
Abstract
Error protection is provided for associative memory entries and lookup operations performed thereon. Protected associative memory entries are determined which include one or more protection bits. These protected entries are programmed into an associative memory, typically with each protected entry being programmed into two or more consecutive locations. Corresponding protected lookup words are generated and used to perform lookup operations in the associative memory. For binary content-addressable memories (CAMs) and ternary content-addressable memory (TCAMs), one or more error detection bits are used per entry to prevent or at least reduce the possibility of a lookup error. For example, a single parity bit or multiple error-correction code (ECC) bits may be used per entry. The use of the protection bits reduces the possibility of a false matching of a corrupted entry, and the duplicate entries reduce the possibility of not matching an entry that should be matched as all copies of the entry must be corrupt in order to not match one of the entries during a lookup operation.
-
Citations
21 Claims
-
1. A method for protecting associative memory entries, the method comprising:
-
identifying a plurality of masks used for a plurality of associative memory entries; and determining a protected entry for each entry in the plurality of associative memory entries, said each entry including an original data portion and an original mask portion, the protected entry including a protected data portion and a protected mask portion, the protected data portion including the original data portion and a protection bit located at a bit position corresponding to the original mask portion, and the protected mask portion including the original mask portion and a mask to enable the protection bit corresponding to the original mask portion and to mask protection bits corresponding to other masks of the plurality of masks; wherein the protection bit is determined by a parity or other error protection calculation on a result of the original data portion masked with the original mask portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for protecting associative memory entries, the method comprising:
-
determining a protected entry for each original entry of a plurality of original associative memory entries, the protected entry including the original entry and one or more protection bits, wherein said one or more protection bits are determined by a parity or other error protection calculation on the original entry; and programming an associative memory with said each determined protected entry such that each particular entry of said determined protected entries is completely replicated in two or more consecutive entries in the associative memory. - View Dependent Claims (12)
-
-
13. An apparatus for protecting associative memory entries, the apparatus comprising:
-
means for determining a protected entry for each original entry of a plurality of original associative memory entries, the protected entry including the original entry and one or more protection bits, wherein said one or more protection bits are determined by a parity or other error protection calculation on the original entry; and means for programming an associative memory with said each determined protected entry such that each particular entry of said determined protected entries is completely replicated in two or more consecutive entries in the associative memory. - View Dependent Claims (14)
-
-
15. A method for performing lookup operations on an associative memory, the method comprising:
-
determining a protected lookup word based on a lookup word, the lookup word including a lookup word original data portion, the protected lookup word including the lookup word original data portion and a plurality of error protection bits, each of the plurality of protection bits corresponding to one of a plurality of masks and being determined by a parity or other error protection calculation on a result of the original data portion masked with a different one of the plurality of masks; and performing a lookup operation in the associative memory based on the protected data word.
-
-
16. An apparatus for performing lookup operations on an associative memory, the apparatus comprising:
-
means for determining a protected lookup word based on a lookup word, the lookup word including a lookup word original data portion, the protected lookup word including the lookup word original data portion and a plurality of error protection bits, each of the plurality of protection bits corresponding to one of a plurality of masks and being determined by a parity or other error protection calculation on a result of the original data portion masked with a different one of the plurality of masks; and means for performing a lookup operation in the associative memory based on the protected data word.
-
-
17. An apparatus for performing lookup operations, the apparatus comprising:
-
a protected lookup word generator for determining a protected lookup word, the protected lookup word generator configured to receive a lookup word, the lookup word including a lookup word original data portion, the protected lookup word including the lookup word original data portion and a plurality of error protection bits, each of the plurality of protection bits corresponding to one of a plurality of masks and being determined by a parity or other error protection calculation on a result of the original data portion masked with a different one of the plurality of masks; and an associative memory configured to receive the protected lookup word and to generate an associative memory result based on the protected lookup word. - View Dependent Claims (18)
-
-
19. An apparatus for protecting associative memory entries, the apparatus comprising:
-
means for identifying a plurality of masks used for a plurality of associative memory entries; means for determining a protected entry for each entry in the plurality of associative memory entries, said each entry including an original data portion and an original mask portion, the protected entry including a protected data portion and a protected mask portion, the protected data portion including the original data portion and a protection bit located at a bit position corresponding to the original mask portion, and the protected mask portion including the original mask portion and a mask to enable the protection bit corresponding to the original mask portion and to mask protection bits corresponding to other masks of the plurality of masks; wherein the protection bit is determined by a parity or other error protection calculation on a result of the original data portion masked with the original mask portion. - View Dependent Claims (20, 21)
-
Specification