Patent ID: 7594024

Claim:
A storage server in a storage area network connecting a plurality of host computers and a plurality of storage devices, the storage server comprising: a switching circuit in the storage server that connects a plurality of storage processors and associates a first storage processor from the plurality of storage processors with said plurality of host computers and further associates a second storage processor from the plurality of storage processors with said plurality of storage devices, wherein said plurality of storage processors in the storage server receive a plurality of command packets and a plurality of data packets; and a microengine in each of the plurality of storage processors to process said plurality of command packets and plurality of data packets using microcode and configure a routing path through said switching circuit to establish communication between the first storage processor and the second storage processor, wherein the microcode executing on the microengines from the first of the one or more of the plurality of storage processors is responsive to at least one command packet of said plurality of command packets and embeds routing instructions for the routing path directly in each data packet of said plurality of data packets over said path using one or more microcode instructions in the microcode thereby allowing initial routing operations for a data packet between said first storage processor and said second storage processor through said switching circuit to take place prior to completely receiving said data packet in the entirety, and further configures a plurality of paths between the second storage processor and a storage device from the plurality of storage devices in accordance with said command packet.