Optimized content addressable memory (CAM)
AssigneeCisco Systems, Inc.
InventorNecdet Uzun
Life of this patent
Estimating the term…
Abstract
A method and apparatus for realizing a content addressable memory. The content addressable memory including an associative memory portion including N entries, each entry including a key and an M-bit type indicator. The content addressable memory further including a random access memory portion. The random access memory portion includes K*N entries where a single key stored as an entry in the associative memory portion is mapped to K entries in the random access memory portion, where K is greater than 1.
Claims8
A method for storing MAC addresses and MPLS labels in a content addressable memory, the content addressable memory including an associative portion and a random access portion, the associative portion including one or more entries each including a key, the random access portion for storing information relevant to each key, the method comprising:
- determining if a key is present in a first entry in the associative portion for a first context, either as a source address or destination address or both;
- locating a first key portion of the key to be associated with an MPLS label;
- checking first key portion for all other keys in the content addressable memory to see if the first key portion matches;
- if the first key portion does not match, marking the address in the associative portion of the first entry to indicate that the address is to be associated with a second context, the second context being an MPLS label;
- and
- adding information relevant to the second context and associated with the address to the random access portion including mapping the address to relevant information stored in the random access portion associated with the first context and the second context.
An apparatus for storing MAC addresses and MPLS labels in a content addressable memory, the content addressable memory including an associative portion and a random access portion, the associative portion including one or more entries each including a key, the random access portion for storing information relevant to each key, the apparatus comprising:
- means for determining if a key is present in a first entry in the associative portion for a first context, either as a source address or destination address or both;
- means for locating a first key portion of the key to be associated with an MPLS label;
- means for checking the first key portion for all other keys in the content addressable memory to see if the first key portion matches;
- means for marking, if the first key portion does not match, the address in the associative portion of the first entry to indicate that the address is to be associated with a second context, the second context being an MPLS label;
- and
- means for adding information relevant to the second context and associated with the address to the random access portion including mapping the address to relevant information stored in the random access portion associated with the first context and the second context.
Dependencies are inferred from the claim text.