Method and apparatus for high speed, scalable communication system
AssigneePMC-Sierra, Inc.
InventorsBrain D. Holden, Brian D. Alleyne, Darren S. Braun, Kevin Reno, Chee Hu, Raghavan Menon, Steve Sprouse
Life of this patent
Estimating the term…
Abstract
Methods and devices useful in high-speed scalable switching systems include a memoryless switch fabric, per virtual channel queuing, digital phase aligners, randomized and complement connection modes, a mid-point negative acknowledge and output negative acknowledge scheme among other elements. A particular implementation of a routing table and switch element is described in part to illustrate the various techniques and devices of the invention.
Claims10
A method in a switch element for selecting which cells will be connected to its output ports, comprising:
- (i) receiving a plurality of unicast cells on a plurality of input ports;
- (ii) storing received multicast cells in a single multicast cell buffer, wherein multicast cells of all priorities are stored in said multicast cell buffer;
- (iii) for each of said output ports of said switch element, selecting a unicast cell as a candidate to be connected to that port;
- (iv) reading from said single multicast cell buffer a plurality of multicast cells;
- (v) for each of said output ports of said switch element selecting a multicast cell as a candidate to be connected to that port;
- add
- (vi) for each of said output ports, comparing a priority of its associated candidate unicast cell to a priority of its associated candidate multicast cell and transmitting a higher priority cell out of said port,
- (vii) performing steps (iii) through (vi) wherein said unicast cells are routed in a single cell time.
A method in a switch element for selecting which cells will be connected to a plurality of output ports comprising:
- (i) receiving a plurality of unicast cells on a plurality of input ports directed to a first group of output ports;
- (ii) storing received multicast cells in a single multicast cell buffer, wherein multicast cells of all priorities are stored in said multicast cell buffer;
- (iii) for said first group of output ports selecting a corresponding number of unicast cells to connect to said first group of output ports and aligning cells from highest priority to lowest priority to said first group's output ports from highest numbered output port to lowest number output port;
- (iv) reading from said single multicast cell buffer a plurality of multicast cells;
- (v) for said first group of output ports selecting a corresponding number of multicast cells to connect to said first group of output ports and aligning said corresponding number of multicast cells from highest priority to lowest priority to said first group's output ports from lowest numbered output port to highest numbered output port;
- and
- (vi) for each output port belong to said first group of output ports comparing an aligned unicast cell to an aligned multicast cell and transmitting the higher priority cell out of said port,
- (vii) performing steps (iii) through (vi) wherein said unicast cells are routed in a single cell time.
A method in a queue for remembering the arrival order of queue entries, wherein multiple queue entries can arrive in a given clock cycle comprising:
- assigning timestamp values to arriving entries, wherein timestamp values assigned to an entry define a plurality of timestamp values;
- and
- during any given clock cycle when any number of new entries arrive, performing the following steps;
- incrementally searching on said plurality to timestamp values from a low value to a high value until an empty timestamp value is found;
- incrementing all assigned timestamp values that are lower than said empty timestamp value;
- and
- assigning an assigned timestamp value to said new entries.
Dependencies are inferred from the claim text.