Full match (FM) search algorithm implementation for a network processor
First Claim
1. A computer system comprising:
- a computer readable medium containing a plurality of data structures, for finding a match for a variable length search key, said data structure including;
a first pattern;
a direct table stores a first address location for a search tree;
a plurality of pattern search control blocks wherein pattern search control block represents a branch in the search tree;
a plurality of leaves wherein each leaf is an address location for storing predefined information relative to said first pattern; and
a search tree engine to correlate the first pattern with information stored in selected ones of the plurality of data structures and forward the predefined information found in a leaf included in the selected ones of the plurality of data structure if a match occurs between the first pattern and a second pattern stored in said leaf wherein a format for the direct table includes at least one of the search control block including a next pattern address points to a next pattern search control block, a leaf control block address points to one of the plurality of leaves, a next bit or bits to test and a direct leaf.
0 Assignments
0 Petitions
Accused Products
Abstract
Novel data structures, methods and apparatus for finding a full match between a search pattern and a pattern stored in a leaf of the search tree. A key is input, a hash function is performed on the key, a direct table (DT) is accessed, and a tree is walked through pattern search control blocks (PSCBs) until reaching a leaf. The search mechanism uses a set of data structures that can be located in a few registers and regular memory, and then used to build a Patricia tree structure that can be manipulated by a relatively simple hardware macro. Both keys and corresponding information needed for retrieval are stored in the Patricia tree structure. The hash function provides an n->n mapping of the bits of the key to the bits of the hash key.
33 Citations
9 Claims
-
1. A computer system comprising:
a computer readable medium containing a plurality of data structures, for finding a match for a variable length search key, said data structure including; a first pattern; a direct table stores a first address location for a search tree; a plurality of pattern search control blocks wherein pattern search control block represents a branch in the search tree; a plurality of leaves wherein each leaf is an address location for storing predefined information relative to said first pattern; and a search tree engine to correlate the first pattern with information stored in selected ones of the plurality of data structures and forward the predefined information found in a leaf included in the selected ones of the plurality of data structure if a match occurs between the first pattern and a second pattern stored in said leaf wherein a format for the direct table includes at least one of the search control block including a next pattern address points to a next pattern search control block, a leaf control block address points to one of the plurality of leaves, a next bit or bits to test and a direct leaf. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
Specification