The invention relates to a crossbar switch controller including 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. It also
includes a matrix circuit coupled to the input terminal and configured to
represent the 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 is configured to receive a
portion of the set of packets during an epoch, an arbiter circuit
configured to iteratively scan the matrix during the epoch and issue the
set of grant signals to the virtual output queues to determine which
service requests are granted, and an arbiter controller configured to
initiate the arbiter circuit with an array of non-conflicting matrix
elements. The Arbiter is configured to scan the matrix during a first
epoch, issues the set of grant signals, allows the set of granted service
requests to substantially complete, and if necessary, scans the matrix
during subsequent epochs.