IP Library Granted Patent US 7,120,731
Granted Patent B1
US 7,120,731 · App. 10/688,353 · Granted Oct 10, 2006

CAM-based search engines that support pipelined multi-database search operations using replacement search key segments

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,120,731
App. No.
10/688,353
Granted
Oct 10, 2006
Kind
B1
Abstract

CAM-based search engines may be configured to support multiple databases within a CAM core. These databases may represent tables for different applications, which can be searched sequentially in response to a single indirect instruction that is loaded during a control cycle. The databases to be searched may be identified by a multi-database search instruction that is loaded during a single data cycle, which may overlap with the control cycle. In some cases, the databases may be searched using variations of a primary search key, so that it is unnecessary to repeatedly load the entire search key across a network interface for each search operation within a respective database. Instead, shorter replacement key segments may be loaded for each of a plurality of the search operations and these replacement key segments may be combined with one or more segments of the primary search key in the CAM core to define a desired search key for a respective search operation.

Claims (33)

1. An integrated circuit device, comprising:

a search engine that supports a plurality of consecutive search operations in a corresponding plurality of databases within an internal CAM core using a corresponding plurality of search keys, said plurality of search keys comprising:

a first search key that requires at least one data cycle to load into said search engine before a first search of a first one of the plurality of databases is performed using a first search word derived from the first search key; and

a second search key that comprises a replacement search key segment and at least one search key segment from the first search key.

2. The device of claim 1 , wherein the plurality of consecutive search operations comprises a second search of a second one of the plurality of databases using a second search word derived from the second search key.

3. The device of claim 2 , wherein the second search key is shorter than the first search key.

4. The device of claim 2 , wherein none of the plurality of search keys is longer than the first search key.

5. The device of claim 2 , wherein the replacement search key segment requires one data cycle to load into said search engine.

6. The device of claim 5 , wherein the plurality of search keys comprise a third search key that comprises another replacement search key segment and at least one search key segment from the first search key; wherein the another replacement search key segment requires one data cycle to load into said search engine; and wherein the another replacement search key segment is loaded into said search engine after the replacement search key segment is loaded into said search engine.

7. The device of claim 6 , wherein the replacement search key segment and the another replacement search key segment have equivalent values.

8. The device of claim 7 , wherein the plurality of consecutive search operations comprises a third search of a third one of the plurality of databases using a third search word derived from the third search key; and wherein the second and third search words are different.

9. The device of claim 2 , wherein the first search key requires multiple data cycles to load into said search engine; and wherein the replacement search key segment requires fewer than the multiple data cycles to load into said search engine.

10. An integrated circuit device, comprising:

a search engine that supports a plurality of consecutive search operations in a corresponding plurality of databases within an internal CAM core using a corresponding plurality of search keys, said plurality of search keys comprising:

a first search key that requires at least one data cycle to load into said search engine before a search of a first of the plurality of databases is performed using a search word that is derived from the first search key; and

a second search key that comprises at least one search key segment from the first search key and another search key segment that is loaded into said search engine after the first search key.

11. The device of claim 10 , wherein the plurality of consecutive search operations comprises a second search of a second one of the plurality of databases using a second search word derived from the second search key.

12. The device of claim 11 , wherein the second search key is longer than the first search key.

13. The device of claim 11 , wherein the another search key segment requires one data cycle to load into said search engine.

14. An integrated circuit device, comprising:

a search engine that supports a plurality of consecutive search operations in a corresponding plurality of databases within an internal CAM core, using a corresponding plurality of search keys that include a longest first search key that requires multiple cycles to load into said search engine before a search of a first of the plurality of databases is performed and at least one shortest search key that requires fewer than the multiple cycles to load into said search engine and comprises a replacement search key segment and at least one search key segment derived from the longest first search key.

15. An integrated circuit device, comprising:

a search engine that supports a plurality of consecutive search operations in a corresponding plurality of databases within an internal CAM core using a corresponding plurality of search keys, said plurality of search keys comprising:

a first search key that requires multiple data cycles to load into said search engine before a first search of a first one of the plurality of databases is performed;

a second search key that comprises a first replacement search key segment and at least a first search key segment derived from the first search key; and

a third search key that comprises a second replacement search key segment and at least a second search key segment derived from the first search key.

16. The device of claim 15 , wherein the first search key segment and the second search key segment are equivalent search key segments.

17. The device of claim 15 , wherein the first replacement search key segment requires only one data cycle to load into said search engine.

18. The device of claim 17 , wherein the second replacement search key segment is loaded into said search engine after the first replacement search key is loaded into said search engine.

19. A method of operating a search engine device, comprising the steps of:

searching one or more databases within the search engine device using a first search key that takes multiple data cycles to load into the search engine device; and then

searching one or more databases within the search engine device using a second search key that is unequal to the first search key and comprises a search key segment from the first search key and a replacement search key segment that is loaded into the search engine device after the first search key has been loaded into the search engine device.

20. The method of claim 19 , wherein the replacement search key segment requires one data cycle to load into the search engine device.

Assignments (9)
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 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: NETLOGIC I LLC
To: BROADCOM CORPORATION
Reel/Frame 035443/0763 →
CHANGE OF NAME Recorded Apr 16, 2015
From: NETLOGIC MICROSYSTEMS, INC.
To: NETLOGIC I LLC
Reel/Frame 035443/0824 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2009
From: INTEGRATED DEVICE TECHNOLOGY, INC.
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 022980/0624 →
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 Oct 17, 2003
From: BHUGRA, HARMEET; BRANTH, KENNETH; MICK, JOHN R. JR.; SAXTORPH, JAKOB
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 014680/0929 →