IP Library Granted Patent US 7,822,877
Granted Patent B2
US 7,822,877 · App. 11/945,930 · Granted Oct 26, 2010

Network processor integrated circuit with a software programmable search engine communications module

Assignee: Bay Microsystems, Inc.
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,822,877
App. No.
11/945,930
Granted
Oct 26, 2010
Kind
B2
Abstract

A network processor IC for processing network traffic includes a bus interface and a software programmable search engine communications module. The bus interface of the network processor IC is not specific to a particular search engine and the software programmable search engine communications module enables communications to be conducted between the network processor IC and the search engine via the bus interface according to whatever communications protocol the search engine requires. Using the software programmable search engine communications module, a network processor IC is software programmed to communicate with a particular search engine in a manner that is completely compatible with the search engine.

Claims (45)

1. A network processor integrated circuit (IC) for processing network traffic, the network processor IC comprising:

a search engine-independent bus interface within the network processor IC for connecting to a search engine that is external to the network processor IC and includes a search memory, wherein the search engine utilizes a search engine-specific communications protocol;

a software programmable search engine communications module within the network processor IC configured to enable communications between the network processor IC and the search engine via the search engine-independent bus interface according to the search engine-specific communications protocol;

a programming interface for receiving computer readable instructions for programming the software programmable search engine communications module; and

a traffic classifier for generating search keys that are provided to the search engine via the software programmable search engine communications module;

wherein the software programmable search engine communications module comprises programmable hardware circuits, which when programmed in response to the computer readable instructions:

cause the network processor IC to communicate with the search engine according to the search engine-specific communications protocol, including using a search engine-specific instruction set; and

assign pins of the search engine-independent bus interface to an instruction bus, a data bus, and a reply bus;

wherein;

the pins assigned to the instruction bus are used to communicate search instructions from the network processor IC to the search engine;

the pins assigned to the data bus are used to communicate the search keys and search entries from the network processor IC to the search engine; and

the pins assigned to the reply bus are used to communicate indexes or handles from the search engine to the network processor IC.

2. The network processor IC of claim 1 wherein the number of pins of the search engine-independent bus interface is different from the number of pins of the search engine.

3. The network processor IC of claim 1 wherein the search memory is content addressable memory (CAM).

4. The network processor IC of claim 1 wherein the software programmable search engine communications module is programmed to use the search engine-specific instruction set.

5. A method for utilizing a search engine that is external to a network processor integrated circuit (IC), the method comprising:

identifying a search engine-specific communications protocol that is used by the search engine;

software programming the network processor IC to enable communications between the network processor IC and the search engine according to the search engine-specific communications protocol, wherein software programming the network processor IC comprises providing software programming instructions to the network processor IC through a programming interface of the network processor IC, programming hardware programmable circuits of the network processor IC, and assigning pins of a search engine-independent bus interface of the network processor IC to an instruction bus, a data bus, and a reply bus, wherein;

the pins assigned to the instruction bus are used to communicate search instructions from the network processor IC to the search engine;

the pins assigned to the data bus are used to communicate the search keys and search entries from the network processor IC to the search engine; and

the pins assigned to the reply bus are used to communicate indexes or handles from the search engine to the network processor IC;

receiving a packet at the network processor IC;

obtaining a search key from the packet;

communicating the search key from the network processor IC to the search engine according to the search engine-specific communications protocol; and

communicating a search result from the search engine to the network processor IC according to the search engine-specific communications protocol;

wherein the search engine-specific communications protocol comprises a search engine-specific instruction set and wherein communicating the search key from the network processor IC to the search engine comprises communicating at least one instruction from the search engine-specific instruction set.

6. The method of claim 5 wherein the software programming comprises specifying the pin locations of a VALID signal and a HIT signal within the reply bus of the search engine-independent bus interface.

7. The method of claim 5 wherein the software programming comprises programming the software programmable search engine communications module so that the network processor IC expects a search result to be received either with a VALID signal or at a fixed delay.

8. A system comprising:

a network processor integrated circuit (IC) for processing network traffic;

a search engine that is external to the network processor IC, the search engine having a search memory and a search engine-specific communications module that utilizes a search engine-specific communications protocol; and

a communications bus that connects the network processor IC to the search engine;

the network processor IC comprising:

a traffic classifier for generating search keys that are provided to the search engine via the communications bus;

a search engine-independent bus interface within the network processor IC, the search engine-independent bus interface including pins for connecting to the communications bus;

a software programmable search engine communications module within the network processor IC configured to enable communications between the network processor IC and the search engine via the search engine-independent bus interface according to the search engine-specific communications protocol, wherein the software programmable search engine communications module comprises programmable hardware circuits, which when programmed in response to computer readable instructions:

cause the network processor IC to communicate according to the search engine-specific communications protocol, including using a search engine-specific instruction set; and

assign pins of the search engine-independent bus interface to an instruction bus, a data bus, and a reply bus;

wherein;

the pins assigned to the instruction bus are used to communicate search instructions from the network processor IC to the search engine;

the pins assigned to the data bus are used to communicate the search keys and search entries from the network processor IC to the search engine; and

the pins assigned to the reply bus are used to communicate indexes or handles from the search engine to the network processor IC;

a programming interface configured to receive computer readable instructions for programming the software programmable search engine communications module.

9. The network processor IC of claim 8 wherein the search engine includes a bus interface that includes pins and wherein the number of pins of the search engine-independent bus interface is different from the number of pins of the search engine.

10. The network processor IC of claim 8 wherein the software programmable search engine communications module is programmed to use the search engine-specific instruction set.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jan 30, 2014
From: COMERICA BANK
To: BAY MICROSYSTEMS, INC.
Reel/Frame 032093/0430 →
SECURITY AGREEMENT Recorded Dec 30, 2008
From: BAY MICROSYSTEMS, INC.
To: COMERICA BANK
Reel/Frame 022043/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2008
From: CHONG, SIMON; PAN, STEVEN
To: BAY MICROSYSTEMS, INC.
Reel/Frame 020434/0424 →
Continuity (2)
Provisional Application 6086117600 · Nov 27, 2006
Related Publication 20080126321A1 · May 29, 2008