Patent ID: 8798085

Claim:
A method comprising: receiving an indication of receipt of a network protocol unit by a network component associated with a host system; selectively requesting storage of the received network protocol unit into a first buffer in response to a determination that a tag in the received network protocol unit permits access to a memory device, the first buffer being in the host system and also being a contiguous, word aligned region to store as a contiguous structure multiple direct data placement (DDP) tagged messages; and selectively copying, in a single copy operation, to a second buffer in the host system network protocol units of at least one group that are stored as the contiguous structure in the first buffer, the single copy operation being in response to one or more descriptors that instruct a data mover to perform the single copy operation, wherein the at least one group comprises DDP segments of portions of at least two messages stored in the first buffer, the selectively copying being to permit a driver to process the at least one group, processing of the at least one group by the driver being requested by a single interrupt, the network component being to determine whether all of the DDP segments comprised in the at least one group have been received by the network component and also being to inform the host system that all of the DDP segments comprised in the at least one group have been received by the network component, the network component also to create and store a context for the at least one group, the context recording a starting address of the first buffer and an overall length of the contiguous structure, the network component including scoreboard logic to use the context in a scoreboarding process that tracks arriving DDP segments using a block list array to determine whether all of the DDP segments comprised in the at least one group have been received, in which, if a DDP segment gap exists between received DDP segments, the DDP segment gap is to be indicated by a corresponding gap between entries in the block list array.