Double density content addressable memory (CAM) lookup scheme
First Claim
1. A method, comprising:
- examining at least one bit of a network address associated with received data;
based on the at least one bit of the network address, determining which of first or second portions of a memory to search to obtain information; and
using the information obtained from the searched first or second portion of the memory to forward the received data.
7 Assignments
0 Petitions
Accused Products
Abstract
The number of content addressable memory (CAM) lookups is reduced from two to one. Each side (left and right sides) of a CAM is programmed with network addresses, such as IP addresses, based on certain bits of the network addresses. These bits of the network addresses (which represent packet routes) are examined and used to determine whether the particular network address is to be placed on the left or right sides of the CAM. The grouping of certain network addresses either on the left or right sides of the CAM can be performed by examining an individual bit of each network address, by performing an exclusive OR (XOR) operation on a plurality of bits of each network address, and/or by searching for bit patterns of the network address in a decision table. Network addresses that cannot be readily assigned to a particular side of the CAM using these grouping techniques are programmed into both sides of the CAM. During packet routing, techniques similar to the grouping techniques that populated the CAM are used to determine which of the two sides of the CAM is to be searched.
-
Citations
21 Claims
-
1. A method, comprising:
-
examining at least one bit of a network address associated with received data; based on the at least one bit of the network address, determining which of first or second portions of a memory to search to obtain information; and using the information obtained from the searched first or second portion of the memory to forward the received data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a first memory having first and second sections; a communication interface configured to receive a packet having an associated network address; a lookup handler coupled to the communication interface, the lookup handler configured to examine at least one bit of the network address associated with the packet, and select, based upon the at least one bit, one of the first or second sections of the first memory; and a first memory interface configured to search the selected section of the first memory to obtain information for forwarding the packet. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
Specification