IP Library Granted Patent US 7,668,984
Granted Patent B2
US 7,668,984 · App. 11/621,632 · Granted Feb 23, 2010

Low latency send queues in I/O adapter hardware

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,668,984
App. No.
11/621,632
Granted
Feb 23, 2010
Kind
B2
Abstract

Send queues provided in an InfiniBand hardware adapter receive a single transmission from a connected computer system which includes work request information, address vector, and message data. This information is sufficient for the adapter to generate packet header information and to send the requested message, thereby providing a low latency sending mechanism. The system stores completion information in tables each dedicated to one of the send queues.

Claims (31)

1. A method of sending data packets over a network fabric comprising the steps of:

a computer system generating and providing a plurality of data messages to be sent over the network fabric and individual host packets each comprising one of said plurality of data messages and each sufficient to build a corresponding packet header compatible with the network fabric;

receiving at least one of the plurality of data messages;

storing the at least one of the plurality of data messages to be sent over the network fabric;

sending said one of said plurality of data messages with its corresponding packet header over the network fabric;

providing a plurality of records each for storing one of said individual host packets;

sizing the records equal to an amount of data in a cache line of the computer system;

the computer system generating a host packet including an extended data message larger than each of said plurality of records; and

assigning at least one additional record to the host packet including the extended data message for storing said extended data message.

2. The method according to claim 1 , further comprising the step of:

inserting work queue element (WQE) data and address vector data into said host packets.

3. The method according to claim 2 , further comprising the step of inserting in the WQE data a request for a completion queue element (CQE) for indicating which of said plurality of data messages have been sent.

4. The method according to claim 3 , further comprising the step of storing a CQE received in response to said request for a CQE.

5. The method according to claim 2 , further comprising the step of inserting port selection data into the WQE.

6. A computer system for sending data packets over a network fabric, the computer system comprising:

a memory;

an adaptor in communications with the memory;

a processor in communications with the memory;

wherein the computer system is capable of performing a method comprising:

generating and providing a plurality of data messages to be sent over the network fabric and individual host packets each comprising one of said plurality of data messages and each sufficient to build a corresponding packet header compatible with the network fabric;

receiving at least one of the plurality of data messages;

storing the at least one of the plurality of data messages to be sent over the network fabric;

sending said one of said plurality of data messages with its corresponding packet header over the network fabric;

providing a plurality of records each for storing one of said individual host packets;

sizing the records equal to an amount of data in a cache line of the computer system;

generating a host packet including an extended data message larger than each of said plurality of records; and

assigning at least one additional record to the host packet including the extended data message for storing said extended data message.

7. The computer system according to claim 6 , further comprising inserting work queue element (WQE) data and address vector data into said host packets.

8. The computer system according to claim 7 , further comprising inserting in the WQE data a request for a completion queue element (CQE) for indicating which of said plurality of data messages have been sent.

9. The computer system according to claim 8 , further comprising storing a CQE received in response to said request for a CQE.

10. The computer system according to claim 7 , further comprising inserting port selection data into the WQE.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2007
From: GREGG, THOMAS A.; CRADDOCK, DAVID; SCHLIPF, THOMAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 018738/0050 →
Continuity (1)
Related Publication 20080168194A1 · Jul 10, 2008