IP Library Granted Patent US 7,555,594
Granted Patent B2
US 7,555,594 · App. 11/428,381 · Granted Jun 30, 2009

Range representation in a content addressable memory (CAM) using an improved encoding scheme

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,555,594
App. No.
11/428,381
Granted
Jun 30, 2009
Kind
B2
Abstract

In a method and apparatus for encoding a bit field within a memory device, the bit field is encoded in a manner that requires fewer memory device entries and fewer encoded bits per entry than conventional encoding schemes.

Claims (38)

1. A method of operation within a packet processing device, the method comprising:

receiving first and second k-bit values that bound a range of values; and

encoding the range bounded by the first and second k-bit values into an encoded value having not more than 2 k −1 bits, wherein encoding the range bounded by the first and second k-bit values into an encoded value comprises:

(i) assigning a first number of bits in a first logic state to be left-justified bits of the encoded value, the first number of bits corresponding to the lower of the first and second k-bit values;

(ii) assigning a second number of bits in the first logic state to be right-justified bits of the encoded value the second number of bits being 2 k −1 less the higher the first and second k-bit values; and

(iii) assigning a third number of bits in a masked state to be contents of the encoded value between the left-justified and right-justified bits of the encoded value, the third number of bits being the difference between the first and second k-bit values, plus one.

2. The method of claim 1 further comprising storing the encoded value within a first entry in a ternary content addressable memory (CAM) device.

3. The method of claim 1 further comprising:

receiving a search value within the ternary CAM device;

encoding a k-bit field within the search value to form an expanded search value having at least an additional 2 k −1 bits; and

comparing the expanded search value with entries, including the first entry, within the TCAM device.

4. The method of claim 1 wherein assigning a first number of bits in the first logic state comprises assigning the first number of bits in a logic ‘0’ state.

5. The method of claim 1 wherein each of the first and second k-bit values is part of a respective M-bit value, where M>k.

6. The method of claim 1 wherein the first and second k-bit values are 2-bit values.

7. A method of operation within a content addressable memory (CAM) device, the method comprising:

encoding at least one group of k bits within a search value into an encoded bit field within an encoded search value, the encoded bit field having 2 k −1 bits wherein encoding the at least one group of k bits into an encoded bit field having 2 k −1 bits comprises:

assigning a first number of bits in a first logic state to be left-justified bits of the encoded bit field, the first number of bits corresponding to the numeric value represented by the k bits; and

assigning a second number of bits in a second logic state to be right-justified bits of the encoded bit field, the second number of bits being 2 k −1 less the first number of bits; and

comparing the encoded search value with data stored within the CAM device.

8. The method of claim 7 further comprising receiving a value that indicates a position of the at least one group of k bits within the search value.

9. The method of claim 8 further comprising storing the value that indicates the position within a programmable register of the CAM device.

10. The method of claim 7 further comprising receiving a value that indicates the number of bits, k, within the at least one group of k bits.

11. The method of claim 10 further comprising storing the value that indicates the number of bits, k, within a programmable register of the CAM device.

12. The method of claim 7 , wherein the first logic state is a logic ‘0’ state and the second logic state is a logic ‘1’ state.

13. A content addressable memory (CAM) device comprising:

a key expansion circuit to receive a search value and to encode at least one group of k bits within the search value into an encoded bit field within an encoded search value, the encoded bit field having 2 k −1 bits, wherein the key expansion circuit comprises circuitry to assign a first number of bits in a first logic state to be left-justified bits of the encoded bit field, and a second number of bits in a second logic state to be right-justified bits of the encoded bit field; and

a CAM array coupled to receive the encoded search value and having a plurality of CAM cells to store data and to compare the data to the encoded search value.

14. The CAM device of claim 13 further comprising a configuration register to store a value that indicates a position of the at least one group of k bits within the search value.

15. The CAM device of claim 13 further comprising a configuration register to store a value that indicates the number of bits, k, within the at least one group of k bits.

16. The CAM device of claim 13 wherein the first logic state is a logic ‘0’ state and the second logic state is a logic ‘1’ state.

17. A content addressable memory (CAM) device comprising:

means for receiving a search value and encoding at least one group of k bits within the search value into an encoded bit field within an encoded search value, the encoded bit field having 2 k −1 bits, wherein encoding at least one group of k bits within the search value comprises:

assigning a first number of bits in a first logic state to be left-justified bits of the encoded bit field; and

assigning a second number of bits in a second logic state to be right-justified bits of the encoded bit field; and

means for storing data and comparing the data to the encoded search value.

18. Computer-readable media having information embodied therein that includes a description of a content addressable memory (CAM) device, the information including descriptions of:

a key expansion circuit to receive a search value and to encode at least one group of k bits within the search value into an encoded bit field within an encoded search value, the encoded bit field having 2 k −1 bits, wherein the key expansion circuit comprises circuitry to assign a first number of bits in a first logic state to be left-justified bits of the encoded bit field, and a second number of bits in a second logic state to be right-justified bits of the encoded bit field; and

a CAM array coupled to receive the encoded search value and having a plurality of CAM cells to store data and to compare the data to the encoded search value.

Assignments (8)
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 Jul 17, 2006
From: VENKATACHARY, SRINIVASAN
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 017945/0004 →