IP Library Granted Patent US 7,716,204
Granted Patent B1
US 7,716,204 · App. 11/962,716 · Granted May 11, 2010

Handle allocation managers and methods for integated circuit search engine devices

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,716,204
App. No.
11/962,716
Granted
May 11, 2010
Kind
B1
Abstract

A handle allocation manager is provided for an integrated circuit search engine device that includes multiple stages of a multilevel tree of search keys and a handle memory. The handle allocation manager includes a handle availability memory that stores handle availability indicators to provide an indication of whether a handle is available for association with a key. A handle availability summary memory stores indicators for groups of handles and a block availability summary memory stores indicators for multiple groups of handle availability summary memories. The handle allocation manager can use these memories to search for a next available handle. Related methods are also provided.

Claims (25)

1. An integrated circuit search engine device, comprising:

a plurality of serially connected stages, a respective one of which is configured to store therein a respective level of search keys in a multilevel tree of search keys, the plurality of serially connected stages including a first level stage that is responsive to an input search key and a last level stage that is configured to identify a best match key for the input search key;

a handle memory including a plurality of handle memory locations, a respective one of which is configured to store a search result handle, the handle memory being responsive to the last level stage to retrieve a search result handle that corresponds to the best match key; and

a handle allocation manager including a handle availability memory that is configured to store therein a plurality of handle availability indicators, a respective one of which provides an indication of whether a respective handle is available for association with a corresponding key.

2. A device according to claim 1 wherein the handle allocation manager further comprises a handle availability summary memory that is configured to store therein a plurality of handle memory group availability indicators, a respective one of which provides an indication of whether a respective group of handle memory locations contains at least one handle availability indicator.

3. A device according to claim 2 wherein the handle allocation manager further comprises a block availability summary memory that is configured to store therein a plurality of handle memory block availability indicators, a respective one of which provides an indication of whether a respective plurality of groups of handle availability summary memory locations contain at least one handle memory group availability indicator.

4. A device according to claim 3 wherein the handle allocation manager is further configured to search the handle availability memory, the handle availability summary memory and the block availability summary memory to identify a next available handle.

5. A device according to claim 4 wherein the handle allocation manager is further configured to search the handle availability memory, the handle availability summary memory and the block availability summary memory to identify a next available handle by searching the block availability summary memory in a given sequence to identify a first handle block availability indicator and a corresponding handle block, then searching the handle availability summary memory corresponding the handle block in a given sequence to identify a first handle group availability indicator and a corresponding group of handles, and then searching the handle availability memory for the corresponding group of handles in a given sequence to identify a first handle availability indicator and a corresponding next available handle.

6. A device according to claim 4 wherein the handle allocation manager is further configured to mark the next available handle as not available in response to associating the next available handle with a key, to mark the handle memory summary location that includes the next available handle as not available if no more available handles are present in the corresponding handle group and to mark the block availability summary memory location that includes the handle memory summary location as not available if no more available handles are present in the corresponding block.

7. A device according to claim 3 wherein the handle allocation manager is further configured to mark a given available handle as not available in response to associating the given available handle with a key, to mark the handle memory summary location that includes the given available handle as not available if no more available handles are present in the corresponding handle group and to mark the block availability summary memory that includes the given handle memory summary location as not available if no more available handles are present in the corresponding block.

8. A device according to claim 2 wherein the handle allocation manager is further configured to search the handle availability memory and the handle availability summary memory to identify a next available handle.

9. A device according to claim 8 wherein the handle allocation manager is further configured to search the handle availability memory and the handle availability summary memory to identify a next available handle by searching the handle availability summary memory in a given sequence to identify a first handle memory group availability indicator and a corresponding group of handles, and then searching the handle availability memory for the corresponding group of handles in a given sequence to identify a first handle availability indicator and a corresponding next available handle.

10. A device according to claim 8 wherein the handle allocation manager is further configured to mark the next available handle as not available in response to associating the next available handle with a key, and to mark the handle memory summary location that includes the next available handle as not available if no more available handles are present in the corresponding handle group.

11. A device according to claim 2 wherein the handle allocation manager is further configured to mark a given available handle as not available in response to associating the given available handle with a key, and to mark the handle memory summary location that includes the given available handle as not available if no more available handle memory locations are present in the corresponding handle group.

12. A device according to claim 1 wherein the handle allocation manager is further configured to search the handle availability memory to identify a next available handle.

13. A device according to claim 12 wherein the handle allocation manager is further configured to mark the next available handle as not available in response to associating the next available handle with a key.

14. A device according to claim 12 wherein the handle allocation manager is further configured to search the handle availability memory to identify a next available handle by indexing into the handle availability memory using the search result handle that is retrieved.

15. A device according to claim 1 wherein the handle allocation manager is configured to mark a given available handle as not available in response to associating the given available handle with a key.

16. A device according to claim 1 :

wherein each of the serially connected stages is configured to store therein a respective level of search keys in a plurality of multilevel trees of search keys for a plurality of databases;

wherein the handle memory is configured to store search result handles for the plurality of databases; and

wherein the handle allocation memory is configured to store therein a plurality of handle availability indicators for the plurality of handles for the plurality of databases.

17. A device according to claim 16 wherein the handle availability memory includes at least one group block that is configured to store therein handle availability indicators for at least two of the databases.

18. A device according to claim 17 wherein the handle availability memory includes at least one common block that is configured to store therein handle availability indicators for all of the databases.

19. A device according to claim 18 wherein the handle availability memory includes at least one exclusive block that is configured to store therein handle availability indicators for a predetermined one of the databases.

Assignments (11)
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 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2009
From: INTEGRATED DEVICE TECHNOLOGY, INC.
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 022996/0437 →
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 Jan 28, 2008
From: DEPELTEAU, GARY; DE WIT, PASCAL
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 020424/0406 →