Hardware-based translating virtualization switch
First Claim
1. A virtualization device for use with at least one host connected to a first fabric and at least one physical storage unit connected to either the first fabric or a second fabric, the device comprising:
- receive port logic for receiving frames;
a lookup table containing physical storage unit addressing information related to virtualized storage units, said physical storage unit addressing information including fabric designation information;
frame information extraction logic coupled to said receive port logic to extract frame addressing information;
staging memory coupled to said receive port logic for temporarily holding a received frame;
lookup logic coupled to said lookup table and said frame information extraction logic and using said extracted frame addressing information to retrieve related physical storage unit addressing information;
substitution logic coupled to said lookup logic and said staging memory to retrieve said received frame and substitute said related physical storage unit addressing information into said received frame;
first transmit port logic for coupling to the first fabric to transmit said substituted frame into the first fabric;
second transmit port logic for coupling to the second fabric to transmit said substituted frame into the second fabric; and
routing logic coupled to said substitution logic, said lookup logic and said first and second transmit port logic to route said substituted frame to said first or second transmit port logic based on the fabric designation information in said related physical storage unit addressing information.
7 Assignments
0 Petitions
Accused Products
Abstract
Placing virtualization agents in the switches which comprise the SAN fabric. Higher level virtualization management functions are provided in an external management server. Conventional HBAs can be utilized in the hosts and storage units. In a first embodiment, a series of HBAs are provided in the switch unit. The HBAs connect to bridge chips and memory controllers to place the frame information in dedicated memory. Routine translation of known destinations is done by the HBA, based on a virtualization table provided by a virtualization CPU. If a frame is not in the table, it is provided to the dedicated RAM. Analysis and manipulation of the frame headers is then done by the CPU, with a new entry being made in the HBA table and the modified frames then redirected by the HBA into the fabric. This can be done in either a standalone switch environment or in combination with other switching components located in a director level switch. In an alternative embodiment, specialized hardware scans incoming frames and detects the virtualized frames which need to be redirected. The redirection is then handled by translation of the frame header information by hardware table-based logic and the translated frames are then returned to the fabric. Handling of frames not in the table and setup of hardware tables is done by an onboard CPU.
-
Citations
30 Claims
-
1. A virtualization device for use with at least one host connected to a first fabric and at least one physical storage unit connected to either the first fabric or a second fabric, the device comprising:
-
receive port logic for receiving frames; a lookup table containing physical storage unit addressing information related to virtualized storage units, said physical storage unit addressing information including fabric designation information; frame information extraction logic coupled to said receive port logic to extract frame addressing information; staging memory coupled to said receive port logic for temporarily holding a received frame; lookup logic coupled to said lookup table and said frame information extraction logic and using said extracted frame addressing information to retrieve related physical storage unit addressing information; substitution logic coupled to said lookup logic and said staging memory to retrieve said received frame and substitute said related physical storage unit addressing information into said received frame; first transmit port logic for coupling to the first fabric to transmit said substituted frame into the first fabric; second transmit port logic for coupling to the second fabric to transmit said substituted frame into the second fabric; and routing logic coupled to said substitution logic, said lookup logic and said first and second transmit port logic to route said substituted frame to said first or second transmit port logic based on the fabric designation information in said related physical storage unit addressing information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A network comprising;
-
a first fabric; a second fabric;
;at least one host connected to said first fabric; at least one physical storage unit connected to either said first fabric or said second fabric; a virtualization device connected to said first fabric and said second fabric and coupled to said at least one host and said at least one physical storage unit, said device including; receive port logic for receiving frames; a lookup table containing physical storage unit addressing information related to virtualized storage units, said physical storage unit addressing information including fabric designation information; frame information extraction logic coupled to said receive port logic to extract frame addressing information; staging memory coupled to said receive port logic for temporarily holding a received frame; lookup logic coupled to said lookup table and said frame information extraction logic and using said extracted frame addressing information to retrieve related physical storage unit addressing information; substitution logic coupled to said lookup logic and said staging memory to retrieve said received frame and substitute said related physical storage unit addressing information into said received frame; and first transmit port logic connected to said first fabric to transmit said substituted frame into said first fabric; second transmit port logic connected to said second fabric to transmit said substituted frame into said second fabric; and routing logic coupled to said substitution logic, said lookup, logic and said first and second transmit port logic to route said substituted frame to said first or second transmit port logic based on the fabric designation information in said related physical storage unit addressing information. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for operating a virtualization device for use with at least one host connected to a first fabric and at least one physical storage unit connected to either the first fabric or a second fabric, the method comprising the steps of:
-
receiving frames at a receive port; providing a lookup table containing physical storage unit addressing information related to virtualized storage units, said physical storage unit addressing information including fabric designation information; extracting frame addressing information from a received frame; temporarily holding a received frame; using said extracted frame addressing information to retrieve related physical storage unit addressing information from the lookup table; retrieving said received flame and substituting said related physical storage unit addressing information into said received frame; routing said substituted frame to either a first or a second transmit port based on the fabric designation information in said related physical storage unit addressing information, the first transmit port connected to the first fabric and the second transmit port connected to the second fabric; and transmitting said substituted frame from the appropriate transmit port. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A virtualization device for use with at least one host and at least one physical storage unit, the device comprising:
-
receive port logic for receiving frames; a lookup table containing physical storage unit addressing information related to virtualized storage units; frame information extraction logic coupled to said receive port logic to extract frame addressing information; staging memory coupled to said receive port logic for temporarily holding a received frame; lookup logic coupled to said lookup table and said frame information extraction logic and using said extracted frame addressing information to retrieve related physical storage unit addressing information; substitution logic coupled to said lookup logic and said staging memory to retrieve said received frame and substitute said related physical storage unit addressing information into said received frame; transmit port logic coupled to said substitution logic to transmit said substituted frame; a central processing unit (CPU); CPU memory; a bus coupled to said CPU, said CPU memory and said lookup table; and direct transmission logic coupled to said CPU memory, said staging memory and said substitution logic to retrieve a frame from said CPU memory and provide it to said substitution logic, wherein said substitution logic substitutes related physical storage unit addressing information into the frame received from said direct transmission logic. - View Dependent Claims (25)
-
-
26. A switched fabric for use with at least one host and at least one physical storage unit, the fabric comprising:
-
a switch for coupling to the at least one host and the at least one physical storage unit; and a virtualization device coupled to said switch and for coupling to the at least one host and the at least one physical storage unit, said device including; receive port logic for receiving frames; a lookup table containing physical storage unit addressing information related to virtualized storage units; frame information extraction logic coupled to said receive port logic to extract frame addressing information; staging memory coupled to said receive port logic for temporarily holding a received frame; lookup logic coupled to said lookup table and said frame information extraction logic and using said extracted frame addressing information to retrieve related physical storage unit addressing information; substitution logic coupled to said lookup logic and said staging memory to retrieve said received frame and substitute said related physical storage unit addressing information into said received frame; transmit port logic coupled to said substitution logic to transmit said substituted frame; a central processing unit (CPU); CPU memory; a bus coupled to said CPU, said CPU memory and said lookup table; and direct transmission logic coupled to said CPU memory, said staging memory and said substitution logic to retrieve a frame from said CPU memory and provide it to said substitution logic, wherein said substitution logic substitutes related physical storage unit addressing information into the frame received from said direct transmission logic. - View Dependent Claims (27)
-
-
28. A network comprising:
-
at least one host; at least one physical storage unit; a switch coupled to said at least one host and said at least one physical storage unit; and a virtualization device coupled to said switch, said at least one host and said at least one physical storage unit, said device including; receive port logic for receiving frames; a lookup table containing physical storage unit addressing information related to virtualized storage units; frame information extraction logic coupled to said receive port logic to extract frame addressing information; staging memory coupled to said receive port logic for temporarily holding a received frame; lookup logic coupled to said lookup table and said frame information extraction logic and using said extracted frame addressing information to retrieve related physical storage unit addressing information; substitution logic coupled to said lookup logic and said staging memory to retrieve said received frame and substitute said related physical storage unit addressing information into said received frame; transmit port logic coupled to said substitution logic to transmit said substituted frame; a central processing unit (CPU); CPU memory; and a bus coupled to said CPU, said CPU memory and said lookup table; and direct transmission logic coupled to said CPU memory, said staging memory and said substitution logic to retrieve a frame from said CPU memory and provide it to said substitution logic, wherein said substitution logic substitutes related physical storage unit addressing information into the frame received from said direct transmission logic. - View Dependent Claims (29)
-
-
30. A method for operating a virtualization device for use with at least one host and at least one physical storage unit, the method comprising the steps of:
-
receiving frames at a port; providing a lookup table containing physical storage unit addressing information related to virtualized storage units; extracting frame addressing information from a received frame; temporarily holding a received frame; using said extracted frame addressing information to retrieve related physical storage unit addressing information from the lookup table; retrieving said received frame and substituting said related physical storage unit addressing information into said received frame; transmitting said substituted frame from the port; and retrieving a frame from CPU memory and providing it to said substituting step; and substituting physical storage unit addressing information into the frame retrieved from the CPU memory prior to transmitting the frame from the port.
-
Specification