IP Library Granted Patent US 9,025,354
Granted Patent B2
US 9,025,354 · App. 13/915,211 · Granted May 5, 2015

Power limiting in a content search system

Inventor: Shankar Channabasappa (San Jose, CA)
Assignee: Broadcom Corporation
G11C15/04G11C5/14G11C15/00G06F1/3275Y02B60/1225
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 9,025,354
App. No.
13/915,211
Granted
May 5, 2015
Kind
B2
Abstract

A content search system including a CAM device having a plurality of CAM blocks and a governor logic receives a search request and compares the number of CAM blocks required to perform the requested search to a limit number, the limit number being the maximum number of CAM blocks permitted to be used in a requested search operation. If the number of CAM blocks required to perform the requested search exceeds the maximum number of CAM blocks permitted to be used in a requested search operation, then the search operation is rejected. The governing operation can be performed on each requested search, thus limiting power dissipation. The relationship between a maximum number of CAM blocks and power dissipation can be characterized, and a corresponding block limit value can be stored into a memory accessible by governor logic.

Claims (45)

1. A content search system for maintaining its power consumption below a specified power limit, comprising:

a plurality of content addressable memory (CAM) blocks, each CAM block from among the plurality of CAM blocks having an array of CAM cells; and

a configuration memory that stores:

a block limit value indicating a maximum number of the plurality of CAM blocks that can be concurrently searched without exceeding the specified power limit;

a list of CAM blocks of the plurality of CAM blocks that are defective; and

a block map that disables the listed CAM blocks that are defective based on the block limit value.

2. The content search system of claim 1 , further comprising:

governor logic, coupled to the plurality of CAM blocks and to the configuration memory, the governor logic configured to allow a search operation to be performed in a requested number of the plurality of CAM blocks only if the requested number is less than or equal to the block limit value.

3. The content search system of claim 2 , wherein the governor logic is further configured to reject the search operation if the requested number of the plurality of CAM blocks is greater than the block limit value.

4. The content search system of claim 2 , wherein the governor logic is further configured to receive a search request indicating the requested number of the plurality of CAM blocks for the search operation.

5. The content search system of claim 1 , wherein the configuration memory comprises a non-volatile read-only memory.

6. The content search system of claim 1 , wherein the configuration memory comprises a fuse bank.

7. The content search system of claim 1 , wherein the block limit value is determined during simulation or testing of the content search system.

8. The content search system of claim 2 , further comprising:

a block selection controller, coupled to the governor logic, configured to:

selectively enable the requested number of the plurality of CAM blocks, and

disable a non-requested number of the plurality of CAM blocks during the search operation.

9. The content search system of claim 8 , wherein the block selection controller is configured to disable all of the plurality of CAM blocks if the requested number of the plurality of CAM blocks is greater than the block limit value.

10. The content search system of claim 2 , wherein the governor logic comprises:

a parser circuit configured to receive a search request to extract a search key and a search profile identification (ID) from the search request;

a profile table configured to select, in response to the extracted search profile ID, one of a plurality of search profiles stored therein; and

compare logic configured to compare the selected search profile with the block limit value to generate a search enable signal that selectively enables the search operation to be performed.

11. The content search system of claim 10 , wherein the selected search profile is configured to indicate which of the plurality of CAM blocks are requested for the search operation.

12. The content search system of claim 10 , further comprising:

a block selection controller configured to:

receive the selected search profile and the search enable signal, and

generate a plurality of block enable signals, each of which selectively enables a corresponding one of the plurality of CAM blocks for the search operation.

13. The content search system of claim 12 , wherein the block selection controller is further configured to selectively assert the plurality of block enable signals in response to the selected search profile.

14. The content search system of claim 12 , wherein the block selection controller is further configured to de-assert all of the plurality of block enable signals to disable all corresponding CAM blocks of the plurality of CAM blocks if the search enable signal is de-asserted.

15. A content search system for maintaining its power consumption below a specified power limit during a search operation, comprising:

a plurality of content addressable memory (CAM) blocks, each CAM block from among the plurality of CAM blocks having an array of CAM cells;

governor logic configured to:

receive a block limit value indicating a maximum number of CAM blocks from among the plurality of CAM blocks that can be concurrently searched without exceeding the specified power limit and a search request that requests a number of the CAM blocks for the search operation, and

generate a search enable signal; and

a configuration memory that stores:

a list of CAM blocks of the plurality of CAM blocks that are defective; and

a block map that disables the listed CAM blocks based on the block limit value.

16. The content search system of claim 15 , further comprising:

a block selection controller configured to:

receive the search enable signal and information associated with the search request, and

generate a plurality of block enable signals, each of the plurality of block enable signals selectively enabling a corresponding one of the plurality of CAM blocks for the search operation.

17. The content search system of claim 15 , wherein the governor logic is further configured to assert the search enable signal to allow the search operation to be performed in the requested number of the CAM blocks only if the requested number of the CAM blocks is less than or equal to the block limit value.

18. The content search system of claim 16 , wherein the block selection controller is further configured to selectively assert the plurality of block enable signals to enable only the requested number of the CAM blocks when the search enable signal is asserted.

19. The content search system of claim 15 , wherein the governor logic is further configured to de-assert the search enable signal to prevent the search operation from being performed if the requested number of the CAM blocks is greater than the block limit value.

20. The content search system of claim 18 , wherein the block selection controller is further configured to de-assert the plurality of block enable signals to disable search of the CAM blocks when the search enable signal is de-asserted.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
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 Mar 31, 2015
From: NETLOGIC MICROSYSTEMS, INC.
To: NETLOGIC I LLC
Reel/Frame 035347/0814 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2015
From: NETLOGIC I LLC
To: BROADCOM CORPORATION
Reel/Frame 035302/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2013
From: CHANNABASAPPA, SHANKAR
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 030589/0465 →
Continuity (2)
Continuation 13069220 · Mar 22, 2011
Related Publication 20130279231A1 · Oct 24, 2013