Multi-dimensional data routing fabric simultaneously transfers multiple
data packets between data processing components. Data packets are
transported by arrays of data routing junctions dispersed along multiple
routing dimensions. Data routing junctions are interconnected along each
of routing dimensions with a mesh of data routing lines. Data transfers
are accomplished by source components launching data packets into the
multi-dimensional data routing fabric, and destination components
receiving the routed data packets from the fabric. Each packet is guided
by a chain of adjacent data routing junctions to converge on its
destination. Individual data routing junctions along the packet's path
make routing decisions by comparing the current location and direction of
movement of the packet to the location of its destination. Based on the
results of these comparisons, data packets are passed straight through to
the next junction ahead, or are turned to an adjacent junction to the
side of the current path.