System and method for storing lookup request rules in multiple memories
First Claim
Patent Images
1. A system for processing packets, the system comprising at least one search processor, the at least one search processor including:
- a search cluster configured to receive a key from a received packet, the search cluster including an on-chip memory, a tree walk engine (TWE), a bucket walk engine (BWE) and a plurality of rule match engines (RMEs), the at least one search processor configured to use the TWE to navigate, based on the key, through a tree data structure stored in the on-chip memory to a representation of at least one rule stored on a leaf node in the on-chip memory; and
a bucket post processor (BPP), the TWE configured to determine whether the representation (i) points directly to a rule, in which case, the TWE is configured to load the rule from an external memory and provide the rule to the BPP to determine and return a match or no match result of the rule with the key or (ii) points to a bucket with entries pointing to a rule or a chunk of rules, in which case, the BWE is configured to load one or more rules, stored at locations in the on-chip memory pointed to by the bucket, and provide the rules to a given rule match engine (RME) of the plurality of RMEs, the given RME including a plurality of dimension matching engines (DMEs), the plurality of DMEs configured to match dimensions of the one or more rules with the key to enable the RME to determine and return a match or no match result of the one or more rules with the key.
6 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a system includes a data navigation unit configured to navigate through a data structure stored in a first memory to a first representation of at least one rule. The system further includes at least one rule processing unit configured to a) receive the at least one rule based on the first representation of the at least one rule from a second memory to one of the rule processing unit, and b) processing a key using the at least one rule.
238 Citations
18 Claims
-
1. A system for processing packets, the system comprising at least one search processor, the at least one search processor including:
-
a search cluster configured to receive a key from a received packet, the search cluster including an on-chip memory, a tree walk engine (TWE), a bucket walk engine (BWE) and a plurality of rule match engines (RMEs), the at least one search processor configured to use the TWE to navigate, based on the key, through a tree data structure stored in the on-chip memory to a representation of at least one rule stored on a leaf node in the on-chip memory; and a bucket post processor (BPP), the TWE configured to determine whether the representation (i) points directly to a rule, in which case, the TWE is configured to load the rule from an external memory and provide the rule to the BPP to determine and return a match or no match result of the rule with the key or (ii) points to a bucket with entries pointing to a rule or a chunk of rules, in which case, the BWE is configured to load one or more rules, stored at locations in the on-chip memory pointed to by the bucket, and provide the rules to a given rule match engine (RME) of the plurality of RMEs, the given RME including a plurality of dimension matching engines (DMEs), the plurality of DMEs configured to match dimensions of the one or more rules with the key to enable the RME to determine and return a match or no match result of the one or more rules with the key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for processing packets, the method comprising:
-
navigating, based on a key from a received packet, through a tree data structure stored in an on-chip memory to a representation of at least one rule by a tree walk engine (TWE) of a search cluster of a search processor, the representation stored on a leaf node in the on-chip memory, the search cluster including the on-chip memory, the TWE, a bucket walk engine (BWE), and a plurality of rule match engines (RMEs); and determining, by the TWE, whether the representation (i) points directly to a rule, in which case, the method includes loading, by the TWE, the rule from an external memory and providing the rule to a bucket post processor (BPP) of the search processor to determine and return a match or no match result of the rule with the key or (ii) points to a bucket with entries pointing to a rule or a chunk of rules, in which case, the method includes loading, by the TWE, one or more rules stored at locations in the on-chip memory pointed to by the bucket, and providing the rules to a given rule match engine (RME) of the plurality of RMEs, the given RME including a plurality of dimension matching engines (DMEs), the plurality of DMEs configured to match dimensions of the one or more rules with the key to enable the RME to determine and return a match or no match result of the one or more rules with the key. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification