Engine architecture for processing finite automata
First Claim
1. An apparatus comprising:
- at least one hyper non-deterministic automata (HNA) processor specialized for non-deterministic finite automata (NFA) processing, the at least one HNA processor including;
a plurality of clusters, each cluster of the plurality of clusters including a plurality of HNA processing units (HPUs);
an HNA on-chip instruction queue configured to store at least one HNA instruction; and
an HNA scheduler, the HNA scheduler configured to select a given HPU of the plurality of HPUs of the plurality of clusters and assign the at least one HNA instruction to the given HPU selected in order to initiate matching at least one regular expression pattern in an input stream received from a network.
4 Assignments
0 Petitions
Accused Products
Abstract
An engine architecture for processing finite automata includes a hyper non-deterministic automata (HNA) processor specialized for non-deterministic finite automata (NFA) processing. The HNA processor includes a plurality of super-clusters and an HNA scheduler. Each super-cluster includes a plurality of clusters. Each cluster of the plurality of clusters includes a plurality of HNA processing units (HPUs). A corresponding plurality of HPUs of a corresponding plurality of clusters of at least one selected super-cluster is available as a resource pool of HPUs to the HNA scheduler for assignment of at least one HNA instruction to enable acceleration of a match of at least one regular expression pattern in an input stream received from a network.
144 Citations
45 Claims
-
1. An apparatus comprising:
-
at least one hyper non-deterministic automata (HNA) processor specialized for non-deterministic finite automata (NFA) processing, the at least one HNA processor including; a plurality of clusters, each cluster of the plurality of clusters including a plurality of HNA processing units (HPUs); an HNA on-chip instruction queue configured to store at least one HNA instruction; and an HNA scheduler, the HNA scheduler configured to select a given HPU of the plurality of HPUs of the plurality of clusters and assign the at least one HNA instruction to the given HPU selected in order to initiate matching at least one regular expression pattern in an input stream received from a network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A hyper non-deterministic finite automata (HNA) processor specialized for non-deterministic finite automata (NFA) processing, the HNA processor comprising:
-
a plurality of clusters, each cluster of the plurality of clusters including a plurality of HNA processing units (HPUs); and an HNA on-chip instruction queue configured to store at least one HNA instruction, the plurality of HPUs of the plurality of clusters forming a resource pool of HPUs available for assignment of the at least one HNA instruction; and an HNA scheduler configured to select a given HPU of the resource pool formed and assign the at least one HNA instruction to the given HPU selected in order to initiate matching at least one regular expression pattern in an input stream received from a network.
-
-
24. A method comprising:
-
including a plurality of clusters in at least one hyper non-deterministic automata (HNA) processor specialized for non-deterministic finite automata (NFA) processing, each cluster of the plurality of clusters including a plurality of HNA processing units (HPUs); storing at least one HNA instruction in an HNA on-chip instruction queue; and selecting, by an HNA scheduler, a given HPU of the plurality of HPUs of the plurality of clusters and assigning the at least one HNA instruction to the given HPU selected in order to initiate matching at least one regular expression pattern in an input stream received from a network. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification