Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
218 words
A memory for use in a switch in a communications network for implementing a multilevel hierarchical routing table comprising: an input for receiving a destination address of a call or packet, an output for outputting an output port entry indicating a particular output port of said switch for said call or packet, a plurality of content addressable memories, each content addressable memory associated with one level of said multilevel hierarchical routing table and comprising: a mask circuit for producing a masked destination address by masking out portions of said destination address of said call or packet received at said input which do not correspond to said one level of said routing table, and a memory array for storing routing table entries comprising destination addresses and corresponding output port entries for said one level of said multiple hierarchical routing table and for outputting, when each non-masked portion of said masked destination address matches corresponding portions of a destination address of a routing table entry stored in said memory array, an output port entry contained in the matched routing table entry, and a prioritizer for prioritizing said content addressable memories by selecting, for output from said output, the output port entry outputted from the content addressable memory associated with the lowest level in said hierarchy, in which a match occurred.
Claim 2
Dependent Claim
218 words
A memory for use in a switch in a communications network for implementing a multilevel hierarchical routing table comprising: an input for receiving a destination address of a call or packet, an output for outputting an output port entry indicating a particular output port of said switch for said call or packet, a plurality of content addressable memories, each content addressable memory associated with one level of said multilevel hierarchical routing table and comprising: a mask circuit for producing a masked destination address by masking out portions of said destination address of said call or packet received at said input which do not correspond to said one level of said routing table, and a memory array for storing routing table entries comprising destination addresses and corresponding output port entries for said one level of said multiple hierarchical routing table and for outputting, when each non-masked portion of said masked destination address matches corresponding portions of a destination address of a routing table entry stored in said memory array, an output port entry contained in the matched routing table entry, and a prioritizer for prioritizing said content addressable memories by selecting, for output from said output, the output port entry outputted from the content addressable memory associated with the lowest level in said hierarchy, in which a match occurred.
Claim 3
Dependent Claim
40 words
The memory of claim 1, wherein each memory array is capable of comparing, in parallel, said non-masked portions of said masked destination address to corresponding portions of each destination address of each routing table entry stored in said memory array.
Claim 4
Dependent Claim
27 words
The memory of claim 1 wherein said portions masked by said mask circuits correspond to wild card digits of said destination addresses stored in said memory array.
Claim 5
Dependent Claim
89 words
The memory of claim 1, wherein each content addressable memory outputs a signal to said prioritizer indicating that a match occurred therein, when said non-masked portions of said masked destination address match corresponding portions of a destination address of a routing table entry stored in said memory array, and wherein said prioritizer, in response to said signals outputted by the addressable memories, selects the output port entry outputted from the content addressable memory associated with the lowest level in the multilevel hierarchy which outputted a signal to said prioritizer.
Claim 6
Dependent Claim
71 words
The memory of claim 1 further comprising a plurality of output enable circuits, including one output enable circuit corresponding to each content addressable memory, for receiving an output port entry from said memory array of said corresponding content addressable memory and an output enable control signal from said prioritizer, and for outputting said output port entry from said output in response to said output enable signal received from said prioritizer circuit.
Claim 7
Independent Claim
180 words
A method for routing a call or packet received in a switch in a communications network comprising the steps of: in each of a plurality of mask circuits, each of said plurality of mask circuits corresponding to one level of a multilevel hierarchical routing table, masking out portions of a destination address of said call or packet, which portions depend on said one level of the hierarchy to which a mask circuit corresponds, from each of a plurality of memory arrays, with each memory array being associated with one of said mask circuits and storing routing table entries of said corresponding one level in the hierarchy comprising destination addresses and corresponding output port entries, outputting an output port entry of a routing table entry which comprises a destination address having portions which match each corresponding non-masked portion of the masked destination address, and routing said call or packet onto an output port indicated by an output port entry outputted from the memory array, corresponding to the lowest level in the hierarchy, of said memory arrays which output output port entries.
Claim 8
Independent Claim
180 words
A method for routing a call or packet received in a switch in a communications network comprising the steps of: in each of a plurality of mask circuits, each of said plurality of mask circuits corresponding to one level of a multilevel hierarchical routing table, masking out portions of a destination address of said call or packet, which portions depend on said one level of the hierarchy to which a mask circuit corresponds, from each of a plurality of memory arrays, with each memory array being associated with one of said mask circuits and storing routing table entries of said corresponding one level in the hierarchy comprising destination addresses and corresponding output port entries, outputting an output port entry of a routing table entry which comprises a destination address having portions which match each corresponding non-masked portion of the masked destination address, and routing said call or packet onto an output port indicated by an output port entry outputted from the memory array, corresponding to the lowest level in the hierarchy, of said memory arrays which output output port entries.
Claim 9
Dependent Claim
43 words
The method of claim 6 further comprising the step of comparing in each memory array, in parallel, each non-masked portion of the masked destination address with a corresponding portion of each destination address of each routing table entry stored in said memory array.
Claim 10
Dependent Claim
84 words
The method of claim 6 further comprising the steps of: from each memory array, if said non-masked portions of the masked destination address match corresponding portions of a destination address of a routing table entry stored in said memory array, outputting an indication signal and said output port entry of the matched routing table entry, and of said memory arrays which output an indication signal, selecting only the output port entry outputted from the memory array corresponding to the lowest level in the hierarchy.
Claim 11
Dependent Claim
26 words
The method of claim 6 wherein each routing table entry stored in each memory array comprises an additional address for addressing a further bloc of data.
Claim 12
Dependent Claim
115 words
A memory for use in a central office switch for implementing a multilevel hierarchical routing table comprising a plurality of content addressable memory means, each associated with one level of said multilevel hierarchical routing table and each comprising mask circuit means for masking out portions of a destination address of a call or packet which do not correspond to said one level of said routing table, and memory array means for storing routing table entries comprising destination addresses and corresponding output port entries for said one level of said routing table and for comparing non-masked portions of the masked destination address to corresponding portions of each destination address of each routing table entry stored therein.
Claim 13
Dependent Claim
115 words
A memory for use in a central office switch for implementing a multilevel hierarchical routing table comprising a plurality of content addressable memory means, each associated with one level of said multilevel hierarchical routing table and each comprising mask circuit means for masking out portions of a destination address of a call or packet which do not correspond to said one level of said routing table, and memory array means for storing routing table entries comprising destination addresses and corresponding output port entries for said one level of said routing table and for comparing non-masked portions of the masked destination address to corresponding portions of each destination address of each routing table entry stored therein.
Claim 14
Dependent Claim
55 words
The memory of claim 10 wherein the memory array means of each of the content addressable memory means outputs an indication when there is a match between the non-masked portions of said destination address of said call or packet and the corresponding portions of a destination address of a particular routing table entry stored therein.
Claim 15
Dependent Claim
38 words
The memory of claim 11 wherein said memory further comprises a prioritizer for, in response to said indications, giving priority to the content addressable memory means of the lowest level of the hierarchy in which a match occurred.
Claim 16
Dependent Claim
30 words
The memory of claim 11 wherein one or more of said content addressable memory means are logical content addressable memories implemented as part of a multiple logical content addressable memory.