Distributed content addressable memory
First Claim
Patent Images
1. A distributed content addressable memory (CAM), comprising:
- a plurality of CAMs interconnected on a ring bus by a first plurality of data paths that make up the ring bus such that a command received at a first CAM on said ring bus is executable by at least one CAM on the ring bus.
6 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a large capacity distributed content addressable memory (CAM) made up of a plurality of smaller CAMs interconnected on a high speed data bus. Each of the smaller CAMs is located at a local node on the data bus and configured to receive commands originating from both the local node in which the CAM is located and a local node in which another CAM on the data bus is located. As the resources and the data being stored by all the CAMs are shared through the high speed data bus, the aggregate contents of all the CAMs can be viewed as being stored in a single virtual CAM.
19 Citations
56 Claims
-
1. A distributed content addressable memory (CAM), comprising:
a plurality of CAMs interconnected on a ring bus by a first plurality of data paths that make up the ring bus such that a command received at a first CAM on said ring bus is executable by at least one CAM on the ring bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19)
-
12. A distributed content addressable memory (CAM), comprising:
a plurality of CAMs interconnected on a ring bus by a plurality of data paths that make up the ring bus such that a command received at a first CAM on said ring bus is executable at said first CAM and also executable at every other CAM on said ring bus.
-
13. A distributed content addressable memory (CAM), comprising:
-
a first CAM having a data input and a data output; and
a data input of a second CAM coupled to said data output of said first CAM via a first data path, and a data output of said second CAM coupled to said data input of said first CAM via a second data path such that a command received from a local input of said first CAM is executable at both said first and said second CAMs.
-
-
14. A packet structure for use with a distributed content addressable memory (CAM), said packet structure comprising:
-
a source node portion for identifying a local node on a ring bus of said distributed CAM from which said packet originated;
a request identification portion for matching a request, and a response to the request, associated with said packet;
a command portion for identifying a specific command;
a data length portion indicating a quantity of data associated with said packet; and
a data portion including said data.
-
-
15. A content addressable memory (CAM), comprising:
-
a first input for receiving first input data from a ring bus to which the CAM is coupled;
a first output for passing first output data to said ring bus;
a second input for receiving second input data from a local node to which said CAM belongs; and
a second output for passing second output data from said CAM to said local node.
-
-
20. A content addressable memory (CAM), comprising:
-
a first input for receiving first input data from a ring bus to which said CAM is coupled;
a second input for receiving second input data from a local node of said ring bus to which said CAM belongs;
a CAM controller coupled to said first and second inputs for controlling processing of said first and second input data;
a CAM array coupled to said CAM controller for storing data to be compared with at least respective portions of said first and second input data;
a plurality of result registers coupled to said CAM array for indicating a result of comparing the stored data with said respective portions of the first and second input data;
a CAM output multiplexer for receiving said results and for generating first and second output data based on said results;
a first output for passing said first output data from said CAM to said ring bus; and
a second output for passing said second output data from said CAM to said local node.
-
-
21. A semiconductor memory chip, comprising:
-
a distributed content addressable memory (CAM), said distributed CAM comprising;
a plurality of CAMs interconnected on a ring bus by a plurality of data paths that make up the ring bus such that a command received at a first CAM on said ring bus is executable at said first CAM and also executable at at least a second CAM of said plurality of CAMs. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A router, comprising:
-
a plurality of message receiving inputs;
a plurality of message transmitting outputs; and
a distributed content addressable memory (CAM), said distributed CAM comprising;
a plurality of CAMs interconnected on a ring bus by a plurality of data paths that make up the ring bus such that a command received at a first CAM on said ring bus is executable by at least one CAM on the ring bus. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A method for operating a distributed content addressable memory (CAM), the method comprising:
-
receiving a command at a first CAM of a plurality of CAMs interconnected on a ring bus; and
executing said command at said first CAM. - View Dependent Claims (44, 46, 47, 48, 49, 50, 51)
-
-
45. A method for operating a distributed content addressable memory (CAM), the method comprising:
-
receiving a command at a first CAM of a plurality of CAMs interconnected on a ring bus;
executing said command at a second CAM on said ring bus; and
passing a result of said executing operation to said first CAM via said ring bus.
-
-
52. A method of operating a distributed content addressable memory (CAM), the method comprising:
-
receiving a packet at a ring bus input of a first CAM of a plurality of CAMs interconnected on a ring bus;
determining that said packet originated at said first CAM; and
copying said packet to a local output of said first CAM.
-
-
53. A method of operating a distributed content addressable memory (CAM), the method comprising:
-
receiving a packet at a ring bus input of a first CAM of a plurality of CAMs interconnected on a ring bus;
determining that said packet did not originate at said first CAM; and
executing a command associated with said packet at said first CAM.
-
-
54. A method of operating a distributed content addressable memory (CAM), the method comprising:
-
receiving a learn command at a first CAM of a plurality of CAMs interconnected on a ring bus; and
storing data associated with said learn command only in said first CAM. - View Dependent Claims (55, 56)
-
Specification