Self-steering Clos switch
OwnerMark Carsoninventor
Life of this patent
Estimating the term…
Abstract
A self-steering switch includes an input stage, and output stage, and an arbitration stage. The input stage is configured to accumulate a surplus of switching cycles, allowing the arbitration stage to resolve traffic congestion without blockage. The arbitration stage includes a configuration memory, one or more arbitrators, and one or more buffers in which queuing of memory requests is conducted. Contention for memory access is resolved by the arbitrators on a fair basis, for example through a round-robin scheme.
Claims20
A self-steering switch comprising:
- an input stage;
- an arbitration stage;
- and
- an output stage,
- the switch being configured such that the input stage accumulates a surplus of switching cycles to thereby enable the arbitration stage to suspend transfer of data without disrupting data traffic flow between the input stage and the output stage.
A self-steering switch comprising:
- an input stage;
- an arbitration stage;
- and
- an output stage,
- the input stage comprising a memory block of one or more dual-port memory devices into which data is written during one or more write operations and is read during one or more read operations, the memory block being configured such that, for a repeating time duration containing a predefined number of clock cycles, the number of read operations from the memory block exceeds the number of write operations to the memory block.
A self-steering switch for directing data traffic between one or more input ports and one or more output ports, the switch comprising:
- an input stage into which data is sequentially written;
- an arbitration stage which causes non-sequential reading of the data written into the input stage;
- and
- an output stage into which the arbitration stage causes the non-sequentially read data to be written, and from which said data is sequentially read,
- wherein the input stage is configured to have an excess of read bandwidth over write bandwidth, said excess being utilized by the arbitration stage to resolve traffic congestion without blockage.
A method for directing data traffic flow between one or more input ports and one or more output ports, the method comprising:
- writing data sequentially into an input stage;
- reading the data non-sequentially from the input stage, wherein said writing and reading of data from the input stage cause an excess of read bandwidth over write bandwidth;
- writing the non-sequentially read data into the output stage;
- and
- utilizing said excess of read bandwidth to resolve traffic congestion between the input and output ports without blockage.
The method of claim 16, further comprising arbitrating data access contention on a fair basis.
The method of claim 17, wherein said arbitrating is conducted using a round-robin scheme.
A method for directing data traffic flow between one or more input ports and one or more output ports, the method comprising:
- writing data into an input stage;
- reading the data from the input stage, wherein, for a repeating time duration containing a predefined number of clock cycles, said reading is performed more than said writing;
- and
- writing the data read from the input stage into an output stage.
A method for directing data traffic flow between one or more input ports and one or more output ports using an arbitration stage, the method comprising:
- writing data into an input stage;
- reading the data from the input stage;
- writing the data read from the input stage into an output stage;
- and
- accumulating a surplus of switching cycles to thereby enable the arbitration stage to suspend transfer of data without disrupting data traffic flow between the input stage and the output stage.
Dependencies are inferred from the claim text.