Patent ID: 7610440

Claim:
A content addressable memory (CAM) comprising: a first plurality of storage locations to store a plurality of rules; a second plurality of storage locations associated with and coupled to said first plurality of storage locations to store either a plurality of contexts correspondingly associated with the rules or a plurality of pointers correspondingly pointing to the corresponding contexts stored outside the CAM, wherein whether the second plurality of storage locations to store the plurality of contexts or the plurality of pointers is determined according to a quantity of context information to be stored; first write logic coupled to said first plurality of storage locations to unconditionally write a new rule to a selected one of said first plurality of storage locations while accessing said first plurality of storage locations for one or more full or partial match of an access key, the access key being a subset of a datagram; and second write logic to write either a new context associated with the new rule, or a pointer to a new context associated with the new rule, into a selected one of the second plurality of storage locations, the new context being created in response to a partial match of the access key against one of said first plurality of storage locations.