A cross connect switch has a plurality of stages. Each stage has a
plurality of packers, a plurality of memory portions and a plurality of
multiplexers. Each packer receives input data and provides the input data
as a set of contiguous valid data. The multiplexers divide the valid data
from one of the packers into a plurality of data subsets and route each
data subset to a respective memory portion of that stage. Each stage
except the final stage provides the data in the memory portions of that
stage as a respective set of inputs to a next one of the stages. The
final stage includes a plurality of multiplexers for selecting a
respective subset of the data from each of the memory portions of the
final stage and provides the selected data at a plurality of respective
selected output ports.