IP Library Granted Patent US 6,954,823
Granted Patent B1
US 6,954,823 · App. 10/199,225 · Granted Oct 11, 2005

Search engine device and method for generating output search responses from multiple input search responses

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 6,954,823
App. No.
10/199,225
Granted
Oct 11, 2005
Kind
B1
Abstract

According to one embodiment, a search engine device ( 100 ) may include an input ( 102 ), search portion ( 106 ), and a vote portion ( 108 ). A vote portion ( 108 ) may receive responses to a search request at inputs. According to precedence information in received responses, a vote portion ( 108 ) may generate an output response having its own precedence information.

Claims (30)

1. A search engine system, comprising:

at least one search engine that receives a key value for comparison with data values stored in a plurality of entries; and

at least one voting section that generates an output search status value in response to at least two received search status values generated from a same search request; wherein

the search status values correspond to types of search responses, such responses including a single match response that indicates the key value matches one searched entry of the search engine, and a single free entry response that indicates the key does not match any searched entries of the search engine and at least one entry does not store a valid data value.

2. The search engine system of claim 1 , wherein:

the voting section generates the output search status value based on a predetermined precedence of the received search status values with respect to one another for certain of the received search status values.

3. The search engine system of claim 1 , wherein:

at least one search engine that receives a key value for comparison with data values stored in a plurality of entries; and

the search status values correspond to types of responses selected from the group consisting of: a multiple free entry response that indicates the key does not match any searched entries of the search engine and at least two entries do not store valid data values; a single free sub-block response that indicates the key does not match any searched entries of the search engine and a sub-block of entries does not store valid data values, where a sub-block includes a plurality of entries; a multiple free sub-block response that indicates the key does not match any searched entries of the search engine and at least two sub-blocks do not store valid data values; a single free block response that indicates the key does not match any entries of the search engine and a block of entries does not store valid data values, where a block includes a plurality of sub-blocks; a multiple free block response that indicates the key does not match any searched entries of the search engine and at least two blocks do not store valid data values.

4. The search engine system of claim 1 , wherein:

the at least one voting section outputs a corresponding multiple result search status value when the at least two received search status values indicate a same predetermined single result search status value.

5. The search engine system of claim 4 , wherein:

the predetermined single result search status values and corresponding multiple search result status values are selected from the group consisting of: a single free entry response that indicates a key does not match any searched entries of the search engine and at least one entry does not store a valid data value and corresponding multiple free entries response; a single free sub-block response that indicates a key does not match any searched entries of the search engine and a sub-block of entries does not store valid data values, where a sub-block includes a plurality of entries and a corresponding multiple free sub-blocks response; and a single free block response that indicates a key does not match any searched entries of the search engine and a block of entries does not store valid data values, where a block includes a plurality of sub-blocks and a corresponding multiple free blocks response.

6. The search engine system of claim 1 , further including:

a plurality of search engines each having a unique device identification value; and

the at least two received search status values further include different device identification values, and the voting section generates the output search status based on a precedence between device identification values when the at least two responses both include a same predetermined search status value.

7. The search engine system of claim 1 , wherein:

the voting section includes at least one compare circuit for comparing a status value of a first response with a status value of a second response.

8. The search engine system of claim 7 , wherein:

the compare circuit includes at least one magnitude comparator.

9. The search engine system of claim 1 , further including:

a circuit that applies search key values to one of at least two portions of entries in a search engine device and provides a portion indication to the voting section that specifies which portion the search key is compared to.

10. The search engine system of claim 1 , further including:

at least one search engine that includes

at least two groups of entries that store data values for comparison with a search key, and

a priority store associated with each group of entries for storing a priority value for the group of entries, and

the at least one voting section further generates an output priority value in response to at least two received priority values generated from the same search request.

11. The search engine system of claim 10 , wherein:

the at least one search engine includes a first mode and a second mode; and

each priority value corresponds to a physical location of the associated group of entries in the first mode, and is programmable in the second mode.

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 →
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 Feb 26, 2007
From: CYPRESS SEMICONDUCTOR CORPORATION
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 018961/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2006
From: CYPRESS SEMICONDUCTOR CORPORATION
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 017379/0729 →