US 11,816,335 B1
High-throughput regular expression processing with capture using an integrated circuit
Sachin Kumawat, Foster City, CA (US); David K. Liddell, Longmont, CO (US); and Paul R. Schumacher, Berthoud, CO (US)
Assigned to Xilinx, Inc., San Jose, CA (US)
Filed by Xilinx, Inc., San Jose, CA (US)
Filed on Apr. 26, 2022, as Appl. No. 17/660,808.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/061 (2013.01) [G06F 3/0655 (2013.01); G06F 3/0673 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
a first multi-port random-access memory (RAM) configured to store an instruction table, wherein the instruction table specifies a regular expression for application to a data stream;
a second multi-port RAM configured to store a capture table, wherein the capture table specifies capture entries that are decodable for tracking position information for a sequence of one or more characters of the data stream matching a capture sub-expression of the regular expression;
one or more regular expression engine circuits each configured to process the data stream to determine match states by tracking active states for the regular expression and priorities for the active states by, at least in part, storing the active states of the regular expression in a plurality of priority first-in-first-out (FIFO) memories in decreasing priority order; and
one or more capture engine circuits each configured to operate in coordination with a selected regular expression engine circuit to determine one or more characters of the data stream that match the capture sub-expression based on the active state being tracked by the regular expression engine circuit and decoding the capture entries of the capture table.