Method and apparatus for transferring information between different streaming protocols at wire speed
First Claim
Patent Images
1. A computing device comprising:
- protocol interface hardware logic configured to communicate data between an external host and an external storage device and is separate from a processor having a classifier coupled to the protocol interface hardware logic and a memory, wherein the protocol interface hardware logic is configured to;
receive, from an external host, data in a first streaming protocol,inspect a frame of the received data in the first streaming protocol, determine a type of action for the received data, and insert a frame type code corresponding to the determined type of action into a header field of a frame of a second streaming protocol encapsulating at least a portion of the received data; and
the processor having the classifier coupled to the protocol interface hardware logic and the memory and configured to execute programmed instructions stored in the memory to;
receive, from a protocol interface hardware logic, the data encapsulated in the second streaming protocol, and direct the encapsulated data to the external storage device wherein the classifier is configured to read the frame type code in the header field of the frame of the second streaming protocol and assign the frame of the second streaming protocol to another processor based upon the frame type code.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a mechanism for fast routing of data in a Storage Area Network. A protocol interface module (PIM) interfaces with outside networks and the storage devices, such as over fiber channel (FC). The PIM encapsulates received data into a streaming protocol, enabling storage processors to direct data to/from the appropriate physical disk in a similar manner to the directing of network messages over the Internet or other network.
125 Citations
34 Claims
-
1. A computing device comprising:
-
protocol interface hardware logic configured to communicate data between an external host and an external storage device and is separate from a processor having a classifier coupled to the protocol interface hardware logic and a memory, wherein the protocol interface hardware logic is configured to; receive, from an external host, data in a first streaming protocol, inspect a frame of the received data in the first streaming protocol, determine a type of action for the received data, and insert a frame type code corresponding to the determined type of action into a header field of a frame of a second streaming protocol encapsulating at least a portion of the received data; and the processor having the classifier coupled to the protocol interface hardware logic and the memory and configured to execute programmed instructions stored in the memory to; receive, from a protocol interface hardware logic, the data encapsulated in the second streaming protocol, and direct the encapsulated data to the external storage device wherein the classifier is configured to read the frame type code in the header field of the frame of the second streaming protocol and assign the frame of the second streaming protocol to another processor based upon the frame type code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method comprising:
-
receiving, by a protocol interface hardware logic disposed in a communication path between an external host and an external storage device and that is separate from a processor having a classifier coupled to the protocol interface hardware logic and a memory, data frames from the external host in a first streaming protocol; inspecting, by the protocol interface hardware logic, a frame received in the first streaming protocol; determining, by the protocol interface hardware logic, a type of action for data of the received frame; encapsulating, by the protocol interface hardware logic, at least a portion of the data of the received frame into a second streaming protocol; inserting, by the protocol interface hardware logic, a frame type code corresponding to the determined type of action into a header field of a frame of the second streaming protocol encapsulating the portion of the received data; receiving, by the processor, the frame of the second streaming protocol, wherein the processor includes one or more other processors; reading, by the processor, the frame type code in the header field of the frame of the second streaming protocol; and assigning, by the processor, the frame of the second streaming protocol to one of the other processors based upon the frame type code to thereby direct the data received from the protocol interface module in the second streaming protocol to the external storage device. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A non-transitory machine-readable medium having stored thereon instructions for performing a method, the instructions comprising machine-executable code that, when executed by one or more machines, causes the one or more machines to:
-
receive a frame of a second streaming protocol, wherein protocol interface hardware logic disposed in a communication path between an external host and an external storage device and that is separate from a processor having a classifier coupled to the protocol interface hardware logic and a memory received data frames from an external host in a first streaming protocol, inspected a frame received in the first streaming protocol, determined a type of action for data of the received frame, encapsulated at least a portion of the data of the received frame into the second streaming protocol, and inserted a frame type code corresponding to the determined type of action into a header field of a frame of the second streaming protocol encapsulating the portion of the received data; read the frame type code in the header field of the frame of the second streaming protocol; and assign the frame of the second streaming protocol to one of one or more processors based upon the frame type code to thereby direct the data received in the second streaming protocol to the storage device. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
-
Specification