US2007220183A1PendingUtilityA1

Receive Queue Descriptor Pool

Assignee: MELLANOX TECHNOLOGIES LTDPriority: Jul 23, 2002Filed: May 17, 2007Published: Sep 20, 2007
Est. expiryJul 23, 2022(expired)· nominal 20-yr term from priority
H04L 49/90H04L 49/9031H04L 49/901H04L 49/9047
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method for network communication includes providing a pool of descriptors to be shared among a plurality of transport service instances used in communicating over a network, each of the descriptors in the pool including a scatter list indicating a buffer that is available in a local memory. When a message containing data to be pushed to the local memory is received over the network on one of transport service instances, one of the descriptors is read from the pool. The data contained in the message are written to the buffer indicated by the scatter list included in the one of the descriptors.

Claims

exact text as granted — not AI-modified
1 . A method for network communication, comprising: 
 providing a pool of descriptors to be shared among a plurality of transport service instances used in communicating over a network, each of the descriptors in the pool comprising a scatter list indicating a buffer that is available in a local memory;    receiving a message over the network on one of transport service instances, the message comprising data to be pushed to the local memory; and    responsive to receiving the message, reading one of the descriptors from the pool, and writing the data comprised in the message to the buffer indicated by the scatter list comprised in the one of the descriptors.    
   
   
       2 . A method according to  claim 1 , wherein providing the pool of descriptors comprises writing the descriptors to the local memory using a host processor, and wherein receiving the message comprises receiving the message at a network adapter, which reads the one of the descriptors and writes the data to the buffer for processing by the host processor.  
   
   
       3 . A method according to  claim 2 , wherein the network comprises a switch fabric, and wherein the network adapter comprises a channel adapter.  
   
   
       4 . A method according to  claim 2 , wherein writing the data comprises, upon completion of writing the data to the buffer, submitting a completion report from the channel adapter to the host processor, the completion report including a pointer to the scatter list for use by the host processor in processing the data.  
   
   
       5 . A method according to  claim 1 , wherein providing the pool of descriptors comprises providing multiple pools of descriptors, each belonging to a respective group of the transport service instances, and wherein reading the one of the descriptors comprises determining the group to which the one of the transport service instances belongs, and reading the one of the descriptors from the pool belonging to the group.  
   
   
       6 . A method according to  claim 1 , wherein providing the pool of descriptors comprises writing the descriptors to a circular list having a head and a tail, and wherein reading the one of the descriptors comprises selecting the one of the descriptors from the head of the list.  
   
   
       7 . A method according to  claim 1 , wherein receiving the message comprises receiving one or more packets having payloads comprising the data.  
   
   
       8 . A network adapter, comprising: 
 a network interface, adapted to receive a message over a network on one of a plurality of transport service instances, the message comprising data to be pushed to a local memory;    a host interface, adapted to be coupled to a host processor and to the local memory associated therewith; and    message processing circuitry, coupled between the network interface and the host interface, which circuitry is adapted, responsive to receiving the message at the network interface, to read a descriptor from a pool of descriptors that is shared among the plurality of transport service instances, each of the descriptors in the pool comprising a scatter list indicating a buffer that is available in the local memory, and to write the data comprised in the message via the host interface to the buffer indicated by the scatter list comprised in the descriptor.    
   
   
       9 . An adapter according to  claim 8 , wherein the descriptors in the pool are prepared in the local memory by the host processor, and wherein the message processing circuitry is adapted to read the descriptors from the pool via the host interface.  
   
   
       10 . An adapter according to  claim 9 , wherein the message processing circuitry is adapted, upon completion of writing the data to the buffer, to submit a completion report via the host interface to the host processor, the completion report including a pointer to the scatter list for use by the host processor in processing the data.  
   
   
       11 . An adapter according to  claim 8 , wherein the network comprises a switch fabric, and wherein the network adapter comprises a channel adapter.  
   
   
       12 . An adapter according to  claim 8 , wherein the pool of descriptors is one of multiple pools of descriptors, each belonging to a respective group of the transport service instances, and wherein the message processing circuitry is adapted to determine the group to which the one of the transport service instances belongs, and to read the descriptor from the pool belonging to the group.  
   
   
       13 . An adapter according to  claim 8 , wherein the descriptors are entered in the pool in a circular list having a head and a tail, and wherein the message processing circuitry is adapted to read the descriptor from the head of the list.  
   
   
       14 . An adapter according to  claim 8 , wherein the message comprises one or more packets having payloads comprising the data.

Join the waitlist — get patent alerts

Track US2007220183A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.