Patent ID: 7426216

Claim:
A crossbar switch controller comprising: an input terminal configured to receive a set of service request signals from a set of virtual output queues each comprising a set of packets; a matrix circuit coupled to said input terminal and configured to represent said set of service request signals in the form of a matrix, wherein each service request signal is described by a row position M and a column position N; an output terminal coupled to said matrix circuit and configured to receive a portion of said set of packets during an epoch; an arbiter circuit coupled to said matrix circuit and configured to iteratively scan said matrix during said epoch and issue a set of grant signals to said virtual output queues to determine which service requests are granted; an arbiter controller coupled to said arbiter circuit and configured to initiate said arbiter circuit with an array of non-conflicting matrix elements; whereby, said arbiter circuit scans said matrix during a first epoch, issues said set of grant signals, allows a set of granted service requests to substantially complete, and if necessary, scans said matrix during subsequent epochs; wherein said arbiter controller is configured to initiate said arbiter circuit with a different array of non-conflicting matrix elements each epoch, and when in steady state operation, said arbiter controller is configured to determine said array of non-conflicting matrix elements for an epoch P based at least in part on a successive selection.