Claims
- 1. A virtualization device comprising:
a host bus adaptor; frame memory coupled to said HBA to store frames received by and for transmission by said HBA; a central processor unit (CPU); a bus coupling said CPU and said frame memory to allow said CPU to access said frame memory; CPU memory; and a virtualization translation table containing physical storage unit addressing information related to virtualized storage units, wherein said HBA utilizes said translation table to determine to if a received frame is directed to a virtualized storage unit with addressing information stored in said translation table and utilizes said physical storage unit addressing information related to said virtualized storage unit for translating said received frame for transmission to said physical storage unit; and wherein said CPU is programmed to provide entries containing physical storage unit addressing information into said virtualization table if a frame received by said HBA and directed to a virtualized storage unit does not have physical storage unit addressing information stored in said virtualization table.
- 2. The device of claim 1, wherein said translation table includes a first portion coupled to said HBA and said CPU for access by said HBA and said CPU and a second portion coupled to said CPU for access by said CPU.
- 3. The device of claim 2, wherein said frame memory and said translation table first portion are contained in a common memory.
- 4. The device of claim 2, wherein said translation table first portion is contained in said HBA.
- 5. The device of claim 1, further comprising:
a second HBA; and second frame memory coupled to said second HBA to store frames received by and for transmission by said HBA, wherein said bus is further coupled to said second frame memory to allow said CPU to access said second frame memory, wherein said second HBA utilizes said translation table to determine to if a received frame is directed to a virtualized storage unit with addressing information stored in said translation table and utilizes said physical storage unit addressing information related to said virtualized storage unit for translating said received frame for transmission to said physical storage unit; and wherein said CPU is programmed to provide entries containing physical storage unit addressing information into said virtualization table if a frame received by said second HBA and directed to a virtualized storage unit does not have physical storage unit addressing information stored in said virtualization table.
- 6. The device of claim 5, wherein said translation table includes a third portion coupled to said second HBA and said CPU for access by said second HBA and said CPU.
- 7. The device of claim 6, wherein said second frame memory and said translation table third portion are contained in a common memory.
- 8. The device of claim 7, wherein said translation table third portion is contained in said second HBA.
- 9. A switched fabric comprising:
a switch; and a virtualization device coupled to said switch, said virtualization device including:
a host bus adaptor; frame memory coupled to said HBA to store frames received by and for transmission by said HBA; a central processor unit (CPU); a bus coupling said CPU and said frame memory to allow said CPU to access said frame memory; CPU memory; and a virtualization translation table containing physical storage unit addressing information related to virtualized storage units, wherein said HBA utilizes said translation table to determine to if a received frame is directed to a virtualized storage unit with addressing information stored in said translation table and utilizes said physical storage unit addressing information related to said virtualized storage unit for translating said received frame for transmission to said physical storage unit; and wherein said CPU is programmed to provide entries containing physical storage unit addressing information into said virtualization table if a frame received by said HBA and directed to a virtualized storage unit does not have physical storage unit addressing information stored in said virtualization table.
- 10. The fabric of claim 9, wherein said translation table includes a first portion coupled to said HBA and said CPU for access by said HBA and said CPU and a second portion coupled to said CPU for access by said CPU.
- 11. The fabric of claim 10, wherein said frame memory and said translation table first portion are contained in a common memory.
- 12. The fabric of claim 10, wherein said translation table first portion is contained in said HBA.
- 13. The fabric of claim 9, said virtualization device further including:
a second HBA; and second frame memory coupled to said second HBA to store frames received by and for transmission by said HBA, wherein said bus is further coupled to said second frame memory to allow said CPU to access said second frame memory, wherein said second HBA utilizes said translation table to determine to if a received frame is directed to a virtualized storage unit with addressing information stored in said translation table and utilizes said physical storage unit addressing information related to said virtualized storage unit for translating said received frame for transmission to said physical storage unit; and wherein said CPU is programmed to provide entries containing physical storage unit addressing information into said virtualization table if a frame received by said second HBA and directed to a virtualized storage unit does not have physical storage unit addressing information stored in said virtualization table.
- 14. The fabric of claim 13, wherein said translation table includes a third portion coupled to said second HBA and said CPU for access by said second HBA and said CPU.
- 15. The fabric of claim 14, wherein said second frame memory and said translation table third portion are contained in a common memory.
- 16. The fabric of claim 15, wherein said translation table third portion is contained in said second HBA.
- 17. A network comprising:
a host; a physical storage unit; a switch coupled to said host and said physical storage unit; and a virtualization device coupled to said switch, said virtualization device including:
a host bus adaptor; frame memory coupled to said HBA to store frames received by and for transmission by said HBA; a central processor unit (CPU); a bus coupling said CPU and said frame memory to allow said CPU to access said frame memory; CPU memory; and a virtualization translation table containing physical storage unit addressing information related to virtualized storage units, wherein said HBA utilizes said translation table to determine to if a received frame is directed to a virtualized storage unit with addressing information stored in said translation table and utilizes said physical storage unit addressing information related to said virtualized storage unit for translating said received frame for transmission to said physical storage unit; and wherein said CPU is programmed to provide entries containing physical storage unit addressing information into said virtualization table if a frame received by said HBA and directed to a virtualized storage unit does not have physical storage unit addressing information stored in said virtualization table.
- 18. The network of claim 17, wherein said translation table includes a first portion coupled to said HBA and said CPU for access by said HBA and said CPU and a second portion coupled to said CPU for access by said CPU.
- 19. The network of claim 18, wherein said frame memory and said translation table first portion are contained in a common memory.
- 20. The network of claim 18, wherein said translation table first portion is contained in said HBA.
- 21. The network of claim 17, said virtualization device further including:
a second HBA; and second frame memory coupled to said second HBA to store frames received by and for transmission by said HBA, wherein said bus is further coupled to said second frame memory to allow said CPU to access said second frame memory, wherein said second HBA utilizes said translation table to determine to if a received frame is directed to a virtualized storage unit with addressing information stored in said translation table and utilizes said physical storage unit addressing information related to said virtualized storage unit for translating said received frame for transmission to said physical storage unit; and wherein said CPU is programmed to provide entries containing physical storage unit addressing information into said virtualization table if a frame received by said second HBA and directed to a virtualized storage unit does not have physical storage unit addressing information stored in said virtualization table.
- 22. The network of claim 21, wherein said translation table includes a third portion coupled to said second HBA and said CPU for access by said second HBA and said CPU.
- 23. The network of claim 22, wherein said second frame memory and said translation table third portion are contained in a common memory.
- 24. The network of claim 23, wherein said translation table third portion is contained in said second HBA.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to and incorporates by reference, U.S. patent application Ser. No. 10/______, entitled “Method And Apparatus For Virtualizing Storage Devices Inside A Storage Area Network Fabric,” by Naveen Maveli, Richard Walter, Cirillo Lino Costantino, Subhojit Roy, Carlos Alonso, Mike Pong, Shahe H. Krakirian, Subbarao Arumilli, Vincent Isip, Daniel Chung, and Steve Elstad, filed concurrently herewith, and Ser. No. 10/______, entitled “Hardware-Based Translating Virtualization Switch,” by Shahe H. Krakirian, Richard Walter, Subbarao Arumilli, Cirillo Lino Costantino, Vincent Isip, Subhojit Roy, Naveen Maveli, Daniel Chung, and Steve Elstad, filed concurrently herewith, such applications hereby being incorporated by reference.