IP Library Granted Patent US 7,783,654
Granted Patent B1
US 7,783,654 · App. 11/533,204 · Granted Aug 24, 2010

Multiple string searching using content addressable memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,783,654
App. No.
11/533,204
Granted
Aug 24, 2010
Kind
B1
Abstract

A method and apparatus for multiple string searching using a ternary content addressable memory. For one embodiment, the method includes selecting character groups from an input text string in a temporal sequence, each character group having more than one character. A first character group of the character groups is compared with a plurality of character fields and a current state of a state machine is compared with a plurality of states of the state machine that correspond to the plurality of character fields to identify information indicative of a subsequent state of the state machine. Comparison of the first character group with the plurality of sets of character fields is repeated if the information indicative of the subsequent state of the state machine indicates that a terminal number of characters of a desired character pattern has been located and that the terminal number of characters is fewer than the number of characters in the first character group.

Claims (15)

1. A method for detecting a match between an input text string and a pattern performed by a state machine implemented using a ternary content addressable memory (TCAM) device, the method comprising:

selecting a character group from the input text string;

comparing the selected character group and a current state of the state machine with a plurality of character entries and a plurality of state entries, respectively, stored in the TCAM device;

generating a next state and a result code in response to the comparing; and

selectively repeating comparison of the same selected character group with the plurality of character entries and outputting the result code if the result code indicates a match between the input text string and the pattern and is encoded with a repeat flag indicating that comparison of the same selected character group is to be repeated with the character entries corresponding to the next state.

2. The method of claim 1 , wherein the selectively repeating further comprises comparing the next state of the state machine with the plurality of state entries stored in the TCAM device.

3. The method of claim 1 , wherein a rollback pointer is not used during the selectively repeating comparison.

4. An apparatus for detecting a match between an input text string and a pattern performed by a state machine implemented using a ternary content addressable memory (TCAM) device, the apparatus comprising:

means for selecting a character group from the input text string;

means for comparing the selected character group and a current state of the state machine with a plurality of character entries and a plurality of state entries, respectively, stored in the TCAM device;

means for generating a next state and a result code in response to the comparing; and

means for selectively repeating comparison of the same selected character group with the plurality of character entries and outputting of the result code if the result code indicates a match between the input text string and the pattern and is encoded with a repeat flag indicating that comparison of the same selected character group is to be repeated with the character entries corresponding to the next state.

5. The apparatus of claim 4 , wherein the means for selectively repeating further comprises:

means for comparing the next state of the state machine with the plurality of state entries stored in the TCAM device.

6. The apparatus of claim 4 , wherein a rollback pointer is not used during the selectively repeating comparison.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER PREVIOUSLY RECORDED ON REEL 047642 FRAME 0417. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT, Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048521/0395 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047642/0417 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
CHANGE OF NAME Recorded Apr 16, 2015
From: NETLOGIC MICROSYSTEMS, INC.
To: NETLOGIC I LLC
Reel/Frame 035443/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: NETLOGIC I LLC
To: BROADCOM CORPORATION
Reel/Frame 035443/0763 →
RELEASE OF SECURITY INTEREST Recorded Aug 30, 2011
From: SILICON VALLEY BANK
To: NETLOGIC MICROSYSTEMS, INC.; NETLOGIC MICROSYSTEMS INTERNATIONAL LIMITED; NETLOGIC MICROSYSTEMS CAYMANS LIMITED
Reel/Frame 026830/0141 →
SECURITY AGREEMENT Recorded Jul 17, 2009
From: NETLOGIC MICROSYSTEMS, INC.; NETLOGIC MICROSYSTEMS INTERNATIONAL LIMITED; NETLOGIC MICROSYSTEMS CAYMANS LIMITED
To: SILICON VALLEY BANK
Reel/Frame 022973/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2006
From: SREENATH, SANJAY
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 018274/0448 →