Claims
- 1. A storage server in a storage area network connecting a plurality of host computers and a plurality of storage devices, said storage server comprising:
a plurality of storage processors associated with said plurality of host computers and said plurality of storage devices, wherein said plurality of storage processors receives a plurality of command packets and a plurality of data packets; a switching circuit connecting said plurality of storage processors; and a microengine, wherein said microengine is configured to execute processing comprising:
configuring a path between a first storage processor and a second storage processor of said plurality of storage processors, via said switching circuit, in accordance with a command packet of said plurality of command packets; and routing a data packet of said plurality of data packets over said path, prior to completely receiving said data packet, between said first storage processor and said second storage processor via said switching circuit.
- 2. The storage server of claim 1, wherein said first storage processor includes a lookup table that associates one or more virtual logical unit numbers (VLUNs) with one or more physical logical unit numbers (PLUNs), wherein said one or more PLUNs are associated with said plurality of storage devices, and wherein said one or more VLUNs are virtualizations of said one or more PLUNs.
- 3. The storage server of claim 1, wherein said microengine is a component of one of said plurality of storage processors.
- 4. The storage server of claim 1, further comprising:
a plurality of microengines, wherein said plurality of microengines are components of said plurality of storage processors.
- 5. The storage server of claim 1, wherein said plurality of data packets are received from one of said plurality of host computers.
- 6. The storage server of claim 1, wherein said plurality of data packets are received from one of said plurality of storage devices.
- 7. The storage server of claim 1, wherein said plurality of data packets are received from more than one of said plurality of storage devices.
- 8. The storage server of claim 1, wherein said plurality of data packets are routed to one of said plurality of host computers.
- 9. The storage server of claim 1, wherein said plurality of data packets are routed to one of said plurality of storage devices.
- 10. The storage server of claim 1, wherein said plurality of data packets are routed to more than one of said plurality of storage devices.
- 11. The storage server of claim 1, wherein said microengine is further configured to execute processing comprising:
configuring a plurality of paths in accordance with said command packet.
- 12. The storage server of claim 1, wherein said first storage processor receives said command packet from one of said plurality of host computers.
- 13. The storage server of claim 1, wherein said first storage processor receives said command packet from one of said plurality of storage processors.
- 14. The storage server of claim 1, wherein said microengine uses a command handle in said command packet to perform a tree search to configure said path.
- 15. The storage server of claim 1, wherein said first storage processor passes a handle to said second storage processor.
- 16. The storage server of claim 1, wherein said first storage processor and said second storage processor are a single storage processor.
- 17. The storage server of claim 1, wherein said microengine routes said data packet according to a routing tag therein.
- 18. The storage server of claim 1, further comprising:
a virtual server controller configured to program, via a configuration command, a lookup table in one of said plurality of storage processors, wherein said lookup table associates one or more virtual logical unit numbers (VLUNs) with one or more physical logical unit numbers (PLUNs).
- 19. A method of routing data in a storage area network connecting a storage server between a plurality of host computers and a plurality of storage devices, said storage server having a plurality of storage processors and a switching circuit, said plurality of storage processors receiving a plurality of command packets and a plurality of data packets, said method comprising:
configuring a path between a first storage processor and a second storage processor of said plurality of storage processors, via said switching circuit, in accordance with a command packet of said plurality of command packets; and routing a data packet of said plurality of data packets over said path, prior to completely receiving said data packet, between said first storage processor and said second storage processor via said switching circuit.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 60/268,694, filed Feb. 13, 2001 and titled “Virtual Storage Systems”, which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60268694 |
Feb 2001 |
US |