Method and system for receiving commands using a scoreboard on an infiniband host channel adaptor
First Claim
1. A method for processing commands on a host channel adapter, the method comprising:
- receiving, by the host channel adapter, data in a command from a host connected to the host channel adapter, wherein the command comprises an instruction, an identification of packet data, and a length field;
extracting, by the host channel adapter, a length of the command from the length field in the data;
generating a scoreboard mask based on the length, wherein the scoreboard mask comprises unused bits in the scoreboard preset; and
setting, with each portion of the data received, a bit in a scoreboard to identify the portion of data received;
determining that a size of the data received for the command matches the length using the scoreboard by;
performing a bitwise “
or”
operation on the scoreboard and the scoreboard mask to obtain a result, anddetermining that all bits of the result are set;
issuing, by the host channel adapter, a kick on the host channel adapter when the size of the data received for the command matches the length;
executing, by the host channel adapter and in response to the kick, the instruction on a pipeline to initiate sending the packet data; and
sending, by the host channel adapter, the packet data on a network.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for processing commands on a host channel adapter includes a host channel adapter receiving data from a host connected to the host channel adapter. The command includes an instruction, identification of packet data, and a length field. The host channel adapter extracts a length of the command from the length field, generates a scoreboard mask based on the length, where the scoreboard mask includes unused bits in the scoreboard preset, and sets, with each portion of the data received, a corresponding bit in a scoreboard. The host channel adapter further determines that the size of the data received for the command matches the length using the scoreboard, issues a kick on the host channel adapter when a size of the data received for the command matches the length, executes, in response to the kick, the instruction on a pipeline, and sends the packet data on a network.
39 Citations
19 Claims
-
1. A method for processing commands on a host channel adapter, the method comprising:
-
receiving, by the host channel adapter, data in a command from a host connected to the host channel adapter, wherein the command comprises an instruction, an identification of packet data, and a length field; extracting, by the host channel adapter, a length of the command from the length field in the data; generating a scoreboard mask based on the length, wherein the scoreboard mask comprises unused bits in the scoreboard preset; and setting, with each portion of the data received, a bit in a scoreboard to identify the portion of data received; determining that a size of the data received for the command matches the length using the scoreboard by; performing a bitwise “
or”
operation on the scoreboard and the scoreboard mask to obtain a result, anddetermining that all bits of the result are set; issuing, by the host channel adapter, a kick on the host channel adapter when the size of the data received for the command matches the length; executing, by the host channel adapter and in response to the kick, the instruction on a pipeline to initiate sending the packet data; and sending, by the host channel adapter, the packet data on a network. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A host channel adapter comprising:
-
a physical collect buffer comprising; a payload buffer configured to store a payload of a command; a header buffer configured to store a header of the command; a scoreboard field configured to store a scoreboard for tracking which portion of the command is received; and a scoreboard mask field configured to store a scoreboard mask for masking bits of the scoreboard based on a length of the command; a collect buffer controller operatively connected to the physical collect buffer and configured to; receive data in a command from a host connected to the host channel adapter, wherein the command comprises an instruction, an identification of packet data, and a length field; extract a length of the command from the length field in the data; generate the scoreboard mask based on the length; store the data in the physical collect buffer; set, with each portion of the data received, a bit of the scoreboard to identify the portion of data received; and issue a kick on the host channel adapter when the scoreboard and the scoreboard mask indicate that all command data of the command is received; and a hardware pipeline configured to; execute, in response to the kick, the instruction to initiate sending the packet data. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An integrated circuit comprising:
-
a physical collect buffer comprising; a payload buffer; and a header buffer; and a collect buffer controller configured to; receive data in a command from a host connected to the host channel adapter, wherein the command comprises an instruction, an identification of packet data, and a length field; extract a length of the command from the length field in the data; generate a scoreboard mask based on the length, wherein the scoreboard mask comprises unused bits in the scoreboard preset; store the data in the physical collect buffer; set, with each portion of the data received, a bit in a scoreboard to identify the portion of data received; determine that a size of the data received for the command matches the length using the scoreboard by; performing a bitwise “
or”
operation on the scoreboard and the scoreboard mask to obtain a result, anddetermining that all bits of the result are set; and issue a kick on the host channel adapter when the size of the data received for the command matches the length, wherein, in response to the kick, the instruction is executed and sent on the network. - View Dependent Claims (17, 18, 19)
-
Specification