IP Library Granted Patent US 7,353,330
Granted Patent B2
US 7,353,330 · App. 10/425,957 · Granted Apr 1, 2008

Method and apparatus for performing repeated content addressable memory searches

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,353,330
App. No.
10/425,957
Granted
Apr 1, 2008
Kind
B2
Abstract

A method for reducing the number of cycles required for setting up content addressable memory contexts is disclosed. In particular, the method reduces the number of cycles required for setting up multiple contexts of burst operations, in which each context includes the same data key. Each context includes a special field that is set by the user, called a data reuse field. Setting the data reuse field to a first state indicates that the data from the corresponding context is to be used in the operation. Setting the data reuse field to a second state indicates that the data from the most recent operation is to be used instead. Hence the search data key can be written to a single context, avoiding consumption of cycles required for writing the same search data key to subsequent contexts of the burst operation.

Claims (28)

1. A method for generating a data structure for performing a search of a content addressable memory (CAM), the data structure having an instruction field, a search data field and a data re-use field, the method comprising:

writing an instruction to the instruction field;

setting a data re-use field to one of a false state and true state; and,

writing a context data key, for effecting the search of the CAM, to the search data field if the data re-use field is set to the false state, otherwise writing a previous context data key, for effecting the search of the CAM, to the search data field if the data re-use field is set to the true state.

2. The method of claim 1 , wherein the step of writing the context data key includes retaining previously written data in the search data field if the data re-use field is set to the true state.

3. The method of claim 1 , wherein the step of writing the context data key includes resetting the search data field if the data re-use field is set to the true state.

4. The method of claim 1 , wherein the step of writing the context data key includes copying a previous context data key to the search data field if the data re-use field is set to the true state.

5. A context pipeline circuit for providing an instruction and data to a content addressable memory (CAM), the context pipeline circuit comprising:

an instruction pipeline for receiving the instruction and associated re-use data, and for providing the instruction to the CAM;

a data pipeline for receiving current search data and providing the current search data from an output of the data pipeline; and,

a data re-use circuit for receiving the re-use data from the instruction pipeline, the current search data from the output, and previously latched search data, the data re-use circuit selectively providing as the search data for performing a search of the CAM one of the current search data and the previously latched search data in response to a status of the re-use data.

6. The context pipeline circuit of claim 5 , wherein the data re-use circuit includes

a multiplexor having a first input for receiving the current search data, a second input for receiving the previously latched search data, and a control input for receiving the re-use data, the multiplexor providing as the search data one of the current search data and the previously latched search data in response to the status of the re-use data, and

a register for latching the search data and for providing the latched search data as the previously latched data.

7. A method for performing repeated searches on a content addressable memory (CAM), the method comprising:

writing a plurality of data structures to context registers for performing searches of the CAM, each data structure having an instruction field for storing an instruction, a data field for storing search data and a data re-use field for storing a data re-use bit;

selecting a context for execution in the CAM;

forwarding the instruction of the selected context to the CAM; and,

forwarding one of the search data of the selected context and the search data of another context to the CAM in response to a state of the data re-use bit.

8. The method of claim 7 , wherein the data re-use field stores addressing bits, and wherein the step of forwarding one of the search data of the selected context and the search data of another context includes forwarding the search data of the other context addressed by the addressing bits.

9. The method of claim 7 , wherein the other context includes a previously executed context.

10. A method for performing repeated searches on a content addressable memory (CAM), the method comprising:

writing a plurality of data structures to context registers, each data structure having an instruction field for storing an instruction, a data field for storing search data for performing a search of the CAM, and a data reuse field for storing a data re-use bit;

selecting a first context for execution in the CAM;

forwarding the instruction and the search data of the first context to the CAM;

selecting a second context for execution in the CAM;

forwarding the instruction of the second context to the CAM; and

forwarding one of the search data of the second context and the search data of the first context to the CAM in response to a state of the data re-use bit.

Assignments (7)
RELEASE OF U.S. PATENT AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Oct 12, 2018
From: ROYAL BANK OF CANADA, AS LENDER
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 047645/0424 →
U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Sep 9, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS INC., AS LENDER; ROYAL BANK OF CANADA, AS LENDER
Reel/Frame 033706/0367 →
CHANGE OF ADDRESS Recorded Sep 3, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 033678/0096 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2014
From: ROYAL BANK OF CANADA
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.; CONVERSANT IP N.B. 868 INC.; CONVERSANT IP N.B. 276 INC.
Reel/Frame 033484/0344 →
CHANGE OF NAME Recorded Mar 13, 2014
From: MOSAID TECHNOLOGIES INCORPORATED
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 032439/0638 →
U.S. INTELLECTUAL PROPERTY SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) - SHORT FORM Recorded Jan 10, 2012
From: 658276 N.B. LTD.; 658868 N.B. INC.; MOSAID TECHNOLOGIES INCORPORATED
To: ROYAL BANK OF CANADA
Reel/Frame 027512/0196 →
CHANGE OF ADDRESS OF ASSIGNEE Recorded Apr 15, 2009
From: MOSAID TECHNOLOGIES INCORPORATED
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 022542/0876 →