Legal claims defining the scope of protection, as filed with the USPTO.
1. A method in an embedded host channel adapter, the method comprising: first receiving, by a transport layer module, service level-virtual lane mapping information; second receiving, by the transport layer module from a link layer module, virtual lane priority information and virtual lane flow control information for each of a plurality of virtual lanes; third receiving, by the transport layer module, work notifications for servicing of work descriptors for queue pairs, each queue pair having an identifiable service level; and selecting, by the transport layer module, one of the virtual lanes for servicing at least one of the work descriptors assigned to the selected one virtual lane, based on the corresponding virtual lane priority information and the corresponding virtual lane flow control information.
2. The method of claim 1 , wherein the second receiving step includes receiving, for an identified path of one of the virtual lanes, corresponding static rate control information that specifies a static rate of injection for the corresponding path, the selecting step including selecting the one virtual lane for servicing based on the corresponding static rate control information.
3. The method of claim 1 , further comprising generating, by the transport layer module, a selected number of transmit packet entries for the one virtual lane based on the virtual lane priority information and the virtual lane flow control information, the selected number of transmit packet entries output, according to a first-in first-out (FIFO) sequence, into a buffer configured for storing the transmit packet entries for the plurality of virtual lanes, each transmit packet entry including transport layer information for the corresponding transmit packet.
4. The method of claim 3 , further comprising: retrieving by the link layer module one of the stored transmit packet entries stored in the buffer according to the FIFO sequence; and generating and outputting by the link layer module a transmit packet based on the one stored transmit packet entry retrieved from the buffer.
5. The method of claim 3 , wherein the third receiving step includes setting a bit within a queue pair bitmap, specifying an existence of the corresponding queue pair for an assigned virtual lane according to the specified service level and the service level-virtual lane mapping information, the generating step including accessing the work descriptors for the one selected virtual lane based on the identifying the respective bits set in the queue pair bitmap for the corresponding one selected virtual lane.
6. The method of claim 3 , wherein the generating step includes inserting, in each transmit packet entry, a corresponding transport layer header, a pointer identifying a location of corresponding payload data in system memory, and at least a portion of a corresponding local route header for the transmit packet entry and including virtual lane information and service level information.
7. An embedded host channel adapter comprising: a transport layer buffer configured for storing transmit packet entries for virtual lanes serviced by the embedded host channel adapter; a transport layer module configured for selecting one of the virtual lanes for servicing based on supplied virtual lane priority information and virtual lane flow control information for each of the virtual lanes, the transport layer module configured for generating and storing in the transport layer buffer the transmit packet entries for the one virtual lane based on service level-virtual lane mapping information and received work notifications for servicing work descriptors for queue pairs having service levels mapped to the selected one virtual lane; and a link layer module configured for supplying the virtual lane priority information and the virtual lane flow control information, the link layer module configured for constructing transmit packets to be transmitted based on retrieval thereof from the transport layer buffer.
8. The embedded host channel adapter of claim 7 , the link layer module is configured for supplying, to the transport layer module, static rate control information for an identified path of a corresponding virtual lane, the transport layer module configured for selecting the one virtual lane further based on the corresponding static rate control information.
9. The embedded host channel adapter of claim 7 , wherein: the transport layer module is configured for generating a selected number of the transmit packet entries for the one virtual lane based on the virtual lane priority information and the virtual lane flow control information; and the transport layer module is configured for storing the transmit packet entries in the transport layer buffer according to a first-in first-out (FIFO) sequence.
10. The embedded host channel adapter of claim 9 , wherein the link layer module is configured for retrieving each stored transmit packet entry from the transport layer buffer, for generation of a corresponding transmit packet, according to the FIFO sequence.
11. The embedded host channel adapter of claim 9 , further comprising a queue pair bitmap configured for identifying queue pairs relative to the virtual lanes, wherein: the transport layer module is configured for setting a bit within the queue pair bitmap in response to receiving a work notification for servicing of a work descriptor for a corresponding queue pair, and based on the corresponding service level specified for the work descriptor and the corresponding service level-virtual lane mapping information; and the transport layer module is configured for accessing the work descriptors for the one selected virtual lane based on identifying the respective bits set in the queue pair bitmap for the corresponding one selected virtual lane.
12. The embedded host channel adapter of claim 9 , wherein the transport layer module generates, for each transmit packet entry, a corresponding transport layer header, a pointer identifying a location of corresponding payload data in system memory, and at least a portion of a corresponding local router header for the transmit packet entry including virtual lane information and service level information.
Unknown
July 11, 2006
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.